From 38a4749d2cf9266164527e2b3c14bc7e47b72326 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 21 Dec 2008 18:46:59 +0100 Subject: Allow providing extra module-level Python functions. --- pidl/lib/Parse/Pidl/Samba4/Python.pm | 6 ++++++ source4/librpc/ndr/py_security.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm index 120a35a1cf..69365416a5 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 a7cb0515cf..d79ad58f7d 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 }, -- cgit