diff options
| author | Lukas Slebodnik <lslebodn@redhat.com> | 2017-09-06 10:19:58 +0200 |
|---|---|---|
| committer | Lukas Slebodnik <lslebodn@redhat.com> | 2017-09-13 09:33:53 +0200 |
| commit | cc4d6435ef49738a02ddfc6072f1197d7f8f7319 (patch) | |
| tree | 40a697698899e48e4e5b874cfcc53a3838fb7699 /src/python | |
| parent | 53f74f54209120060cd020d65646b3a471d90988 (diff) | |
| download | sssd-cc4d6435ef49738a02ddfc6072f1197d7f8f7319.tar.gz sssd-cc4d6435ef49738a02ddfc6072f1197d7f8f7319.tar.xz sssd-cc4d6435ef49738a02ddfc6072f1197d7f8f7319.zip | |
pysss_nss_idmap: return same type as it is in module constants
The python module pysss_nss_idmap contains few module constants
which should be used (based on python documentation) for checking
type of results.
e.g.
getsidbyid(...)
getsidbyid(id or list/tuple of id) -> dict(id => dict(results))
Returns a dictionary with a dictionary of results for each given
POSIX ID. The result dictionary contains the SID and the type of the
object which can be accessed with the key constants SID_KEY and
TYPE_KEY, respectively.
However, type of module constant and type of returned key had different type
with python3 due to different handling of strings. This patch unifies it
to string. The same as it is in python2.
Resolves:
https://pagure.io/SSSD/sssd/issue/3491
Reviewed-by: Sumit Bose <sbose@redhat.com>
Diffstat (limited to 'src/python')
| -rw-r--r-- | src/python/pysss_nss_idmap.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/python/pysss_nss_idmap.c b/src/python/pysss_nss_idmap.c index 2e5851c7a..ab6e06e48 100644 --- a/src/python/pysss_nss_idmap.c +++ b/src/python/pysss_nss_idmap.c @@ -57,7 +57,7 @@ static int add_dict_to_list(PyObject *py_list, PyObject *res_type, return ret; } - ret = PyDict_SetItem(py_dict, PyBytes_FromString(SSS_TYPE_KEY), id_type); + ret = PyDict_SetItem(py_dict, PyUnicode_FromString(SSS_TYPE_KEY), id_type); if (ret != 0) { Py_XDECREF(py_dict); return ret; @@ -84,7 +84,7 @@ static int add_dict(PyObject *py_result, PyObject *key, PyObject *res_type, return ret; } - ret = PyDict_SetItem(py_dict, PyBytes_FromString(SSS_TYPE_KEY), id_type); + ret = PyDict_SetItem(py_dict, PyUnicode_FromString(SSS_TYPE_KEY), id_type); if (ret != 0) { Py_XDECREF(py_dict); return ret; @@ -125,7 +125,7 @@ static int do_getsidbyname(PyObject *py_result, PyObject *py_name) ret = sss_nss_getsidbyname(name, &sid, &id_type); if (ret == 0) { - ret = add_dict(py_result, py_name, PyBytes_FromString(SSS_SID_KEY), + ret = add_dict(py_result, py_name, PyUnicode_FromString(SSS_SID_KEY), PyUnicode_FromString(sid), PYNUMBER_FROMLONG(id_type)); } free(sid); @@ -147,7 +147,7 @@ static int do_getnamebysid(PyObject *py_result, PyObject *py_sid) ret = sss_nss_getnamebysid(sid, &name, &id_type); if (ret == 0) { - ret = add_dict(py_result, py_sid, PyBytes_FromString(SSS_NAME_KEY), + ret = add_dict(py_result, py_sid, PyUnicode_FromString(SSS_NAME_KEY), PyUnicode_FromString(name), PYNUMBER_FROMLONG(id_type)); } free(name); @@ -189,7 +189,7 @@ static int do_getsidbyid(PyObject *py_result, PyObject *py_id) ret = sss_nss_getsidbyid((uint32_t) id, &sid, &id_type); if (ret == 0) { - ret = add_dict(py_result, py_id, PyBytes_FromString(SSS_SID_KEY), + ret = add_dict(py_result, py_id, PyUnicode_FromString(SSS_SID_KEY), PyUnicode_FromString(sid), PYNUMBER_FROMLONG(id_type)); } free(sid); @@ -211,7 +211,7 @@ static int do_getnamebycert(PyObject *py_result, PyObject *py_cert) ret = sss_nss_getnamebycert(cert, &name, &id_type); if (ret == 0) { - ret = add_dict(py_result, py_cert, PyBytes_FromString(SSS_NAME_KEY), + ret = add_dict(py_result, py_cert, PyUnicode_FromString(SSS_NAME_KEY), PyUnicode_FromString(name), PYNUMBER_FROMLONG(id_type)); } free(name); @@ -244,7 +244,7 @@ static int do_getlistbycert(PyObject *py_result, PyObject *py_cert) for (c = 0; names[c] != NULL; c++) { ret = add_dict_to_list(py_list, - PyBytes_FromString(SSS_NAME_KEY), + PyUnicode_FromString(SSS_NAME_KEY), PyUnicode_FromString(names[c]), PYNUMBER_FROMLONG(id_types[c])); if (ret != 0) { @@ -284,7 +284,7 @@ static int do_getidbysid(PyObject *py_result, PyObject *py_sid) ret = sss_nss_getidbysid(sid, &id, &id_type); if (ret == 0) { - ret = add_dict(py_result, py_sid, PyBytes_FromString(SSS_ID_KEY), + ret = add_dict(py_result, py_sid, PyUnicode_FromString(SSS_ID_KEY), PYNUMBER_FROMLONG(id), PYNUMBER_FROMLONG(id_type)); } |
