GitHub user lordofkey opened a pull request:

    https://github.com/apache/zookeeper/pull/586

    Zookeeper 3105:Character coding problem occur when create a node using 
python3

    when creating a node using python3, InvalidACLException occurs all the 
time. it`s caused by imcompatible way of parsing acl passed through python3 api.
    so
    
    ```
    acls->data[i].id.id = strdup( PyUnicode_AsUnicode( PyDict_GetItemString( a, 
"id" ) ) );
    acls->data[i].id.scheme = strdup( PyUnicode_AsUnicode( 
PyDict_GetItemString( a, "scheme" ) ) );
    ```
    is changed to
    
    ```
    acls->data[i].id.id = strdup( PyBytes_AS_STRING( PyUnicode_AsASCIIString( 
PyDict_GetItemString( a, "id" ) ) ) );
    acls->data[i].id.scheme = strdup( PyBytes_AS_STRING( 
PyUnicode_AsASCIIString( PyDict_GetItemString( a, "scheme" ) ) ) );
    ```
    
    because `acls->data[i].id.id` and `acls->data[i].id.scheme` must be an 
ASCII string.

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

    $ git pull https://github.com/lordofkey/zookeeper ZOOKEEPER-3105

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

    https://github.com/apache/zookeeper/pull/586.patch

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

    This closes #586
    
----
commit 5a441ed6058740458b8ec549fd32931757ce4e3a
Author: yanghao <yyyhhh125@...>
Date:   2018-07-27T07:35:41Z

    ZOOKEEPER-3105:Character coding problem occur when create a node using 
python3

----


---

Reply via email to