From: Noel Power Date: Mon, 5 Feb 2018 11:04:53 +0000 (+0000) Subject: python3 port for policy module X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwip.git;a=commitdiff_plain;h=522243364139e88352fd6f58a0eda5a950a35c8e python3 port for policy module Signed-off-by: Noel Power Reviewed-by: Andrew Bartlett Reviewed-by: Douglas Bagnall --- diff --git a/source4/lib/policy/pypolicy.c b/source4/lib/policy/pypolicy.c index 8a9aa47f1fdf..dd44c0fcf161 100644 --- a/source4/lib/policy/pypolicy.c +++ b/source4/lib/policy/pypolicy.c @@ -19,6 +19,7 @@ #include #include "includes.h" +#include "python/py3compat.h" #include "policy.h" #include "libcli/util/pyerrors.h" @@ -51,7 +52,7 @@ static PyObject *py_get_gpo_flags(PyObject *self, PyObject *args) py_ret = PyList_New(0); for (i = 0; ret[i]; i++) { - PyObject *item = PyString_FromString(ret[i]); + PyObject *item = PyStr_FromString(ret[i]); if (item == NULL) { talloc_free(mem_ctx); Py_DECREF(py_ret); @@ -93,7 +94,7 @@ static PyObject *py_get_gplink_options(PyObject *self, PyObject *args) py_ret = PyList_New(0); for (i = 0; ret[i]; i++) { - PyObject *item = PyString_FromString(ret[i]); + PyObject *item = PyStr_FromString(ret[i]); if (item == NULL) { talloc_free(mem_ctx); Py_DECREF(py_ret); @@ -131,13 +132,21 @@ static PyMethodDef py_policy_methods[] = { { NULL } }; -void initpolicy(void) +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + .m_name = "policy", + .m_doc = "(Group) Policy manipulation", + .m_size = -1, + .m_methods = py_policy_methods, +}; + +MODULE_INIT_FUNC(policy) { - PyObject *m; + PyObject *m = NULL; - m = Py_InitModule3("policy", py_policy_methods, "(Group) Policy manipulation"); + m = PyModule_Create(&moduledef); if (!m) - return; + return m; PyModule_AddObject(m, "GPO_FLAG_USER_DISABLE", PyInt_FromLong(GPO_FLAG_USER_DISABLE)); @@ -147,4 +156,5 @@ void initpolicy(void) PyInt_FromLong(GPLINK_OPT_DISABLE )); PyModule_AddObject(m, "GPLINK_OPT_ENFORCE ", PyInt_FromLong(GPLINK_OPT_ENFORCE )); + return m; } diff --git a/source4/lib/policy/wscript_build b/source4/lib/policy/wscript_build index f7c59090b846..0d23bcb205e1 100644 --- a/source4/lib/policy/wscript_build +++ b/source4/lib/policy/wscript_build @@ -10,8 +10,9 @@ bld.SAMBA_LIBRARY('samba-policy', enabled=bld.PYTHON_BUILD_IS_ENABLED() ) -bld.SAMBA_PYTHON('py_policy', - source='pypolicy.c', - public_deps='samba-policy pytalloc-util', - realname='samba/policy.so' - ) +for env in bld.gen_python_environments(): + bld.SAMBA_PYTHON('py_policy', + source='pypolicy.c', + public_deps='samba-policy pytalloc-util', + realname='samba/policy.so' + )