You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (JIRA)" <ji...@apache.org> on 2016/05/04 10:38:12 UTC

[jira] [Updated] (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

     [ https://issues.apache.org/jira/browse/QPID-7251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-7251:
-----------------------------
    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:
{noformat}
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'
{noformat}

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

  was:
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:
{noformat}
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'
{noformat}

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, thow sasl exception


> [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
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-7251
>                 URL: https://issues.apache.org/jira/browse/QPID-7251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Python Client
>            Reporter: Alex Rudyy
>
> 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:
> {noformat}
> 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'
> {noformat}
> 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



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org