diff options
author | Fabiano Fidêncio <fidencio@redhat.com> | 2017-08-30 14:13:51 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-08-31 21:32:48 +0200 |
commit | 9375eae59550437c85ada9212be430a4242b25a4 (patch) | |
tree | bd8d774912988e7d0bcda60c7455c1dd9ae6b17d /src | |
parent | 5a117d36030f589cc04430ea1c6c328a8fdb903f (diff) | |
download | sssd-9375eae59550437c85ada9212be430a4242b25a4.tar.gz sssd-9375eae59550437c85ada9212be430a4242b25a4.tar.xz sssd-9375eae59550437c85ada9212be430a4242b25a4.zip |
PYTHON: Define constants as bytes instead of strings
When using python3 getsidbyname() and getnamebysid() expect the key as
bytes instead of strings, and currently those are defined as strings.
So, in order to avoid people working around this by doing
`pysss_nss_idmap.SID_KEY.encode('utf-8')` let's make their life easier
and properly have those constants defined as bytes.
Resolves: https://pagure.io/SSSD/sssd/issue/3491
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Michal Židek <mzidek@redhat.com>
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/python/pysss_nss_idmap.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/python/pysss_nss_idmap.c b/src/python/pysss_nss_idmap.c index 2e5851c7a..be7fa297e 100644 --- a/src/python/pysss_nss_idmap.c +++ b/src/python/pysss_nss_idmap.c @@ -533,10 +533,17 @@ initpysss_nss_idmap(void) PyModule_AddIntConstant(module, "ID_GROUP", SSS_ID_TYPE_GID); PyModule_AddIntConstant(module, "ID_BOTH", SSS_ID_TYPE_BOTH); +#ifdef IS_PY3K + PyModule_AddObject(module, "SID_KEY", PyBytes_FromString(SSS_SID_KEY)); + PyModule_AddObject(module, "NAME_KEY", PyBytes_FromString(SSS_NAME_KEY)); + PyModule_AddObject(module, "ID_KEY", PyBytes_FromString(SSS_ID_KEY)); + PyModule_AddObject(module, "TYPE_KEY", PyBytes_FromString(SSS_TYPE_KEY)); +#else PyModule_AddStringConstant(module, "SID_KEY", SSS_SID_KEY); PyModule_AddStringConstant(module, "NAME_KEY", SSS_NAME_KEY); PyModule_AddStringConstant(module, "ID_KEY", SSS_ID_KEY); PyModule_AddStringConstant(module, "TYPE_KEY", SSS_TYPE_KEY); +#endif #ifdef IS_PY3K return module; |