summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorLumir Balhar <lbalhar@redhat.com>2017-05-22 15:21:08 +0200
committerAndrew Bartlett <abartlet@samba.org>2017-09-06 11:35:18 +0200
commit022aa5ea34c82e3906c626a50a722ad0e9f33a1d (patch)
treee1273625684b006ebe3293ebd94a7ae89edd1a10 /libcli
parent2d0e13837d8c6fab3fb296aafcabdf2a2973b96d (diff)
downloadsamba-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.c22
-rw-r--r--libcli/security/wscript_build12
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'
+ )