On 02/25/2016 11:48 AM, Gordon Sim wrote:
On 25/02/16 17:23, Alexander N. Moibenko wrote:


On 02/25/2016 10:39 AM, Gordon Sim wrote:
Another workaround is simply to set the sasl_max_ssf to 0. That way
you still use kerberos for authentication, but don't encrypt the
messages.
Could you tell me where and how I set it.
I tried
sasl_max_ssf: 0
in /etc/sasl2/qpidd.conf to no effect.

You need to set it on the clients I'm afraid. It is a connection option for qpid::messaging, so use qpid::messaging::Connection::setOption().

I have been assuming you are using AMQP 0-10 here. If so, another option might be to try using AMQP 1.0? (Specify connection option 'protocol' as 'amqp1.0'). I am merely speculating here, but certainly it does not have the same protocol level limit and it is a different codepath for fragmentation etc.

I am doing this using python inteface.

Here is the simple test code:
import qpid.messaging

conn = qpid.messaging.Connection(host='dmsen05',
                                 port=5672,
                                 username=None,
                                 password=None,
                                 sasl_max_ssf=0,
                                 sasl_mechanisms=['GSSAPI'],
                                 reconnect=True,
                                 reconnect_interval=60,
                                 )
conn.open()

print "OPEN"

conn.close()

Here is what happens:
[enstore@dmsen05 messaging]$ python ct.py
Traceback (most recent call last):
  File "ct.py", line 12, in <module>
    conn.open()
  File "<string>", line 6, in open
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 256, in open
    self.attach()
  File "<string>", line 6, in attach
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 274, in attach
    self._ewait(lambda: self._transport_connected and not self._unlinked())
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 209, in _ewait
    self.check_error()
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 202, in check_error
    raise self.error
qpid.messaging.exceptions.InternalError: Traceback (most recent call last):
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/messaging/driver.py", line 509, in dispatch
    self.connect()
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/messaging/driver.py", line 528, in connect
    self.engine = Engine(self.connection)
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/messaging/driver.py", line 615, in __init__
    self._sasl.setAttr("maxssf", self.connection.sasl_max_ssf)
File "/opt/enstore/Python/lib/python2.7/site-packages/qpid/sasl.py", line 36, in setAttr
    raise SASLError(self._cli.getError())
SASLError: Error in setAttr (-1) Unknown string attribute name - maxssf


Looks as there is another bug, now in qpid/sasl.py, this file is a part of rpm python-qpid-0.14-11.el6_3.noarch


If you can test whether
reducing that value fixes your issue, that would speed up resolution.
In any case, raise a JIRA for this and I'll try to have a look at it
asap.
reducing what value?

I meant the maxbufsize for cyrus sasl. Actually though, now I think about it more, I'm not so sure this is the issue. It is the whole frame that is encrypted, not just the payload, and in any case this value is merely an indication of how much data to expect as input.

I am sorry, I do not know how to open JIRA.
Can you provide instructions?

Go to https://issues.apache.org/jira/browse/QPID/ and click the 'create' button, then fill in the form with as much detail as you can and submit.
Thanks!

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




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

Reply via email to