Bug 841845

Summary: python client does not support multi-byte characters (UTF-8) in address
Product: Red Hat Enterprise MRG Reporter: Leonid Zhaldybin <lzhaldyb>
Component: python-qpidAssignee: messaging-bugs <messaging-bugs>
Status: NEW --- QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.2CC: jross
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Leonid Zhaldybin 2012-07-20 11:41:08 UTC
Description of problem:
Python client is unable to send a message to a queue with multi-byte characters in its name. I tried the example spout and drain scripts from python-qpid package, as well as a very basic example from "Programming in Apache Qpid" guide. The clients say "unrecognised characters line":

[root@lzhaldyb-rhel63x ~]# qpid-config add queue йцукенг
[root@lzhaldyb-rhel63x ~]# echo $?
0
[root@lzhaldyb-rhel63x ~]# qpid-config queues
Queue Name                          Attributes
=======================================================
qmfc-v2-hb-lzhaldyb-rhel63x.8856.1  auto-del excl --limit-policy=ring 
qmfc-v2-lzhaldyb-rhel63x.8856.1     auto-del excl 
qmfc-v2-ui-lzhaldyb-rhel63x.8856.1  auto-del excl --limit-policy=ring 
reply-lzhaldyb-rhel63x.8856.1       auto-del excl 
topic-lzhaldyb-rhel63x.8856.1       auto-del excl --limit-policy=ring 
йцукенг                      
[root@lzhaldyb-rhel63x ~]# /usr/share/doc/python-qpid-0.14/examples/api/spout йцукенг
Traceback (most recent call last):
  File "/usr/share/doc/python-qpid-0.14/examples/api/spout", line 101, in <module>
    snd = ssn.sender(addr)
  File "<string>", line 6, in sender
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 583, in sender
    raise e
qpid.messaging.exceptions.MalformedAddress: unrecognized characters line:1,0: йцукенг

Version-Release number of selected component (if applicable):
python-qpid-0.14-9.el6_3
python-qpid-0.14-7.el5

How reproducible:
100%

Steps to Reproduce:
1. Create a queue with multi-byte characters in the name: 'qpid-config add queue ěščřžýá'
2. Try to send a message to the newly created queue: '/usr/share/doc/python-qpid-0.14/examples/api/spout ěščřžýá'
3.
  
Actual results:
The client is unable to send a message to such an address.

Expected results:
The client sends a message successfully.

Additional info:
c++ clients do not have this problem.