1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-03 04:23:50 +03:00
Commit Graph

23 Commits

Author SHA1 Message Date
Stefan Metzmacher
2287ed4afa r7115: specify what properties can be used on what objects...
metze
2007-10-10 13:17:18 -05:00
Jelmer Vernooij
7721fc7274 r7109: Change noid() to noopnum() so it isn't confusing to people familiar with id() 2007-10-10 13:17:17 -05:00
Stefan Metzmacher
189730d143 r7098: - make use of the NDR table instead of the IDL table in the client and server generation
- add 'noid' property to allow functions to be not present in the function table,
  and not generate client and server functions for them
- print out a warning about [id()] not being correctly supported yet

metze
2007-10-10 13:17:16 -05:00
Jelmer Vernooij
13cf227615 r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:

IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }

This makes the ndr_parser.pm internals much more sane.

Other changes include:

- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
  most other IDL compilers). This can be overridden using the
  default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
  is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
  useful for making sure IDL files work with other IDL compilers.

oh, and there's probably some other things I can't think of right now..
2007-10-10 13:17:01 -05:00
Stefan Metzmacher
27ccdd6182 r6294: - add obfuscate support, which is used in MAPI rpc's, (the ^= 0xA5 stuff),
based on a patch from j.kerihuel@openchange.org

- remove unused $ndr_flags argument for the ParseCompression*Start() function's

metze
2007-10-10 13:11:30 -05:00
Stefan Metzmacher
55963934db r6101: only allow properties we know about, that helps to catch typos!
what does length_of() and id() do?

metze
2007-10-10 13:11:19 -05:00
Stefan Metzmacher
2a7eead1c8 r6097: allow compression only on subcontexts
metze
2007-10-10 13:11:19 -05:00
Stefan Metzmacher
483bb1418f r5797: - add idl property [subcontext_size()]
this can be used like this
  [subcontext_size(28),subcontext(0)] dom_sid sid;

  this descripes a fixed 28 byte buffer which contains a dom_sid,
  and the rest of the buffer is padded with zero bytes if the dom_sid doesn't
  need all 28 byte in it's ndr encoding.

- only push and pull the subcontext when we are in the NDR_SCALARS section
  (tridge, jelmer: I hope this is correct for all cases...!?:-)

metze
2007-10-10 13:11:04 -05:00
Stefan Metzmacher
112043b180 r5764: add support for embedded ref pointers
metze
2007-10-10 13:11:01 -05:00
Jelmer Vernooij
dc6b4ffc82 r5672: Use switch_type() and the token storage mechanism for unions:
- Makes union handling less special
 - Allows unions in arrays, etc
 - Compatible with midl
 - Pidl will warn about switch_type() and the type of the switch_is() variable being different
2007-10-10 13:10:58 -05:00
Jelmer Vernooij
a416de5825 r5661: Be a little stricter on syntax regarding arrays. A pointer to an
array can now only be :

 type *name[];

rather then :

 type *name;

which was supported in the past. Warnings will be given when the first
syntax is used. Reasons for this change in behaviour include improved
readability and the fact that the second format makes dealing with multiple
levels of pointers harder.
2007-10-10 13:10:57 -05:00
Jelmer Vernooij
128c0ecf03 r5660: Reduce number of generated "{}"'s
No longer complain about pointers to arrays - we support those.
2007-10-10 13:10:56 -05:00
Jelmer Vernooij
e5eb5e847e r5465: Add support to multiple levels of pointers in pidl.
Also add a new function to echo.idl that tests this behaviour.
2007-10-10 13:10:48 -05:00
Jelmer Vernooij
40547ed33f r5426: Warn about embedded ref pointers. 2007-10-10 13:10:45 -05:00
Jelmer Vernooij
31bed62a9a r5362: Add pointer_default() support to pidl. pointer_default()
is assumed to be "ptr" if not specified (just like midl).

The validator will warn when "ptr" is used at the moment, because
pidl only supports unique, ref and relative at the moment.
2007-10-10 13:09:46 -05:00
Jelmer Vernooij
c9d7b88756 r5361: Rename some functions, add tests to validator. 2007-10-10 13:09:46 -05:00
Jelmer Vernooij
95c4f31499 r5338: More efforts to handle types similarly. 2007-10-10 13:09:44 -05:00
Jelmer Vernooij
6a0f599f82 r5320: Treat structs and unions somewhat more similarly:
- use same names in hashes (DATA -> ELEMENTS, etc)
 - [case()] and [default] are no longer special case, they're just regular properties
2007-10-10 13:09:41 -05:00
Jelmer Vernooij
1bb4718328 r2735: More DCOM updates:
- Several updates to the interface definitions after reading some more of the
 specs
  - Add Remote Activation interface
  - Add body extension uuids
 - Add oxidresolve torture test to list
 - Make pidl complain about object interfaces that don't inherit from IUnknown
2007-10-10 12:59:27 -05:00
Jelmer Vernooij
e364e46a88 r2704: Complain about 'object interfaces' that don't have version 0.0 (the standard
doesn't allow them to! I think the idea is that you just create a new
interface that inherits your old interface, thus ensuring backwards-compatibility)
Re-enable to validator
2007-10-10 12:59:24 -05:00
Andrew Tridgell
e67cbfff6c added code to the IDL validator to check for common errors with
pointers are arrays
-
Andrew Tridgell
a4aa9168c0 make pidl no longer dependent on Data::Dumper, which isn't installed
on some systems
-
Andrew Tridgell
c1b708708e added the beginnings of an IDL validator, to give clearer errors when
IDL is not valid
-