diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-12-21 18:46:59 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-12-21 18:46:59 +0100 |
commit | 38a4749d2cf9266164527e2b3c14bc7e47b72326 (patch) | |
tree | 292e84429e0513f739c2ee95b17d512d99ee3363 | |
parent | f2b4aa82e0febd6528eb8231ac14d845b8aa80d0 (diff) | |
download | samba-38a4749d2cf9266164527e2b3c14bc7e47b72326.tar.gz samba-38a4749d2cf9266164527e2b3c14bc7e47b72326.tar.bz2 samba-38a4749d2cf9266164527e2b3c14bc7e47b72326.zip |
Allow providing extra module-level Python functions.
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/Python.pm | 6 | ||||
-rw-r--r-- | source4/librpc/ndr/py_security.c | 7 |
2 files changed, 12 insertions, 1 deletions
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 }, |