diff options
author | Lumir Balhar <lbalhar@redhat.com> | 2017-05-22 15:21:08 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2017-09-06 11:35:18 +0200 |
commit | 022aa5ea34c82e3906c626a50a722ad0e9f33a1d (patch) | |
tree | e1273625684b006ebe3293ebd94a7ae89edd1a10 /libcli | |
parent | 2d0e13837d8c6fab3fb296aafcabdf2a2973b96d (diff) | |
download | samba-022aa5ea34c82e3906c626a50a722ad0e9f33a1d.tar.gz |
python: Port samba.security to Python 3 compatible form.
Signed-off-by: Lumir Balhar <lbalhar@redhat.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'libcli')
-rw-r--r-- | libcli/security/pysecurity.c | 22 | ||||
-rw-r--r-- | libcli/security/wscript_build | 12 |
2 files changed, 22 insertions, 12 deletions
diff --git a/libcli/security/pysecurity.c b/libcli/security/pysecurity.c index 5dbf95cfac2..72058424d99 100644 --- a/libcli/security/pysecurity.c +++ b/libcli/security/pysecurity.c @@ -18,13 +18,12 @@ */ #include <Python.h> +#include "python/py3compat.h" #include "includes.h" #include "libcli/util/pyerrors.h" #include "libcli/security/security.h" #include "pytalloc.h" -void initsecurity(void); - static PyObject *py_se_access_check(PyObject *module, PyObject *args, PyObject *kwargs) { NTSTATUS nt_status; @@ -65,7 +64,7 @@ static PyObject *py_se_access_check(PyObject *module, PyObject *args, PyObject * PyErr_NTSTATUS_IS_ERR_RAISE(nt_status); } - return PyLong_FromLong(access_granted); + return PyInt_FromLong(access_granted); } static PyMethodDef py_security_methods[] = { @@ -74,12 +73,21 @@ static PyMethodDef py_security_methods[] = { { NULL }, }; -void initsecurity(void) +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + .m_name = "security", + .m_doc = "Security support.", + .m_size = -1, + .m_methods = py_security_methods, +}; + +MODULE_INIT_FUNC(security) { PyObject *m; - m = Py_InitModule3("security", py_security_methods, - "Security support."); + m = PyModule_Create(&moduledef); if (m == NULL) - return; + return NULL; + + return m; } diff --git a/libcli/security/wscript_build b/libcli/security/wscript_build index b529ec86de2..6a6b0129d14 100644 --- a/libcli/security/wscript_build +++ b/libcli/security/wscript_build @@ -7,8 +7,10 @@ bld.SAMBA_LIBRARY('samba-security', deps='talloc ndr NDR_SECURITY' ) -bld.SAMBA_PYTHON('pysecurity', - source='pysecurity.c', - deps='samba-security pytalloc-util', - realname='samba/security.so' - ) +for env in bld.gen_python_environments(): + pytalloc_util = bld.pyembed_libname('pytalloc-util') + bld.SAMBA_PYTHON('pysecurity', + source='pysecurity.c', + deps='samba-security %s' % pytalloc_util, + realname='samba/security.so' + ) |