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

[Python Client for AMQP 0-8...0-91] Setting of SASL mechanism (other then PLAIN) explicitly does not work in python client for AMQP 0-8...0-91

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: qpid-python-1.35.0
    • Component/s: Python Client
    • Labels:
      None

      Description

      Before adding the ability to negotiate SASL mechanism (in QPID-6116) the required mechanism could be specified with parameter 'mechanism' in Client.start(...). The client still support this parameter but sasl object is not created and receipt of connection.start results in error as the one below:

      Error in handler: connection_start
      
      Traceback (most recent call last):
        File "/home/alex/qpid/python/qpid/delegate.py", line 47, in __call__
          return handler(channel, frame)
        File "/home/alex/qpid/python/qpid/client.py", line 167, in connection_start
          self.client.response = self.client.sasl.initialResponse()
      AttributeError: 'NoneType' object has no attribute 'initialResponse'
      

      In general, it is not good idea to specify the mechanism explicitly. The client application should rely on existing negotiation logic. However, the client should keep backward compatibility and should respect the provided mechanism: at least it can check whether mechanism is supported by the broker and create sasl object to drive sasl negotiation if mechanism is supported; otherwise, throw sasl exception

        Attachments

          Activity

            People

            • Assignee:
              lorenz.quack Lorenz Quack
              Reporter:
              orudyy Alex Rudyy
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: