From: Jelmer Vernooij Date: Sun, 21 Dec 2008 17:46:59 +0000 (+0100) Subject: Allow providing extra module-level Python functions. X-Git-Tag: samba-4.0.0alpha6~438 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=38a4749d2cf9266164527e2b3c14bc7e47b72326;p=thirdparty%2Fsamba.git Allow providing extra module-level Python functions. --- diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm index 120a35a1cf4..69365416a5e 100644 --- a/pidl/lib/Parse/Pidl/Samba4/Python.pm +++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm @@ -1183,6 +1183,12 @@ sub Parse($$$$$) my ($fn_name, $pyfn_name, $flags, $doc) = @$_; $self->pidl("{ \"$fn_name\", (PyCFunction)$pyfn_name, $flags, $doc },"); } + + $self->deindent; + $self->pidl("#ifdef ".uc("py_mod_$basename\_extra_methods")); + $self->pidl("\t" .uc("py_mod_$basename\_extra_methods")); + $self->pidl("#endif"); + $self->indent; $self->pidl("{ NULL, NULL, 0, NULL }"); $self->deindent; diff --git a/source4/librpc/ndr/py_security.c b/source4/librpc/ndr/py_security.c index a7cb0515cf9..d79ad58f7dc 100644 --- a/source4/librpc/ndr/py_security.c +++ b/source4/librpc/ndr/py_security.c @@ -301,7 +301,12 @@ static PyObject *py_random_sid(PyObject *self) sid = dom_sid_parse_talloc(NULL, str); talloc_free(str); - ret = py_talloc_import(&PyDomSidType, sid); + ret = py_talloc_import(&dom_sid_Type, sid); talloc_free(sid); return ret; } + +#define PY_MOD_SECURITY_EXTRA_METHODS \ + { "random_sid", (PyCFunction)py_random_sid, METH_NOARGS, NULL }, \ + { "privilege_id", (PyCFunction)py_privilege_id, METH_VARARGS, NULL }, \ + { "privilege_name", (PyCFunction)py_privilege_name, METH_VARARGS, NULL },