Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
python: Fix a double encoding attempt on an Unicode string
Encoding from 'unicode' to 'str' that has been added to the Stream class in commit 2254074 ("python: fix python3 encode/decode on Windows") conflicts with SSLStream which already contains a quirk for pyopenssl that does the same thing. This results in a double encoding attempt when SSL is used and we crash and burn due to: Traceback (most recent call last): File "../.././test-ovsdb.py", line 874, in <module> main(sys.argv) File "../.././test-ovsdb.py", line 869, in main func(*args) File "../.././test-ovsdb.py", line 655, in do_idl idl_set(idl, command, step) File "../.././test-ovsdb.py", line 526, in idl_set status = txn.commit_block() File "/home/jkbs/src/ovs/python/ovs/db/idl.py", line 1405, in commit_block status = self.commit() File "/home/jkbs/src/ovs/python/ovs/db/idl.py", line 1388, in commit if not self.idl._session.send(msg): File "/home/jkbs/src/ovs/python/ovs/jsonrpc.py", line 540, in send return self.rpc.send(msg) File "/home/jkbs/src/ovs/python/ovs/jsonrpc.py", line 244, in send self.run() File "/home/jkbs/src/ovs/python/ovs/jsonrpc.py", line 203, in run retval = self.stream.send(self.output) File "/home/jkbs/src/ovs/python/ovs/stream.py", line 808, in send return super(SSLStream, self).send(buf) File "/home/jkbs/src/ovs/python/ovs/stream.py", line 391, in send buf = buf.encode('utf-8') UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 83: ordinal not in range(128) Remove the quirk from SSLStream as the base class now does encoding. Reported-by: Marcin Mirecki <mmirecki@redhat.com> Signed-off-by: Jakub Sitnicki <jkbs@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
- Loading branch information