1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-09 08:58:35 +03:00

65 Commits

Author SHA1 Message Date
Andrew Tridgell
cb22240eb4 support the 'default' case in IDL unions
(This used to be commit 7f3f274cdc0f22324049952f2b744902a6fdf652)
2003-11-18 03:25:51 +00:00
Andrew Tridgell
7b185ccb32 auto-generate top-level debug print functions when a flag is set on
the dcerpc pipe. This saves lots of code in each test suite.
(This used to be commit db74a03d15d96d7f8bd751b8f857cc5b2be7d4c2)
2003-11-18 01:17:10 +00:00
Andrew Tridgell
fb53302c8e auto-generate functions for printing top-level function
parameters. You can choose to print just the [in] parameters, just the
[out] parameters or both
(This used to be commit 6afc3a465e3fc568636ff52975a6d339f8bc3179)
2003-11-17 11:53:12 +00:00
Andrew Tridgell
c562794e74 started documenting the extension to IDL that pidl implements
(This used to be commit 22b5418a53149b42e71fd887866f75cdd53b81af)
2003-11-17 09:32:57 +00:00
Andrew Tridgell
fa83432e10 * support inline arrays
* add enough to allow security descriptors to be IDL described

* added "noprint" property to allow fancy printing for specific
  functions
(This used to be commit 08df20c8bed57bbb9a9a907c807ad850382fd4e8)
2003-11-17 06:25:51 +00:00
Andrew Tridgell
ff9558bdf9 handle non-NTSTATUS return types
(This used to be commit 5832a1447c1d757a89d1f09324144132f9427cb1)
2003-11-17 02:57:04 +00:00
Andrew Tridgell
cc5f231e95 better [relative] handling, allowing for nested relative structures
and arrays of relative structures
(This used to be commit eb887f883a3ef2a90edec5bb495e140656c2f70d)
2003-11-17 02:17:01 +00:00
Andrew Tridgell
c4b7585288 * the beginnings of non-constant fixed arrays
* added relative pointers support
(This used to be commit 4a34a4f29cf8ab79582ce7b503da907df7b4d209)
2003-11-16 13:48:05 +00:00
Andrew Tridgell
0c5759a4b2 added support for "relstr", structure and union properties and public
functions
(This used to be commit fb2f8c6bffdaacdddbb7fb82439af70e17ce9a4b)
2003-11-16 11:34:32 +00:00
Andrew Tridgell
3d7524c7ae added the "subcontext" attribute for auto-handling of user-marshalled
sub-context buffers
(This used to be commit 01cc199d78da9e60aa8a279b37fbf8298cf61004)
2003-11-16 05:59:05 +00:00
Andrew Tridgell
b5fccdd9ee fixed the handling of much more general C expressions in value()
statements
(This used to be commit 8b38041f6530e42c5d294a5947c15a7f6a2d3c61)
2003-11-16 05:05:38 +00:00
Andrew Tridgell
54ccb9c6a2 added support for varying conformant arrays (needed for samr
userinfo3)
(This used to be commit f5b577a2b9d8084c8ee3f5b646b059c3297695b4)
2003-11-15 10:57:17 +00:00
Andrew Tridgell
1e9ea7fe86 fixed alignment of the buffers part structures
(This used to be commit f38ecd7ff7c2b2b36995e53af544cb99f0c084e0)
2003-11-15 09:13:55 +00:00
Andrew Tridgell
5a28ca7bf3 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 :)
(This used to be commit c7ddd6b2aadeb3bbd2ad520a9e074866b434cbba)
2003-11-15 07:49:03 +00:00
Tim Potter
7290260c1a Fix bug in generation of function ndr_pull code generation. This patch
makes the code symmetric with the ndr_push code.
(This used to be commit 4a6f192ff8396c644520050041a740856d72d40b)
2003-11-15 05:15:40 +00:00
Andrew Tridgell
5a1779b982 it turns out that all MS servers ignore the artifact struct_len fields
in OpenPolicy and OpenPolicy2, so we don't in fact need the
[struct_len] attribute. This makes our IDL much closer to the MS IDL.
(This used to be commit f0a8f063a680b5d0a68c5ac7cccf9c9a13adfb81)
2003-11-14 21:39:13 +00:00
Andrew Tridgell
4922823167 * make pidl.pl exit with an error on a parse error
* fixed a buffers/scalars bug in structures
(This used to be commit e66daf527357c65228db55a3d3319a0c20d8f51c)
2003-11-14 13:15:20 +00:00
Andrew Tridgell
565fd2da76 fixed another problem with pointers to arrays in structures
(This used to be commit cf880a83121421403db43ef87e95a5326e9c9cb8)
2003-11-14 07:55:43 +00:00
Andrew Tridgell
5b7f049829 fixed the handling of unions of pointers
(This used to be commit 7b0f2ccf07fc4f097c2abb4e8e63a5d457383a11)
2003-11-14 07:19:32 +00:00
Andrew Tridgell
b6b4cc752b * differentiate between pointers and non-pointers in switch_is union
elements in structures

* layout the pull/push/print generated functions with all push
  together, all pull together etc, as this makes for easier debugging

(note that I have no redirected commit messages for pidl to the
samba-cvs mailing list, so you may be seeing these messages for the
first time. See the pidl cvs repository for details on pidl)
(This used to be commit b5888b53157c539242ce84c07415e0b0d84dc264)
2003-11-14 02:20:41 +00:00
Andrew Tridgell
ff02537261 I think we now handle conformant arrays in structures correctly - the
test cases pass
(This used to be commit 22e15023509f8f1682865d72765e79f41ab7d149)
2003-11-13 09:23:58 +00:00
Andrew Tridgell
6735b72a8d handle constant sized arrays
(This used to be commit 673e7bcdc2d7ee949ca0f56f9ba3cd04b5c38397)
2003-11-12 05:32:37 +00:00
Andrew Tridgell
5475c9f978 added support for 8 byte aligned HYPER_T
(This used to be commit 259d5d7a0e2fa51d5d2ee36431c9e89784ee4a0c)
2003-11-11 07:55:41 +00:00
Andrew Tridgell
023a8fcb80 fixed the NDR structure alignment rules
still not perfect, but works for all the cases I have seen so far
(This used to be commit ce15cc87fbbe8ee0d383ad115168e9be29fe9efc)
2003-11-11 06:53:12 +00:00
Andrew Tridgell
d720f3d2e4 fixed handling on pointers to arrays of structures in unions
(This used to be commit a29145df04d08c13ee1b019b2de57ffd6883907a)
2003-11-11 06:20:18 +00:00
Andrew Tridgell
161321f68d automatic printing of unions
(This used to be commit 73b530075589f24f7bb9a001fde979ec6930d2bb)
2003-11-11 04:38:10 +00:00
Andrew Tridgell
cecbf0cd8b automatically generate ndr_print_*() functions for every IDL
structure. This allows easy debug and test tool writing without having
to write functions that print every element of complex structures.
(This used to be commit 81d6181172e36c6fbae0907550a29511ce708574)
2003-11-11 04:04:36 +00:00
Andrew Tridgell
be443f914a - added support for the pull side of unions
- don't generate parse functions for pull/push functions that are not
  used
(This used to be commit 54613574bcd8b365c13848c6aa9366cadeb5da0e)
2003-11-11 01:59:28 +00:00
Andrew Tridgell
db7012397f much cleaner handling of the different types of variables
(This used to be commit 4df59bcff56a00e413fbde1a40ffebcb16763d3c)
2003-11-10 11:33:21 +00:00
Andrew Tridgell
5eb907f1d4 added a module for auto-generating the client calls. We can now go
from IDL file to working Samba4 RPC client library in a completely
automated fashion.
(This used to be commit 566476b3ff91eaa02c4f3c494afbf9ac7c200461)
2003-11-09 08:28:47 +00:00
Andrew Tridgell
b7a6971ce1 - handle void functions
- bettenicer handling of PROPERTIES

- handle size_is() on an out variable that refers to an in variable
(This used to be commit 33d9b75783651ccb02f895bc9e0b0d0d59f67b1d)
2003-11-09 07:22:48 +00:00
Andrew Tridgell
75a30ad828 added support for arrays as function arguments and for unistr_noterm
(This used to be commit 7bb45a21aeb9ea653c86ae7aa45ceee850b4b255)
2003-11-09 02:20:26 +00:00
Andrew Tridgell
2430e941d7 added fixes for the pushing of arrays and handling non-ref pointers in
function arguments
(This used to be commit 25be8dafdae65d9b6cbd04514290f1402e882f4e)
2003-11-09 00:57:27 +00:00
Andrew Tridgell
574a11bd37 - include includes.h
- fix ref ptrs in push

- add NTSTATUS return
(This used to be commit cba9df9aa4cef7d35ae786a90d6c34b54e9a086a)
2003-11-08 13:24:14 +00:00
Andrew Tridgell
4e4a63d518 - generate both the pull and push side
- fixed lots of bugs
(This used to be commit 96e269fefedd1e8541eae7ad5e3fb98df978c81b)
2003-11-08 11:19:39 +00:00
Andrew Tridgell
3043b766c8 a bit of a tidy up before I add the ndr_pull_*() side of things
(This used to be commit 8e865508a6619af4f2d72c3db7890edf9e07da1d)
2003-11-06 12:42:37 +00:00
Andrew Tridgell
fa3db33a54 updated pidl to auto-generate the ndr_push_*() functions for the
Samba4 rpc framework

not complete, but sufficient for a number of lsa functions
(This used to be commit 42cd6904f51bac1ff92f0aea0deffb11864dfac2)
2003-11-06 12:29:23 +00:00
Andrew Tridgell
cc3a6ea992 This commit was generated by cvs2svn to compensate for changes in r30,
which included commits to RCS files with non-trunk default branches.
(This used to be commit 3a69cffb062d4f1238b8cae10481c1f2ea4d3d8b)
2003-08-13 01:53:07 +00:00
Andrew Tridgell
ef2e26c91b first public release of samba4 code
(This used to be commit b0510b5428b3461aeb9bbe3cc95f62fc73e2b97f)
2003-08-13 01:53:07 +00:00
Tim Potter
4d1f9d1def Added "return offset;" to end of generated function.
We're getting really close now!  Ethereal can properly decode OpenPolicy
requests and responses using pidl generated code.  QueryInfoPolicy
is nearly working.
(This used to be commit 23a9812987bad6fcf7bf131eafd2bf39d558eeb5)
2001-12-10 20:43:59 +00:00
Tim Potter
7ab4731cd9 Fix for pointers to structures in function args.
(This used to be commit e35c62267fb605c4813f7c6178c6061806c74482)
2001-12-10 06:23:52 +00:00
Tim Potter
7fd9b2ae1c Misc fixes:
- pass correct args when doing arrays of scalar vs buffer types
 - add NULL data argument to all calls
 - get rid of unecessary curly brackets
 - typos
(This used to be commit 42a688ea1c012626e247820dec927456e3de9b79)
2001-12-09 08:07:20 +00:00
Tim Potter
3c3fb798fd wchar_t is a scalar.
(This used to be commit 79e56e719cec28373c117efa33e8924470ffcdcf)
2001-12-09 06:12:51 +00:00
Tim Potter
ae02ee94e9 Convert a bunch of "prs_foo()" to "offset = prs_foo()"
Return offset from function request and response code.
(This used to be commit 83ada5447b05667800dec536ac71d4b7437c77e4)
2001-12-08 22:40:36 +00:00
Tim Potter
ae87ee3ccd Removed old commented-out code.
Generate code for parsing arrays.

We're nearly ready to start generating real code!
(This used to be commit f6f5b8a7189b579eaf1fbf8db91c9ba11b96ac57)
2001-12-08 22:04:16 +00:00
Tim Potter
6ec1278d16 Reinvented has_properties() function lost after HD crash. )-:
Fixed up handling of pointer to scalar type.
(This used to be commit eb3dbe113f9f4e755436caa974394e73a285cb03)
2001-12-08 21:43:22 +00:00
Tim Potter
d99084e3ec Made hyper a simple type.
Changed dissect_ to prs_ to avoid name conflicts.
(This used to be commit 2670f1f8e111f2944c35db9ad28e049db123f9a8)
2001-12-08 21:13:44 +00:00
Tim Potter
4201dba52e Moved processing of function arguments and structure elements
back in to ParseElement()

is_simple_type() -> is_scalar_type()

Added more types to scalar type list.

Pass scalars/buffers flag down to ParseElement()
(This used to be commit 802c219babc94178099dbc898da1a788a2e8a593)
2001-12-06 07:16:08 +00:00
Tim Potter
71f99b2a1e Don't pass down drep (data representation) arg from top level fn.
Decided to use tridge's PARSE_SCALARS and PARSE_BUFFERS pattern for
generating code for structures and function calls.  For functions, dissect
sub-structures with PARSE_SCALARS|PARSE_BUFFERS.  For arrays and structures
in structures (?) use PARSE_SCALARS on each element of the structure then
PARSE_BUFFERS.

Determine whether a type is a "simple" type or a struct/union.
(This used to be commit bb5bab58177fafd670dba8fe755b6c4753713efd)
2001-12-06 03:59:51 +00:00
Tim Potter
100655416e Don't pass decorative name to policy handle or ntstatus dissectors.
Pass drep (data representation?) field down from dcerpc dissector.  This is
whether the packet is big or little endian.
(This used to be commit e5ca478614e50f7f45172a7f0e9fd37603502dfc)
2001-11-28 06:29:24 +00:00