Keith Wall created QPID-7643:
--------------------------------

             Summary: Cannot login using SASL PLAIN against 
Base64MD5PasswordFilePrincipalDatabase
                 Key: QPID-7643
                 URL: https://issues.apache.org/jira/browse/QPID-7643
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: qpid-java-6.1.1, qpid-java-6.0.6
            Reporter: Keith Wall
             Fix For: qpid-java-6.0.7, qpid-java-6.1.2



There is a defect in Base64MD5PasswordFilePrincipalDatabase that means that 
whilst the a authentication provider of type {{Base64MD5PasswordFile}} 
advertises {{PLAIN}} at attempt to use it fails later with following stack 
trace reported by the client.

The user who wishes to use PLAIN can work around by using an alternative 
authentication provider that offers plain support e.g. SCRAM.

{noformat}
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java 
-Dqpid.amqp.version=0-10 -Dqpid.sasl_mechs=PLAIN -Didea.launcher.port=7537 
"-Didea.launcher.bin.path=/Applications/IntelliJ IDEA.app/Contents/bin" 
-Dfile.encoding=UTF-8 -classpath 
"/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/tools.jar:/Users/keith/src/qpid-java/client/example/target/classes:/Users/keith/src/qpid-java/client/target/classes:/Users/keith/src/qpid-java/common/target/classes:/Users/keith/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar:/Users/keith/.m2/repository/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar:/Applications/IntelliJ
 IDEA.app/Contents/lib/idea_rt.jar" 
com.intellij.rt.execution.application.AppMain org.apache.qpid.example.Hello
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further 
details.
javax.jms.JMSException: Error creating connection: Unsupported mechanism: PLAIN
        at 
org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:134)
        at 
org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:57)
        at org.apache.qpid.example.Hello.runTest(Hello.java:60)
        at org.apache.qpid.example.Hello.main(Hello.java:48)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: org.apache.qpid.AMQConnectionFailureException: Unsupported 
mechanism: PLAIN
        at 
org.apache.qpid.client.AMQConnection.makeConnection(AMQConnection.java:659)
        at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:509)
        at 
org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:130)
        ... 8 more
Caused by: org.apache.qpid.AMQException: Cannot connect to broker 
(tcp://localhost:5672): Unsupported mechanism: PLAIN [error code 320: 
connection forced]
        at 
org.apache.qpid.client.AMQConnectionDelegate_0_10.makeBrokerConnection(AMQConnectionDelegate_0_10.java:270)
        at 
org.apache.qpid.client.AMQConnection.makeBrokerConnection(AMQConnection.java:804)
        at 
org.apache.qpid.client.AMQConnection.makeConnection(AMQConnection.java:570)
        ... 10 more
Caused by: org.apache.qpid.transport.ConnectionException: Unsupported 
mechanism: PLAIN
        at 
org.apache.qpid.transport.ConnectionException.rethrow(ConnectionException.java:67)
        at org.apache.qpid.transport.Connection.connect(Connection.java:278)
        at 
org.apache.qpid.client.AMQConnectionDelegate_0_10.makeBrokerConnection(AMQConnectionDelegate_0_10.java:240)
        ... 12 more
Caused by: org.apache.qpid.transport.ConnectionException: Unsupported 
mechanism: PLAIN
        at org.apache.qpid.transport.Connection.closeCode(Connection.java:565)
        at 
org.apache.qpid.transport.ConnectionDelegate.connectionClose(ConnectionDelegate.java:76)
        at 
org.apache.qpid.transport.ConnectionDelegate.connectionClose(ConnectionDelegate.java:41)
        at 
org.apache.qpid.transport.ConnectionClose.dispatch(ConnectionClose.java:91)
        at 
org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:50)
        at 
org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:41)
        at org.apache.qpid.transport.Method.delegate(Method.java:157)
        at org.apache.qpid.transport.Connection.received(Connection.java:401)
        at org.apache.qpid.transport.network.Assembler.emit(Assembler.java:100)
        at 
org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:191)
        at org.apache.qpid.transport.network.Assembler.frame(Assembler.java:134)
        at org.apache.qpid.transport.network.Frame.delegate(Frame.java:128)
        at 
org.apache.qpid.transport.network.Assembler.received(Assembler.java:105)
        at 
org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:206)
        at 
org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:121)
        at 
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:164)
        at java.lang.Thread.run(Thread.java:745)

Process finished with exit code 0
{noformat}


Protocol trace looks like this:

{noformat}

2017-01-26 08:23:20,135 DEBUG [IO-/127.0.0.1:49724] (o.a.q.t.Connection) - 
SEND: [conn:5f4b2f78] ch=0 ConnectionStart(serverProperties={product=qpid, 
qpid.virtualhost_properties_supported=true, qpid.features=[qpid.jms-selector], 
qpid.message_compression_supported=true, 
qpid.federation_tag=af020393-6737-43c2-9614-000cf046ef2b, 
qpid.build=Unversioned directory, version=6.1.2-SNAPSHOT, 
qpid.queue_lifetime_supported=true, qpid.instance_name=Broker}, 
mechanisms=[CRAM-MD5-HASHED, CRAM-MD5-HEX, PLAIN], locales=[en_US])
2017-01-26 08:23:20,135 DEBUG [IO-/127.0.0.1:49724] (o.a.q.t.Connection) - 
FLUSH: [conn:5f4b2f78]
2017-01-26 08:23:20,135 DEBUG [IO-/127.0.0.1:49724] 
(o.a.q.s.t.NonBlockingConnection) - Written 424 bytes
2017-01-26 08:23:20,136 DEBUG [IO-/127.0.0.1:49724] 
(o.a.q.s.t.NonBlockingConnection) - Read 0 byte(s)
2017-01-26 08:23:20,149 DEBUG [IO-/127.0.0.1:49724] 
(o.a.q.s.t.NonBlockingConnection) - Read 343 byte(s)
2017-01-26 08:23:20,150 DEBUG [IO-/127.0.0.1:49724] (o.a.q.t.Connection) - 
RECV: [conn:5f4b2f78] ch=0 
ConnectionStartOk(clientProperties={qpid.session_flow=1, product=qpid, 
qpid.client_process=Apache Qpid JMS Client for AMQP 0-9-1/0-10, 
clientName=clientid, qpid.client_pid=1604, qpid.client_version=6.1.2-SNAPSHOT, 
platform=Java(TM) SE Runtime Environment, 1.8.0_121-b13, Oracle Corporation, 
x86_64, Mac OS X, 10.12.2, unknown}, mechanism=PLAIN, 
response="\x00guest\x00guest")
2017-01-26 08:23:20,150 DEBUG [IO-/127.0.0.1:49724] (o.a.q.t.Connection) - 
SEND: [conn:5f4b2f78] ch=0 ConnectionClose(replyCode=CONNECTION_FORCED, 
replyText=Unsupported mechanism: PLAIN)
2017-01-26 08:23:20,150 DEBUG [IO-/127.0.0.1:49724] (o.a.q.t.Connection) - 
FLUSH: [conn:5f4b2f78]
{noformat}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to