summaryrefslogtreecommitdiff
path: root/java/client/src
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2008-10-24 15:43:03 +0000
committerMartin Ritchie <ritchiem@apache.org>2008-10-24 15:43:03 +0000
commit41a0c0dd0d0895afdaeb7054c8716dc4feb892dd (patch)
treea381a6b5375e45d94243618d60289e471a8f529e /java/client/src
parent19d254d9342281f0128f25244697edf4e575d2ec (diff)
downloadqpid-python-41a0c0dd0d0895afdaeb7054c8716dc4feb892dd.tar.gz
QPID-1394 : Registration of JCAProvider is incorrect in client and broker SASL configurations
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707658 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/src')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/security/CallbackHandlerRegistry.properties1
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/security/DynamicSaslRegistrar.java16
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/security/JCAProvider.java7
3 files changed, 19 insertions, 5 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/security/CallbackHandlerRegistry.properties b/java/client/src/main/java/org/apache/qpid/client/security/CallbackHandlerRegistry.properties
index 89ee8337f8..1fcfde3579 100644
--- a/java/client/src/main/java/org/apache/qpid/client/security/CallbackHandlerRegistry.properties
+++ b/java/client/src/main/java/org/apache/qpid/client/security/CallbackHandlerRegistry.properties
@@ -18,4 +18,5 @@
#
CallbackHandler.CRAM-MD5-HASHED=org.apache.qpid.client.security.UsernameHashedPasswordCallbackHandler
CallbackHandler.CRAM-MD5=org.apache.qpid.client.security.UsernamePasswordCallbackHandler
+CallbackHandler.AMQPLAIN=org.apache.qpid.client.security.UsernamePasswordCallbackHandler
CallbackHandler.PLAIN=org.apache.qpid.client.security.UsernamePasswordCallbackHandler
diff --git a/java/client/src/main/java/org/apache/qpid/client/security/DynamicSaslRegistrar.java b/java/client/src/main/java/org/apache/qpid/client/security/DynamicSaslRegistrar.java
index 803b34b7fa..2b4261b4b7 100644
--- a/java/client/src/main/java/org/apache/qpid/client/security/DynamicSaslRegistrar.java
+++ b/java/client/src/main/java/org/apache/qpid/client/security/DynamicSaslRegistrar.java
@@ -85,8 +85,19 @@ public class DynamicSaslRegistrar
if (factories.size() > 0)
{
- Security.insertProviderAt(new JCAProvider(factories), 0);
- _logger.debug("Dynamic SASL provider added as a security provider");
+ // Ensure we are used before the defaults
+ if (Security.insertProviderAt(new JCAProvider(factories), 1) == -1)
+ {
+ _logger.error("Unable to load custom SASL providers.");
+ }
+ else
+ {
+ _logger.info("Additional SASL providers successfully registered.");
+ }
+ }
+ else
+ {
+ _logger.warn("No additional SASL providers registered.");
}
}
catch (IOException e)
@@ -185,6 +196,7 @@ public class DynamicSaslRegistrar
continue;
}
+ _logger.debug("Registering class "+ clazz.getName() +" for mechanism "+mechanism);
factoriesToRegister.put(mechanism, (Class<? extends SaslClientFactory>) clazz);
}
catch (Exception ex)
diff --git a/java/client/src/main/java/org/apache/qpid/client/security/JCAProvider.java b/java/client/src/main/java/org/apache/qpid/client/security/JCAProvider.java
index 5a2c5ac5c1..828d26ed0d 100644
--- a/java/client/src/main/java/org/apache/qpid/client/security/JCAProvider.java
+++ b/java/client/src/main/java/org/apache/qpid/client/security/JCAProvider.java
@@ -26,6 +26,7 @@ import org.slf4j.LoggerFactory;
import javax.security.sasl.SaslClientFactory;
import java.security.Provider;
+import java.security.Security;
import java.util.Map;
/**
@@ -49,10 +50,10 @@ public class JCAProvider extends Provider
*/
public JCAProvider(Map<String, Class<? extends SaslClientFactory>> providerMap)
{
- super("AMQSASLProvider", 1.0, "A JCA provider that registers all "
+ super("AMQSASLProvider-Client", 1.0, "A JCA provider that registers all "
+ "AMQ SASL providers that want to be registered");
register(providerMap);
- // Security.addProvider(this);
+// Security.addProvider(this);
}
/**
@@ -64,7 +65,7 @@ public class JCAProvider extends Provider
{
for (Map.Entry<String, Class<? extends SaslClientFactory>> me : providerMap.entrySet())
{
- put("SaslClientFactory." + me.getKey(), me.getValue().getName());
+ put( "SaslClientFactory."+me.getKey(), me.getValue().getName());
log.debug("Registered SASL Client factory for " + me.getKey() + " as " + me.getValue().getName());
}
}