Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-6109

qpid.messaaging builtin PLAIN auth does not agree on auth mechanism if password is None or ''

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.26
    • 0.31
    • Python Client
    • None

    Description

      If I have the broker configured with --auth yes, it correctly advertises auth mechanisms: ['ANONYMOUS', 'PLAIN'].

      If I run the following python code to connect using an empty password with username 'guest' and only allowing 'PLAIN' I expect to get an "Authentication failed(320)", but instead I receive a "sasl negotiation failed: no mechanism agreed".

      from qpid.messaging import Connection
      info =

      { 'username': 'guest', 'sasl_mechanisms': 'PLAIN', 'host': '127.0.0.1', 'timeout': 4, 'password': '', 'port': 5672, 'transport': 'tcp'}

      Connection.establish(**info)

      I also get the sasl negotiation failed with this code:

      from qpid.messaging import Connection
      info =

      { 'username': 'guest', 'sasl_mechanisms': 'PLAIN', 'host': '127.0.0.1', 'timeout': 4, 'password': None, 'port': 5672, 'transport': 'tcp'}

      Connection.establish(**info)

      I am using the builtin auth and not the saslwrapper auth because I do not have the packages 'saslwraper' and 'python-saslwrapper' installed.

      I expected that a username='guest' and password=None or password='' should still agree on PLAIN and continue to try to authentication. This is also similar to the behavior of saslwrapper.

      Attachments

        Activity

          People

            gsim Gordon Sim
            bmbouter Brian Bouterse
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: