1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
Commit Graph

414 Commits

Author SHA1 Message Date
David Disseldorp
b8a8870d27 idl: add to_null property
to_null specifies that character conversion should only occur until the
null pointer in an array based string.

Signed-off-by: Jeremy Allison <jra@samba.org>

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat Jan 14 00:51:54 CET 2012 on sn-devel-104
2012-01-14 00:51:54 +01:00
David Disseldorp
6501b8bc6f idl: add parser for the to_null property
Compile into a ndr_pull_charset_to_null call.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-13 09:37:37 -08:00
Stefan Metzmacher
1be5e58958 pidl:Samba4/Python: add an optional 'allow_remaining' argument to __ndr_unpack__() hooks
Thanks to Amitay Isaacs <amitay@gmail.com> for the help with this.

metze
2012-01-09 08:55:51 +01:00
Stefan Metzmacher
12123e751e pidl:Samba4/NDR/Parser: don't generate code for [ignore] pointers
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Nov 24 12:31:04 CET 2011 on sn-devel-104
2011-11-24 12:31:04 +01:00
Andrew Tridgell
3d5dd91f59 pidl: added checking of NDR flags in generated code
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-09-08 03:35:27 +02:00
Jelmer Vernooij
f8ec7f6cb1 pytalloc: Use consistent prefix for functions, add ABI file. 2011-08-10 15:36:21 +02:00
Stefan Metzmacher
604b380203 pidl:Samba4/Python: PyArg_ParseTuple with "s#" returns 'int' instead of 'size_t'
If we pass variable references we don't get implicit casting!

metze
2011-08-08 16:45:27 +02:00
Matthieu Patou
987b25d7e0 pidl: for wireshark use only the major of the version 2011-08-06 01:33:08 +04:00
Matthieu Patou
403f064744 pidl: For wireshark check also LIBNDR_FLAG_NOALIGN for not aligning 2011-08-06 01:33:07 +04:00
Matthieu Patou
0912979341 pidl: handle union when the switch variable is outside of the union for wireshark dissector 2011-08-06 01:33:07 +04:00
Matthieu Patou
da02b56572 pidl: add subcontext handling for wireshark 2011-08-06 01:33:07 +04:00
Matthieu Patou
aea446ba79 pidl: If STR_NULLTERM we concider it's a string as well 2011-08-06 01:33:07 +04:00
Matthieu Patou
5a5f6845db pidl: handle hyper attribute for wireshark 2011-08-06 01:33:07 +04:00
Matthieu Patou
dc829a438a pidl: handle datablob for wireshark generator 2011-08-06 01:33:06 +04:00
Matthieu Patou
ba882bfd90 pidl: rpc version is a 32 bit 2011-08-06 01:33:06 +04:00
Matthieu Patou
5ff63e2dcf pidl: generate code for dissecting null terminated strings 2011-08-06 01:33:06 +04:00
Matthieu Patou
7170cfaaf3 pidl: don't expect to have quote when creating import headers
Currently the $_ didn't contains the quote anymore, in order to avoid
any further regression the cleanup of quote is done before so that if
$_ still have quotes we clean them in anycase.
2011-08-06 01:33:06 +04:00
Stefan Metzmacher
0ea3760cae pidl:NDR/Parser: allow [string,size_of()] together
metze
2011-08-01 15:46:11 +02:00
Stefan Metzmacher
98cc4c8419 pidl:NDR/Server: use interface->{UUID} and {NAME} instead of the raw {PROPERTIES}
metze
2011-08-01 13:44:26 +02:00
Stefan Metzmacher
e7a7a2451f pidl:NDR/Parser: use interface->{UUID} and {NAME} instead of the raw {PROPERTIES}
metze
2011-08-01 13:44:26 +02:00
Stefan Metzmacher
7ae14ed666 pidl:NDR/Parser: use '0' instead of 'NULL' for an uint32_t value
metze
2011-08-01 13:44:26 +02:00
Andrew Bartlett
1c34842db4 pidl: Add support for the [ignore] property
This is implemented to simply never push this pointer, but to push a
NULL in it's place.  Likewise a pull will simply return a NULL.

Andrew Bartlett
2011-04-05 23:46:04 +02:00
Günther Deschner
9115615663 pidl: add an include for "ntdomain.h" for s3 server stubs.
Guenther
2011-03-30 01:13:09 +02:00
Jelmer Vernooij
98e4ef09f4 pidl: Fix prototype for server init functions.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Mar 19 04:07:40 CET 2011 on sn-devel-104
2011-03-19 04:07:40 +01:00
Stefan Metzmacher
6771ade5e7 pidl:Samba4/NDR/Client: fix arguments to warning()
We want the file:line: information displayed.

metze
2011-03-11 11:02:23 +01:00
Stefan Metzmacher
f3465da072 pidl:Samba4/NDR/Parser: fix compiler warnings in 'pipe' related code
metze
2011-03-11 11:02:22 +01:00
Stefan Metzmacher
d79fb9098b pidl: add support for 'pipe' at the NDR layer
metze
2011-03-10 14:31:19 +01:00
Stefan Metzmacher
f43e757096 pidl/idl.yp: fill 'pipe' elements with array and count
metze
2011-03-10 14:31:19 +01:00
Stefan Metzmacher
91ef694351 pidl:NDR/Client: skip all functions if pipe elements are used
We don't support pipe at the dcerpc level yet.

metze
2011-03-10 14:31:18 +01:00
Stefan Metzmacher
f383497436 pidl:NDR/Client: skip sync functions if pipe elements are used
metze
2011-03-10 14:31:18 +01:00
Stefan Metzmacher
7537f9c9bb pidl:Python: don't generate functions with pipe elements
metze
2011-03-10 14:31:17 +01:00
Stefan Metzmacher
29bd658634 pidl:Samba3/ClientNDR: don't generate stubs for functions with pipe elements
metze
2011-03-10 14:31:17 +01:00
Stefan Metzmacher
eaa7ecdda7 pidl/NDR: add ContainsPipe() function
metze
2011-03-10 14:31:16 +01:00
Stefan Metzmacher
6e4e3f57e4 pidl/Typelist: add is_fixed_size_scalar()
metze
2011-03-10 14:31:14 +01:00
Stefan Metzmacher
6ef40f3199 pidl/Typelist: dnsp_name and dnsp_string are scalar references
metze
2011-03-10 14:31:13 +01:00
Andrew Bartlett
646aefd998 pidl Add support for uid_t and gid_t types
These are mapped to uint64_t, which should be big enough.  This is
proposed to be used for internal Samba representations, where it would
be more painful to convert all the callers to an uint64_t calling
convention.

Andrew Bartlett
2011-03-01 06:29:03 +01:00
Stefan Metzmacher
bd2b0076b4 Revert "Fix alignment issues in SPOOLSS "BUFFER" marshalling."
This reverts commit 187f695469.

This is the wrong fix.

metze
2011-02-28 15:54:13 -08:00
Jeremy Allison
187f695469 Fix alignment issues in SPOOLSS "BUFFER" marshalling.
Guenther and Metze please check !

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Fri Feb 18 18:49:55 CET 2011 on sn-devel-104
2011-02-18 18:49:55 +01:00
Andrew Tridgell
431b25e895 pidl: support using pidl from top level directory
pidl needs to know if it is being used within the samba tree or not,
to get the names of some include files right. This adds support for
using pidl in the top level directory of a Samba build

This change also makes it clear that is_intree() is a boolean
function. Previously it returned different values for Samba3 and
Samba4, but there is nothing that depends on that

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-07 13:22:00 +11:00
Stefan Metzmacher
34b7b552e8 pidl:Samba4/NDR/Parser: fix ndr_pull/ndr_push mismatch
metze
2011-02-01 18:35:22 +01:00
Stefan Metzmacher
9fe4b695fe pidl:Samba4/NDR/Parser: add support for 'ms_union' style aligment
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue Feb  1 12:13:45 CET 2011 on sn-devel-104
2011-02-01 12:13:45 +01:00
Stefan Metzmacher
6124148d66 pidl:Samba4/NDR/Parser: only do the switch type alignment when we have a switch type
This doesn't change the logic, it just doesn't call the same aligment function
twice.

metze
2011-02-01 11:21:43 +01:00
Stefan Metzmacher
76f2ddf5a9 pidl:NDR: add support for 'ms_union' property.
metze
2011-02-01 11:21:42 +01:00
Stefan Metzmacher
34664338f3 pidl:Typelist: fix perl warnings about recursiv function calls
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Jan 26 10:59:04 CET 2011 on sn-devel-104
2011-01-26 10:59:04 +01:00
Stefan Metzmacher
4b068bb919 pidl:Samba3/ServerNDR: correctly initialise ndr_push struct
We need to copy the ptr_count from the ndr_pull struct to the ndr_push struct,
otherwise we'll reuse full pointer ids, which will cause the client to
fail in the ndr unmarshalling.

metze
2011-01-26 08:51:46 +01:00
Stefan Metzmacher
1a96ec2109 pidl:Samba4/NDR/Client: remove compat mode for dcerpc_pipe based bindings
The only consumer "openchange" uses the dcerpc_binding_handle based
functions now.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Jan 21 08:16:25 CET 2011 on sn-devel-104
2011-01-21 08:16:25 +01:00
Stefan Metzmacher
2778130d45 pidl:Samba4/Python: fix memory leak in _ndr_print functions
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Jan  6 14:34:31 CET 2011 on sn-devel-104
2011-01-06 14:34:31 +01:00
Stefan Metzmacher
d89e762240 pidl:Samba4/Python: avoid ';;' in generated C code.
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Jan  5 11:10:34 CET 2011 on sn-devel-104
2011-01-05 11:10:34 +01:00
Stefan Metzmacher
2e45cd15ec pidl:Samba4/Python: fix segfault when setting pointers to scalars.
metze
2011-01-05 10:24:49 +01:00
Stefan Metzmacher
2868fc8a91 pidl: regenerate lib/Parse/Pidl/Expr.pm from expr.yp
metze
2011-01-05 10:24:49 +01:00
Jelmer Vernooij
b320cc7990 Fix some formatting. 2011-01-03 01:48:04 +01:00
Jelmer Vernooij
320fd69923 Use fail_on_null. 2011-01-03 01:48:04 +01:00
Jelmer Vernooij
9529fdab26 wmi: Remove unnecessary noprint statements. 2011-01-01 02:54:05 +01:00
Jelmer Vernooij
bbab7ed8d9 pidl: Add prototype for init function in pidl-generated Python bindings. 2010-12-18 02:20:21 +01:00
Jelmer Vernooij
f9fbe0874f pidl: Use system pytalloc if possible. 2010-12-18 00:47:06 +01:00
Stefan Metzmacher
bde8046ca5 pidl:Samba4/Python.pm: ignore "SUBCONTEXT" levels
These are only important for the NDR marshalling
and not for the python bindings.

metze
2010-12-10 18:24:06 +01:00
Stefan Metzmacher
8babee2c00 pidl:Samba4/Python.pm: don't handle scalar reference types special
The only special thing is that don't need get_value_of(),
all other checks are needed.

metze
2010-12-10 18:24:06 +01:00
Matthieu Patou
21b0d5e3b1 pidl: use $CC -E if $CPP is not defined, if both undefined use cpp
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Fri Dec 10 01:26:44 CET 2010 on sn-devel-104
2010-12-10 01:26:44 +01:00
Stefan Metzmacher
12c5e3fe26 pidl:Samba4/Python.pm: use PyString_FromStringOrNULL() from pyrpc_util
metze
2010-12-08 19:07:09 +01:00
Jelmer Vernooij
3bff03723d pidl/python: Allow import of talloc, even though it doesn't live in the
samba.dcerpc. namespace.
2010-12-01 01:48:25 +01:00
Jelmer Vernooij
ba2110d190 pidl: Allow more flexibility importing modules using convenience function. 2010-12-01 01:48:24 +01:00
Jelmer Vernooij
dd0fbc47c7 pidl: Base new objects off of talloc object. 2010-12-01 01:48:24 +01:00
Andrew Tridgell
a3ed70ff96 pidl: fixed call to cpp with a space in the directory name 2010-11-21 23:10:14 +11:00
Andrew Tridgell
135756c8ac pidl: use a union assignment instead of memmove
this means we don't lose type checking

Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-11-05 23:42:08 +11:00
Stefan Metzmacher
482c022840 pidl:Samba4/NDR/Parser: fix NDR64 union alignment
We need to align before the switch_type and before the
union arms. Both alignments are to the boundary of the largest
possible union arm.

This means that adding a new union arm with a larger alignment
would break compat!!!

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sun Oct 24 17:49:23 UTC 2010 on sn-devel-104
2010-10-24 17:49:23 +00:00
Kai Blin
719a6bbfed ndr dns: Add simple parser 2010-10-23 10:17:05 +00:00
Günther Deschner
df7523c792 pidl: fix minor typo in s3 server generation.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Mon Oct 11 15:12:57 UTC 2010 on sn-devel-104
2010-10-11 15:12:57 +00:00
Tim Potter
391b24e3ed Fix some warnings at higher -W levels in pidl generated code.
Match data type for info levels to data type returned by utility
functions.

Autobuild-User: Tim Potter <tpot@samba.org>
Autobuild-Date: Mon Oct 11 12:18:22 UTC 2010 on sn-devel-104
2010-10-11 12:18:21 +00:00
Kai Blin
65d2cfdcf1 dnsp: Parse TXT records 2010-10-04 20:59:59 +02:00
Kai Blin
ee7ee2c4c2 ndr: Implement push function for IPv6 addresses
Thanks to Julien Kerihuel for providing the patch that pushed me to
finish my own IPv6 patches.
2010-10-04 20:59:59 +02:00
Kai Blin
013780b1e1 ndr: Add support for pulling/printing an ipv6address type 2010-10-04 20:59:59 +02:00
Jelmer Vernooij
88d08c172c pidl: Allow longs for bitmasks. 2010-10-03 16:25:37 +02:00
Jelmer Vernooij
b7acb8ebb6 pidl: simplify some generated code. 2010-10-03 16:25:37 +02:00
Jelmer Vernooij
b77bcea352 pidl: Fix handling of typedefs of typedefs. 2010-10-01 11:03:18 +02:00
Stefan Metzmacher
fcee50b9c9 pidl: add support for pointers in typedefs
metze
2010-09-28 23:06:52 +02:00
Stefan Metzmacher
d4636c47c7 pidl:NDR/Parser: remove unused code for array element index
metze
2010-09-28 23:06:51 +02:00
Stefan Metzmacher
7fff22c29d pidl:NDR/Parser: simplify logic in ParseMemCtxPullFlags()
metze
2010-09-28 23:06:49 +02:00
Stefan Metzmacher
3fa29cdd94 pidl:NDR/Client: make the generated code look a bit nicer
metze
2010-09-28 23:06:48 +02:00
Stefan Metzmacher
96666d48a7 pidl: remove unused async property handling
metze
2010-09-28 23:06:45 +02:00
Stefan Metzmacher
a73a2abb3a pidl/Python: use has_property($d, "noopnum") helper function
metze
2010-09-28 23:06:44 +02:00
Stefan Metzmacher
65c5278f4d pidl:NDR/Client.pm: remove unreached code
metze
2010-09-28 23:06:42 +02:00
Stefan Metzmacher
121ad074f9 pidl/Python: remove todo handling from PythonFunction(), it's done by the caller
metze
2010-09-28 23:06:41 +02:00
Stefan Metzmacher
a0fa1dd6fc pidl/Typelist: let typeIs() do TYPEDEF dereference in the HASH case
metze
2010-09-28 23:06:40 +02:00
Andrew Tridgell
7d380795b6 pidl: added ifdef guards around ndr headers
this prevents us parsing the leading headers needlessly
2010-09-27 22:55:05 -07:00
Stefan Metzmacher
bea4948acb pidl:NDR/Parser: fix range() for arrays
metze
2010-09-23 13:34:08 -07:00
Jelmer Vernooij
049c4fa04d pytalloc: Add default compare function. 2010-09-21 11:47:03 -07:00
Jelmer Vernooij
6a3c687f03 pidl/python: Allow passing in UTF8 string objects as well as unicode
objects for IDL strings.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-09-20 23:17:41 -07:00
Jelmer Vernooij
c4c6f8f175 s4-pild-python: Fix assignments - even though we reference the mem_ctx
of an object we still use the actual ptr.
2010-09-20 22:40:47 -07:00
Jelmer Vernooij
a7393449eb pidl: Fix segfault when accessing unicode objects. 2010-09-20 22:40:46 -07:00
Jelmer Vernooij
5dd47eeac2 s4-pidl-python: use correct talloc pointer when allocating subobjects. 2010-09-20 22:40:46 -07:00
Andrew Tridgell
83a24ff2ef pidl: prevent ndr_print_*() dying on NULL pointers
when using ndrdump you can get uninitialised structures containing
pointers. Don't segfault when trying to print them
2010-09-16 21:09:17 +10:00
Jelmer Vernooij
0bc53f7d9f pidl: Keep only a single copy of samba.dcerpc.base.ClientConnection. 2010-09-03 02:39:38 +02:00
Jelmer Vernooij
c5449c9298 pidl: Factor out generation of interface type name. 2010-09-03 00:35:29 +02:00
Andrew Tridgell
71f2ebcae0 pidl: cope with dom_sid28 in python generator
treated the same as dom_sid2
2010-09-02 13:37:07 +10:00
Andrew Tridgell
58d92cefe2 pidl-python: cope with NULL pointers in more places
NULL is converted to Py_None
2010-09-02 13:37:07 +10:00
Stefan Metzmacher
831611e221 pidl:Samba4/NDR/Client: support argument based stubs for [in,out,string]
metze
2010-08-28 10:59:20 +02:00
Stefan Metzmacher
94faf0ccbe pidl:NDR: [in,out,string] doesn't need to pointers
metze
2010-08-28 10:59:19 +02:00
Stefan Metzmacher
aa3b75ad1f pidl:Samba4/NDR/Client: correctly copy [out,charset()] buffers
If the conversion from CH_UTF16 to CH_UNIX uses multi-byte characters
in CH_UNIX, we should not silently truncate the string, but return
an error.

metze
2010-08-28 10:59:19 +02:00
Stefan Metzmacher
eeebaa63f1 pidl:Samba4/NDR/Client: fix skip reason for unsized arrays
metze
2010-08-28 10:59:18 +02:00
Andrew Tridgell
9cb771a4a0 pidl-python: ensure we allocate ref ptrs before use
this fixes a crash on samba4.samr.python in the build farm
2010-08-26 22:50:20 +10:00
Stefan Metzmacher
a701484230 pidl:Samba3/ClientNDR: remove unused ParseOutputArgument function
metze
2010-08-26 13:29:21 +02:00
Andrew Tridgell
4f8087cdb9 s4-python: reference substructures onto the parent structure
when a python object that is part of a parent structure is created, we
should reference it on the parent structure. This ensures that when
the child object goes out of scope that the parent structure is still
valid
2010-08-25 23:05:05 +10:00
Andrew Tridgell
895064000d pidl-python: fixed the docstrings for ndr_print, ndr_pack and ndr_unpack 2010-08-23 15:55:38 +10:00
Andrew Tridgell
34b8615574 pidl: cope with bad type conversions in unions
This prevents a crash when converting bad types in NDR unions

Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-08-22 14:57:34 +10:00
Andrew Tridgell
5a025c82f5 pidl: added a __ndr_print__() method on python NDR objects
This allows you to print a returned NDR structure using
s.__ndr_print__() which gives an easy view of complex
structures, such as those from netlogon
2010-08-22 14:57:34 +10:00
Volker Lendecke
b3f9345d76 Fix a typo 2010-08-16 21:14:25 +02:00
Stefan Metzmacher
b0b73ca041 pidl:Samba4/NDR/Client.pm: correctly copy fixed size out arrays
metze
2010-08-16 10:08:45 +02:00
Michael Adam
045f4c96d5 pidl: fix printing of server side ndr request debug messages
The macros NDR_PRINT_IN_DEBUG and NDR_PRINT_OUT_DEBUG are made for
the client side. For the server side, the NDR_SET_VALUES flag needs
to be added for the OUT struct and not for the IN struct, otherwise,
the OUT part can print uninitialized data and the IN part may
recalculate string lengths illegally.
2010-08-13 23:50:41 +02:00
Stefan Metzmacher
5130e664b9 pidl:Samba3/ClientNDR: implement rpccli_ stubs on top of dcerpc_ stubs
metze
2010-08-12 14:31:23 +02:00
Stefan Metzmacher
51fb4c3860 pidl:Samba4/NDR/Client: add sync dcerpc_pipe based stubs as compat for OpenChange
This will activate the compat wrappers for all functions of an interface:
 #define DCERPC_IFACE_MYPROTO_COMPAT 1
 #include <ndr_myproto_c.h>

This will activates the compat wrappers just for specific functions:
 #define DCERPC_CALL_MYFN1_COMPAT 1
 #define DCERPC_CALL_MYFN2_COMPAT 1
 #include <ndr_myproto_c.h>

metze
2010-08-12 14:31:20 +02:00
Stefan Metzmacher
719981adfd pidl:Samba4/NDR/Client: add non struct base dcerpc_binding_handle client stubs
metze
2010-08-12 14:31:20 +02:00
Stefan Metzmacher
62297dff8f pidl:Samba4/NDR/Client: convert code to $self->pidl()
metze
2010-08-12 14:31:19 +02:00
Stefan Metzmacher
570eefc57a pidl:Samba4/NDR/Client: s/interface/if/
metze
2010-08-12 14:31:19 +02:00
Stefan Metzmacher
76691e9eaf pidl:Samba4/NDR/Client: make use of the new dcerpc_binding_handle_call() infrastructure
metze
2010-08-12 14:31:18 +02:00
Stefan Metzmacher
db89fdac73 pidl:Samba4/NDR/Client: remove old dcerpc_pipe based sync stubs
They're unused in Samba and only used by OpenChange.
I'll add a compat functions for OpenChange later.

metze
2010-08-12 14:31:18 +02:00
Stefan Metzmacher
a2e1f54b3e pidl:Samba3/ClientNDR: ignore "todo" functions
metze
2010-08-12 14:31:16 +02:00
Stefan Metzmacher
a22989a54a pidl:NDR: correctly handle no pointer bracket arrays with 'string'
metze
2010-08-09 19:39:10 +02:00
Stefan Metzmacher
0a7f749bc8 pidl:NDR: correctly handle bracket arrays with 'string'
metze
2010-08-08 11:05:19 +02:00
Stefan Metzmacher
33d1879d5b pidl: Samba3/ClientNDR - Correctly copy arrays, if r.out.size < r.in.size.
metze

Signed-off-by: Andreas Schneider <asn@samba.org>
2010-08-06 14:20:08 +02:00
Andrew Tridgell
a41dffcb6a pidl: added a new type dnsp_name
This is a name type used in DNS where each DNS component maps to a
length byte followed by the string

We want these to map to a char *, which is why we need to do this in
PIDL
2010-08-05 17:31:29 +10:00
Andreas Schneider
c1e81686af pidl: Use struct pipes_struct. 2010-07-28 10:39:22 +02:00
Andreas Schneider
5cefbfef26 s3-rpc_server: Added callbacks for init and shutdown of a rpc service.
This adds two callback function for each rpc service. One is for
initialisation and the other for shutdown. rpc_<service>_unregister()
needs to be called to execute the shutdown function.
2010-07-19 12:59:18 +02:00
Simo Sorce
100d37fc46 s3-dcerpc: Use DATA_BLOB for pipes_struct input data
Signed-off-by: Günther Deschner <gd@samba.org>
2010-07-16 01:51:18 +02:00
Simo Sorce
31b59bbf99 s3-dcerpc: Convert rdata from prs_struct to a simple DATA_BLOB
Signed-off-by: Günther Deschner <gd@samba.org>
2010-07-16 01:51:16 +02:00
Günther Deschner
690ed0c5e2 s3-rpc: when using rpc_pipe_open_internal, make sure to go through NDR.
Otherwise a lot of information that is usually generated in the ndr_push remains
in an uninitialized state.

Guenther
2010-07-08 16:35:26 +02:00
Günther Deschner
1dcf0e917e pidl: s3 server stubs: make sure LIBNDR_FLAG_BIGENDIAN is set when negotiated.
Guenther
2010-07-05 18:06:30 +02:00
Matthieu Patou
7703b89ae5 pidl: Finish to fix the python generated code for 64bit integers
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-06-25 11:33:16 +02:00
Jelmer Vernooij
700fcfbc63 pidl/python: Make sure to always increment reference counter when using
Py_None.
2010-06-25 00:16:18 +02:00
Jelmer Vernooij
4a75cb9cd5 pidl/python: Increment reference counter on Py_None to prevent us from
accidentally deallocating it.
2010-06-24 23:17:51 +02:00
Günther Deschner
bd4bbd9beb pidl: make sure to fill in cli->pipes_struct->hdr_req.opnum in s3 server dispatch tables.
Guenther
2010-06-16 12:15:24 +02:00
Andrew Bartlett
f5f184a77c pidl: Allow new property 'no_srv_register'.
This Samba-only property prevents pild from emitting the
rpc_wbint_init function, which causes problems because it needs
rpc_srv_register().

Andrew Bartlett

Signed-off-by: Günther Deschner <gd@samba.org>
2010-05-18 17:17:29 +02:00
Jelmer Vernooij
b8268cf7b0 s3: Remove use of iconv_convenience. 2010-05-18 11:45:31 +02:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Julien Kerihuel
9cddf891ad Choose between local tevent_status.h header file and installed one
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-05-12 19:30:56 +02:00
Günther Deschner
0798ddf63a pidl: add NDR_PRINT_DEBUG output to generated s3 server dispatch tables.
This dramatically helps tracking and debugging usage of the
rpc_pipe_open_internal users.

Guenther
2010-05-08 23:00:20 +02:00
Günther Deschner
094ee6cb43 pidl: indent cosmetics for s3 server stubs.
Guenther
2010-05-03 14:44:57 +02:00
Matthieu Patou
831336293d pidl: Fix the generation of py helper for 64 bit integer
Up to now the generation of code for python helpers dealing with 64 bits (NTTIME,hyper, ...)
was broken because they were assumed to be Int (PyInt_From ...) as Integer is always 32 bits
in python.
This fix use PyLong and states that the incomming data is a long long as it should be 64 bit at least.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-05-02 15:59:49 +02:00
Jeff Morriss
0f57a39916 pidl: Fix display field for time fields with newer versions of Wireshark.
Pidl generates some Wireshark dissector fields of type FT_ABSOLUTE_TIME.
Starting some time not too long ago, these fields need a 'display' field
other than BASE_NONE or BASE_DEC.  This commit fixes this,
*assuming* that all the times are "local."
2010-04-30 13:13:16 +02:00
Stefan Metzmacher
a8e81c25eb pidl:Samba4/NDR/Client: map NT_STATUS_NET_WRITE_FAULT to the matching NT_STATUS_RPC_* code
metze
2010-04-15 09:34:03 +02:00
Andrew Bartlett
738ac53037 pidl:python Allow 'nopython' to work
The 'nopython' flag wasn't available for use, as it failed to get past
the syntax checker.

Andrew Bartlett
2010-04-09 12:21:27 +03:00
Andrew Tridgell
f9eae32f4b s4-waf: mark the wscript files as python so vim/emacs knows how to highlight them 2010-04-06 20:27:11 +10:00
Andrew Tridgell
ecb775de2e s4-waf: install PIDL modules 2010-04-06 20:27:10 +10:00
Stefan Metzmacher
e230c8dd24 pidl:Samba4/Client: don't mix rpc and application NTSTATUS errors anymore for the new bindings
The new dcerpc_binding_handle based client stubs don't mix error codes anymore,
while the old dcerpc_pipe based ones still do to keep OpenChange happy for now.

metze
2010-03-29 15:35:53 +02:00
Stefan Metzmacher
4985720e81 pidl:Samba4/Python: librpc/rpc/dcerpc.h isn't needed anymore
metze
2010-03-23 18:44:33 +01:00
Stefan Metzmacher
30aa55a998 pidl:Samba4/Python: make use of dcerpc_binding_handle stubs
metze
2010-03-18 13:34:04 +01:00
Stefan Metzmacher
f055fce74c pidl:Samba4/Python: remove compiler warnings
metze
2010-03-18 13:34:04 +01:00
Stefan Metzmacher
2624bafca5 pidl:Samba4/Python: remove compiler warnings when using -Wc++
metze
2010-03-18 13:34:04 +01:00
Stefan Metzmacher
d0662ac4d0 pidl:Samba4/NDR/Client: make the old rpc_request style async functions static
metze
2010-03-12 15:25:49 +01:00
Stefan Metzmacher
15d9675b04 pidl:Samba4/NDR/Client: generate stubs for dcerpc_binding_handle abstraction
metze
2010-03-12 15:25:41 +01:00
Stefan Metzmacher
454bedcb80 pidl:Samba4/NDR/Client: don't generate client stubs for function marked as [todo]
metze
2010-03-12 15:25:40 +01:00
Stefan Metzmacher
8844acf424 pidl:Samba/Python: don't generate methods for functions marked as [todo]
metze
2010-03-12 15:25:40 +01:00
Stefan Metzmacher
20980eb787 pidl:NDR/Client.pm: generate explicit _recv functions
metze
2010-03-01 16:11:51 +01:00
Andrew Bartlett
f74ce57cb5 s4:rpc_server Add a 'if_version' parameter to the bind operation.
This allows the interface version to be forwarded to the remote server
in the RPC proxy, both in the endpoint lookup and the subsequent bind.

Andrew Bartlett
2010-02-20 02:55:29 +11:00
Günther Deschner
a049d75193 pidl: use ndr_push_relative_ptr2_start and ndr_push_relative_ptr2_end.
Guenther
2010-02-18 13:43:59 +01:00
Matthias Dieter Wallnöfer
04cf9b81eb pidl - Remove "Py_RETURN_NONE" compatibility code
This was needed only by Python 2.3 which we no longer support.
2010-02-09 17:53:09 +01:00
Jelmer Vernooij
4b11e0c67c pidl: Include Python.h first, to avoid warnings. 2010-01-21 16:15:10 +13:00
Matthieu Patou
678f2ca14b pidl: Introduce new dirrective: relative_short
relative_short is like relative but instead of having the offset coded on 4 bytes
it's coded on 2 bytes. Such things happen in GET_DFS_REFERAL messages.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-12-12 10:26:05 +01:00
Günther Deschner
79f82998b1 pidl: fix handling of output arguments in s3 client stubs.
a20e095 used (uint8_t) instead of (uint8_t *).

Guenther
2009-11-27 16:15:33 +01:00
Stefan Metzmacher
a20e095b1f pidl:Samba3/ClientNDR: $size can be 'foo / 2' so we need to add '(' and ')'
foo / 5 * sizeof(bar)' isn't the same as
'(foo / 2) * sizeof(bar)'.

metze
2009-11-26 11:47:42 +01:00
Stefan Metzmacher
ab1c92950f pidl:NDR/Parser: $size can be 'foo / 2' so we need to add '(' and ')'
foo / 5 * sizeof(bar)' isn't the same as
'(foo / 2) * sizeof(bar)'.

metze
2009-11-26 11:47:41 +01:00
Stefan Metzmacher
2cd88197f8 Revert "Work around ndr_unpack failing on structures with relative pointers."
This reverts commit c2cdb4ad5c.

It's not needed anymore.

metze
2009-11-20 13:48:36 +01:00
Stefan Metzmacher
05850d1894 pidl:NDR/Parser.pm: update ndr_pull->relative_highest_offset after handling relative pointers
metze
2009-11-20 13:48:36 +01:00
Volker Lendecke
e181b88978 Revert "s3: Do not reference ndr_table_<pipe> in the cli_ routines directly"
This reverts commit daa964013b.
2009-11-08 19:43:47 +01:00
Volker Lendecke
47455b4d1a Revert "s3: Do not reference the ndr_tables in the server calls directly"
This reverts commit 98fb71782e.
2009-11-08 19:43:46 +01:00
Volker Lendecke
82c35e460e Revert "s3: Do not reference ndr_table when calling rpc_srv_register"
This reverts commit 494b2aff88.
2009-11-08 19:43:46 +01:00
Volker Lendecke
494b2aff88 s3: Do not reference ndr_table when calling rpc_srv_register 2009-11-08 13:12:15 +01:00
Volker Lendecke
98fb71782e s3: Do not reference the ndr_tables in the server calls directly
This involves storing the interface table in the pipes_struct
2009-11-08 13:12:14 +01:00
Volker Lendecke
daa964013b s3: Do not reference ndr_table_<pipe> in the cli_ routines directly 2009-11-08 13:12:13 +01:00
Volker Lendecke
5cdee7ae05 s3: Do the printing for DEBUGLEVEL>=10 centrally
12 insertions(+), 10651 deletions(-)

I think that says it all :-)
2009-11-07 11:07:37 +01:00
Andrew Tridgell
dfbaf79a1b pidl: don't warn for compatible scalar types in unions
When we have an enum that is used as a union discriminator, what
matters is that the scalar mappings are the same, not if the types are
the same (otherwise we get warnings about uint1632).

Thanks to gd for noticing this.
2009-10-13 10:03:27 +11:00
Andrew Tridgell
1d0fb1e0fb tdr: teach TDR about uint1632 enums
TDB doesn't have NDR64, but it needs to know how to map the new types
from pidl
2009-10-07 09:56:23 +11:00
Andrew Tridgell
2bf8a7485c pidl: get the alignment right for uint1632 enums (NDR64)
The default enum in NDR63 is 32 bits, not 16 bits. We need a uint1632
type to get the alignment right.
2009-10-07 09:56:22 +11:00
Ronnie Sahlberg
e9f126421d add trailer alignment to structures 2009-10-06 19:14:11 +11:00
ronnie sahlberg
d26016c198 PIDL fix for using external types with wireshark backend
List,

Please review this patch to pidl.

Basically,  we need to process the wireshark conformance file BEFORE
we process the idl file since this file may define external types
and set the alignment for them (using the TYPE directive).
Otherwise pidl will default all external types to use 4byte alignment
which breaks (much more often) on NDR64

regards
ronnie sahlberg

From 8f86903fc353d0906bd82e72ce19c5af09beb001 Mon Sep 17 00:00:00 2001
From: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Date: Mon, 5 Oct 2009 15:22:43 +1100
Subject: [PATCH] In the PIDL wireshark backend, we define external types in the conformance
 file using the TYPE directive.
 If we declare external types here, we must parse this file before we process
 the IDL file, or else these external types will all default to 4byte padding
 (pidl assumes all unknown types are 4byte aligned).

Make sure we read the conformance file and create these new types before
we parse the idl file.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2009-10-06 19:11:51 +11:00
Andrew Tridgell
f21fb4b395 pidl: added int3264 as a base type
This is the type used for a variable that is 32 bits for NDR32 and 64
bits for NDR64
2009-10-03 18:17:23 +10:00
Andrew Tridgell
9eb78be4a6 ndr64: added support for trailing gap alignment
NDR64 has a 'trailing gap' alignment, which aligns the end of a
structure on the overall structure alignment.

This explains the discrepancy we had with the RPC-SAMR test and NDR64
2009-10-02 12:05:59 +10:00
Andrew Tridgell
64e08fef16 pidl: added union padding for NDR64
This fixes the problem with samr UserInfo16 when NDR64 is enabled
2009-09-29 18:08:22 +10:00
Jelmer Vernooij
830adcd58d pidl: Avoid using talloc_free as function pointer, since it may be a
macro.
2009-09-28 15:03:17 +02:00
Jelmer Vernooij
390cd90c8f pidl(s4.python): Fix arguments to PyCObject_FromVoidPtr for string_array's.
Caught by Guenther.
2009-09-26 01:34:22 +02:00
Andrew Tridgell
1a1cb92583 ndr: split out ndr enum functions
This allows for easier implementation of the NDR32/NDR64 split
2009-09-17 15:19:30 -07:00
Andrew Tridgell
db5e7f3d05 s4-pidl: add support for NDR64
Added support for NDR64 to the samba4 pidl generator
2009-09-17 15:19:28 -07:00
Jeremy Allison
02dc4a1e4e Ensure we enclose the enum values in brackets to make the cast work.
Jeremy.
2009-09-17 11:27:51 -07:00
Jeremy Allison
95311a220e Fix the problem with pidl generating invalid C for enums. According
to the C standard an enum is guarenteed to be an (int), which means
for 4 byte ints specifying a type of 0x80000000 is an invalid value.
The Solaris compiler complains about this. Fix by adding an (int)
cast in front of the value generation.
Jeremy.
2009-09-17 11:11:06 -07:00
Andrew Tridgell
011f103501 when we get an NDR error in the logs, it is useful to know where it happened 2009-08-12 15:33:37 +10:00
Stefan Metzmacher
558ff911df pidl: parse idl 'pipe' typedefs, but print out a not supported message for now
metze
2009-08-07 11:50:24 +02:00
Stefan Metzmacher
20a6fb5cdb pidl: fix formatting in expr.yp
metze
2009-08-07 11:50:24 +02:00
Stefan Metzmacher
bfa9624946 pidl: fix formatting in idl.yp
metze
2009-08-07 11:50:24 +02:00
Stefan Metzmacher
2ed71264e1 pidl:Samba3/ClientNDR: add support tevent_req based _send/recv() client functions
metze
2009-07-31 14:10:14 +02:00
Stefan Metzmacher
28a4656738 pidl:Samba3/ClientNDR: rename ParseFunction => ParseFunctionSync and add ParseFunction as glue
This prepares the following ParseFunctionAsync* commits.

metze
2009-07-31 12:49:47 +02:00
Stefan Metzmacher
6a1ff90708 pidl:Samba3/ClientNDR: allow passing optional variable prefixes to ParseOutputArgument()
metze
2009-07-31 12:49:46 +02:00
Stefan Metzmacher
9e4cf82b74 pidl/Samba4.pm: allow an optional prefix passed to DeclLong()
metze
2009-07-31 12:49:46 +02:00
Stefan Metzmacher
41b95da435 pidl:Samba4/Python: fix mapType() => mapTypeName()
This tries to fix commit 8eff9f9a31.

The problem was:

Undefined subroutine &Parse::Pidl::Samba4::Python::mapType called at /home/metze/master4/pidl/lib/Parse/Pidl/Samba4/Python.pm line 848.

Jelmer: please check this.

metze
2009-07-31 10:16:40 +02:00
Jelmer Vernooij
8eff9f9a31 python: Cope with the dom_sid2 alias in pidl's python generating code.
This fixes some problems in the samr Python bindings that pidl was
(correctly) warning about.
2009-07-30 20:28:29 +02:00
Jelmer Vernooij
6768cfe624 DCE/RPC(Python): Rename py_talloc_import to py_talloc_steal.
Use py_talloc_reference in DCE/RPC code, fixes
					access to SAMR pipe.
2009-07-30 20:04:42 +02:00
Ronnie Sahlberg
c6d7f3bdb5 pidl: import a patch to pidl made in the wireshark reporitory.
Original commit message in wireshark SVN (rev 28961):
====
From Kovarththanan Rajaratnam:
More "Cleanup header_field_info definitions"
====

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-07-28 12:30:16 +02:00
Stefan Metzmacher
92791ce9a8 pidl: allow foo being on the wire after [length_is(foo)] uint8 *buffer
metze
2009-07-27 17:51:32 +02:00
Stefan Metzmacher
7ccc9a6ef5 pidl: add support for [string] on fixed size arrays.
midl also supports this:

struct {
	long l1;
	[string] wchar_t str[16];
	long l2;
};

Where the wire size of str is encoded like a length_is() header:
4-byte offset == 0;
4-byte array length;

The strings are zero terminated.

metze
2009-07-27 17:51:32 +02:00
Jelmer Vernooij
7889823783 pidl: Print actual type names in errors about unknown origins rather than 'HASH(0x....)'. 2009-07-19 21:12:56 +02:00
Jelmer Vernooij
54a2f51d57 pidl: Print proper errors when arrays don't have a specified size rather than spewing pages of perl warnings. 2009-07-19 20:42:52 +02:00
Brad Hards
00bfe9c286 Add support for double type in pidl.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2009-06-02 18:05:42 +02:00