1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00
Commit Graph

27 Commits

Author SHA1 Message Date
Andrew Tridgell
86ab394806 make sure there is at least one valid interface in an IDL file 0001-01-01 00:00:00 +00:00
Andrew Tridgell
c8b8480244 * added a bunch of placeholder IDL files
* allow for an interface to list its endpoints in the IDL file, so we
   can automatically make the server listen on the right pipes, and
   can scan pipes more easily (I don't take advantage of this yet,
   just putting the infrastructure in place)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
a2bdf0be01 * support multiple interfaces in one IDL file in pidl
* make far more generated functions static

 * get rid of gen_rpc, and include the client calls in ndr_*.c

 * added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4abf5376b0 added auto-determination of the DCERPC over TCP port number by asking
the servers endpoint mapper
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4203019698 give far more detail in the EPMAPPER results 0001-01-01 00:00:00 +00:00
Andrew Tridgell
92bcad0258 ooh, this is fun!
I have recoded the core dcerpc packet structures (all the PDUs etc) in
terms of IDL, which means we now use pidl to generate all the code for
handling the most basic dcerpc packets. This is not normally possible
as it isn't completely valid NDR, but pidl has a number of extensions
that make it quite easy.

This also means we get the server side dcerpc
marshalling/unmarshalling code for free.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
60be15d306 added support for enumerated types in IDL files. This makes unions
easier to work with.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
344a6e1682 added support for 'const' in IDL files. This makes it easy to define
symbolic names for bitfields etc.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
d2665f36a7 * changed the way strings are handled in pidl to a much more general
interface. We now support an arbitrary set of flags to each parser,
  and these can be used to control the string types. I have provided
  some common IDL string types in librpc/idl/idl_types.h which needs to
  be included in every IDL file.

* added IDL for the endpoint mapper. Added a test suite that enumerates
  all endpoints on the server.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
6ecdb25e13 * added support for empty case elements (including default cases)
* changed to midl syntax using [case(x)] instead of case(x)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
cdba426e62 auto-generate the pipe UUID version and name 0001-01-01 00:00:00 +00:00
Andrew Tridgell
7f3f274cdc support the 'default' case in IDL unions 0001-01-01 00:00:00 +00:00
Andrew Tridgell
22b5418a53 started documenting the extension to IDL that pidl implements 0001-01-01 00:00:00 +00:00
Andrew Tridgell
08df20c8be * support inline arrays
* add enough to allow security descriptors to be IDL described

* added "noprint" property to allow fancy printing for specific
  functions
0001-01-01 00:00:00 +00:00
Andrew Tridgell
eb887f883a better [relative] handling, allowing for nested relative structures
and arrays of relative structures
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4a34a4f29c * the beginnings of non-constant fixed arrays
* added relative pointers support
0001-01-01 00:00:00 +00:00
Andrew Tridgell
fb2f8c6bff added support for "relstr", structure and union properties and public
functions
0001-01-01 00:00:00 +00:00
Andrew Tridgell
01cc199d78 added the "subcontext" attribute for auto-handling of user-marshalled
sub-context buffers
0001-01-01 00:00:00 +00:00
Andrew Tridgell
8b38041f65 fixed the handling of much more general C expressions in value()
statements
0001-01-01 00:00:00 +00:00
Andrew Tridgell
c7ddd6b2aa support a new value() attribute that allows us to auto-fill certain
elements. Used at the moment for string lengths.

the regular expression isn't right, but it works for the case I need.
Perl expert needed :)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
22e1502350 I think we now handle conformant arrays in structures correctly - the
test cases pass
0001-01-01 00:00:00 +00:00
Andrew Tridgell
54613574bc - added support for the pull side of unions
- don't generate parse functions for pull/push functions that are not
  used
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4df59bcff5 much cleaner handling of the different types of variables 0001-01-01 00:00:00 +00:00
Andrew Tridgell
25be8dafda added fixes for the pushing of arrays and handling non-ref pointers in
function arguments
0001-01-01 00:00:00 +00:00
Andrew Tridgell
96e269fefe - generate both the pull and push side
- fixed lots of bugs
0001-01-01 00:00:00 +00:00
Andrew Tridgell
42cd6904f5 updated pidl to auto-generate the ndr_push_*() functions for the
Samba4 rpc framework

not complete, but sufficient for a number of lsa functions
0001-01-01 00:00:00 +00:00
Andrew Tridgell
14135ed6bb first version 0001-01-01 00:00:00 +00:00