From: Jelmer Vernooij Date: Mon, 14 Jan 2008 17:59:11 +0000 (+0100) Subject: python: Compile security module, handle uint. X-Git-Tag: samba-4.0.0alpha6~801^3~658 X-Git-Url: http://git.samba.org/samba.git/?a=commitdiff_plain;h=d28eb21a984a733e8f1de51170e41ae7c879f7e9;p=samba.git python: Compile security module, handle uint. (This used to be commit dee64344fb13aaed38a550ebb4048d0fa526d5b6) --- diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 31013289dd2..cda57bedcf0 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -628,3 +628,6 @@ PRIVATE_DEPENDENCIES = dcerpc_samr [PYTHON::python_lsa] OBJ_FILES = gen_ndr/py_lsa.o PRIVATE_DEPENDENCIES = RPC_NDR_LSA + +[PYTHON::python_security] +OBJ_FILES = gen_ndr/py_security.o diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm b/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm index 8ff909a4555..31b06d16b89 100644 --- a/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm +++ b/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm @@ -612,7 +612,7 @@ sub ConvertObjectFromPythonData($$$$$$) if ($actual_ctype->{TYPE} eq "ENUM" or $actual_ctype->{TYPE} eq "BITMAP" or $actual_ctype->{TYPE} eq "SCALAR" and ( - expandAlias($actual_ctype->{NAME}) =~ /^(u?int[0-9]+|hyper|NTTIME|time_t|NTTIME_hyper|NTTIME_1sec|dlong|udlong|udlongr)$/)) { + expandAlias($actual_ctype->{NAME}) =~ /^(u?int[0-9]*|hyper|NTTIME|time_t|NTTIME_hyper|NTTIME_1sec|dlong|udlong|udlongr)$/)) { $self->pidl("PY_CHECK_TYPE(PyInt, $cvar, $fail);"); $self->pidl("$target = PyInt_AsLong($cvar);"); return; @@ -748,7 +748,7 @@ sub ConvertScalarToPython($$$) $ctypename = expandAlias($ctypename); - if ($ctypename =~ /^(int|long|char|u?int[0-9]+|hyper|dlong|udlong|udlongr|time_t|NTTIME_hyper|NTTIME|NTTIME_1sec)$/) { + if ($ctypename =~ /^(char|u?int[0-9]*|hyper|dlong|udlong|udlongr|time_t|NTTIME_hyper|NTTIME|NTTIME_1sec)$/) { return "PyInt_FromLong($cvar)"; } @@ -938,7 +938,7 @@ sub Parse($$$$$) } elsif ($cvar =~ /^".*"$/) { $py_obj = "PyString_FromString($cvar)"; } else { - $py_obj = $self->ConvertObjectToPythonData("NULL", $ctype, $cvar); + $py_obj = $self->ConvertObjectToPythonData("NULL", expandAlias($ctype), $cvar); } $self->pidl("PyModule_AddObject(m, \"$name\", $py_obj);"); diff --git a/source4/pidl/lib/Parse/Pidl/Typelist.pm b/source4/pidl/lib/Parse/Pidl/Typelist.pm index 9e6c683f826..8ba1ae47afb 100644 --- a/source4/pidl/lib/Parse/Pidl/Typelist.pm +++ b/source4/pidl/lib/Parse/Pidl/Typelist.pm @@ -59,6 +59,7 @@ my %aliases = ( "boolean8" => "uint8", "boolean32" => "uint32", "DWORD" => "uint32", + "uint" => "uint32", "int" => "int32", "WORD" => "uint16", "char" => "uint8", diff --git a/source4/scripting/python/modules.c b/source4/scripting/python/modules.c index 8c5115efca0..1728f166bdc 100644 --- a/source4/scripting/python/modules.c +++ b/source4/scripting/python/modules.c @@ -42,6 +42,8 @@ static void initdcerpc_misc(void) {} extern void initmgmt(void); extern void initatsvc(void); extern void initsamr(void); +extern void initsecurity(void); +extern void initlsa(void); static struct _inittab py_modules[] = { STATIC_LIBPYTHON_MODULES };