You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ernest Allen (JIRA)" <ji...@apache.org> on 2014/12/02 20:04:13 UTC

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

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

Ernest Allen updated QPID-6197:
-------------------------------
    Attachment: bz1158558.patch

Attached bz1158558.patch is an unreviewed patch that appears to work with the reproducer code listed here.

If the username is unicode, it is encoded as utf8 before being written to the connection response string.

> 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
>         Attachments: bz1158558.patch
>
>
> 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