You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Brian Bouterse (JIRA)" <ji...@apache.org> on 2014/10/29 16:55:33 UTC

[jira] [Created] (QPID-6197) qpid.messaging does not support unicode for username

Brian Bouterse created QPID-6197:
------------------------------------

             Summary: qpid.messaging does not support unicode for username
                 Key: QPID-6197
                 URL: https://issues.apache.org/jira/browse/QPID-6197
             Project: Qpid
          Issue Type: Bug
          Components: Python Client
    Affects Versions: 0.26
            Reporter: Brian Bouterse
            Priority: Minor


When using qpid.messaging I cannot use unicode in the connection objects.

Here is a reproducer snippet:

>>> from qpid.messaging.endpoints import Connection
>>> opts = {'username': u'guest', 'sasl_mechanisms': 'ANONYMOUS', 'host': '127.0.0.1', 'timeout': 4, 'password': '', 'port': 5672, 'transport': 'tcp'}
>>> Connection.establish(**opts)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 68, in establish
    conn.open(timeout=timeout)
  File "<string>", line 6, in open
  File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 268, in open
    self.attach(timeout=timeout)
  File "<string>", line 6, in attach
  File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 286, in attach
    if not self._ewait(lambda: self._transport_connected and not self._unlinked(), timeout=timeout):
  File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 219, in _ewait
    self.check_error()
  File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 212, in check_error
    raise e
qpid.messaging.exceptions.InternalError: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 652, in write
    op.dispatch(self)
  File "/usr/lib/python2.7/site-packages/qpid/ops.py", line 84, in dispatch
    getattr(target, handler)(self, *args)
  File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 713, in do_connection_start
    mechanism=mech, response=initial))
  File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 684, in write_op
    self._op_enc.write(op)
  File "/usr/lib/python2.7/site-packages/qpid/framing.py", line 218, in write
    enc = self.encode_compound(op)
  File "/usr/lib/python2.7/site-packages/qpid/framing.py", line 244, in encode_compound
    sc.write_compound(op)
  File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 327, in write_compound
    sc.write_fields(op)
  File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 365, in write_fields
    enc(value)
  File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 229, in write_vbin32
    self.write(b)
  File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 401, in write
    self.encoded += s
UnicodeDecodeError: 'ascii' codec can't decode byte 0x92 in position 7: ordinal not in range(128)

If you change username from u'guest' to 'guest' it works. I tested the other strings referenced in the above dictionary and no other string besides username being unicode caused a traceback.



--
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