libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kami <>
Subject [GitHub] libcloud pull request: Paramiko consume multi byte UTF-8 character...
Date Wed, 27 Jan 2016 10:20:47 GMT
GitHub user Kami opened a pull request:

    Paramiko consume multi byte UTF-8 characters fix

    This is a fix for a bug in the paramiko SSH client which would occur when reading / consuming
stdout / stderr data from a remote channel.
    This issue would only manifest itself under a very specific condition - if the very end
of a chunk contains part of a multi byte UTF-8 character.
    This was initially caught and fixed by @lakshmi-kannan in StackStorm/st2, but the fix
was never backported to Libcloud (the reason for that probably was that Libcloud is more work
since we support all those Python versions).
    I used that fix as a base for this PR, but included necessary changes to make it work
across different versions of Python and also did minor refactoring.

You can merge this pull request into a Git repository by running:

    $ git pull paramiko_consume_multi_byte_fix

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #686
commit 1a6580973ff0b794d0dfc02ec76c27eac7b4671f
Author: Tomaz Muraus <>
Date:   2016-01-24T20:12:49Z

    Fix an edge case bug when consuming data from a channel inside the Paramiko SSH
    In case consumed data contained multi byte UTF-8 character and this character
    was split over two chunks, an exception would be thrown since we tried to
    decode received data after receiving every chunk instead of the end.
    This bug was originally caught by Lakshmi Kannan and fix is partially based
    on the changes inside StackStorm/st2 which are Apache 2.0 licensed.

commit e7b8080207fd9f2a2c192d1a3400517f777ffd60
Author: Tomaz Muraus <>
Date:   2016-01-24T20:18:39Z

    Increase default chunk size to 4096 bytes so we decrease the number of read
    calls in an average case.

commit 8c5906e973d5c9c8fcaf86a9d2aa318f437a63e2
Author: Tomaz Muraus <>
Date:   2016-01-24T20:21:05Z

    Update changelog.

commit 5d55aadbfd87daff1388dddd4f6a6c3e6d2cc019
Author: Tomaz Muraus <>
Date:   2016-01-24T20:22:47Z

    Update changelog.

commit a14d27f9b903a4a6b124945dda122cabece540e0
Author: Tomaz Muraus <>
Date:   2016-01-26T20:31:54Z

    Fix a bug, add some tests.

commit 1f23b0f7594252581508c1bd14a7c017067e69c7
Author: Tomaz Muraus <>
Date:   2016-01-26T21:11:02Z

    Correctly only run it if paramiko is available.

commit 668c23e597711ddaa77c42aa2cbb43f1863cd54e
Author: Tomaz Muraus <>
Date:   2016-01-26T21:29:51Z

    Fix cross Python version compatibility issues.

commit 89dcfbd58c081d41540a7e7ab813f005a491e575
Author: Tomaz Muraus <>
Date:   2016-01-27T10:09:51Z

    More cross Python version compatibility issue fix.

commit 514cbb334500f69c2bf11034e8547ed21d8ffd3a
Author: Tomaz Muraus <>
Date:   2016-01-27T10:13:25Z

    Merge branch 'trunk' into paramiko_consume_multi_byte_fix


If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

View raw message