summaryrefslogtreecommitdiff
path: root/source4/build/pidl/parser.pm
AgeCommit message (Collapse)AuthorFilesLines
2003-12-12handle the auto-allocation of [ref] output arrays in pidl. ThisAndrew Tridgell1-3/+9
can simplify rpc servers a lot. (This used to be commit 28fa62d63d020052a0d2f467f3f9cc6344aaf0ce)
2003-12-12 * the RPC-ECHO pipe now works in smbd, as long as the data sizesAndrew Tridgell1-0/+5
don't cause fragmented pdus (I'll add fragments shortly) * change data_blob_talloc() to not zero memory when the 2nd argument is NULL. The zeroing just masks bugs, and can't even allow a DOS attack * modified pidl to ensure that [ref] arguments to the out side of functions are allocated when parsing the in side. This allows rpc backends to assume that [ref] variables are all setup. Doesn't work correctly for [ref] arrays yet * changed DLIST_ADD_END() to take the type instead of a tmp variable. This means you don't need to declare a silly tmp variable in the caller (This used to be commit 46e0a358198eeb9af1907ee2a29025d3ab23b6d1)
2003-12-10more portable array of endpoints code from pidlAndrew Tridgell1-4/+7
(This used to be commit c598590a117d4281c530cded4bf9dae16ac1ee76)
2003-12-02netr_DatabaseSync() now works fully for databases 0, 1 and 2Andrew Tridgell1-1/+1
(This used to be commit c4c09e9413d3886e030e98739121bbae81f80ca5)
2003-12-02 * netr_ServerPasswordSet() now works - the test suite changes theAndrew Tridgell1-1/+11
machine account password. * neater handling on value() options in IDL. The auto-print code will now display the right value so you don't need to initialise it in your C code (This used to be commit 3dd978b12bb5571fba4e1839c0f7ee60cf729aa2)
2003-12-01added netr_LogonSamLogon() and test codeAndrew Tridgell1-1/+1
(This used to be commit 4fa3ad3ecbfd8f8663fcdfaba9a7db481e303f2b)
2003-12-01added netr_ServerReqChallenge and cleaned up byte array printingAndrew Tridgell1-1/+11
(This used to be commit bb42107dccf3a384a4a5c029b4d2752e0898d7cb)
2003-11-28 * added a bunch of placeholder IDL filesAndrew Tridgell1-1/+43
* 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) (This used to be commit c8b8480244b4ab6204403dc65e92e4317b410a84)
2003-11-28 * support multiple interfaces in one IDL file in pidlAndrew Tridgell1-13/+27
* 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) (This used to be commit a2bdf0be0119023df3c2b9ea515ed355020f2625)
2003-11-27added an rpc scanner. This prints messages like this:Andrew Tridgell1-2/+6
uuid 82273fdc-e32a-18c3-3f78-827929dc23ea version 0x0000:0x0000 'eventlog' 24 calls available WARNING: local IDL defines 4 calls when all the WARNINGs are gone then we know we have all the calls :) (This used to be commit f5821b2468a0c46d0e5590de59562926d746c349)
2003-11-24 * prepared the dcerpc subsystem for adding the RPC over TCP transportAndrew Tridgell1-3/+3
* fixed a uninitialised variable bug in pidl (found by valgrind) (This used to be commit 8bce61b8af6351c72c0dd84dc61b49d8aeb1fbbd)
2003-11-24make sure we don't try to update a constantAndrew Tridgell1-2/+8
(This used to be commit 4a6034f2e37d1050364fc167f1b71b5c806dfdc9)
2003-11-24added tests for the remaining calls on the rpc management interfaceAndrew Tridgell1-15/+33
(This used to be commit 00f9b0e12061c175334f96805ca8333f28f74d91)
2003-11-23added a tool called 'ndrdump' that allows you to dump NDR dataAndrew Tridgell1-2/+40
according to the current IDL taking the data from a file. In combination with a little hack to ethereal to extract data this is a quite powerful IDL development tool. (This used to be commit 229a325c3cf0d4dc1e910ed32e1d7391040aeba1)
2003-11-23fixed the handling of value() attributes on scalars in IDL thatAndrew Tridgell1-9/+5
reference other elements of the same structure (This used to be commit d8d17be290730670bad0fea91188d394160cb879)
2003-11-23ooh, this is fun!Andrew Tridgell1-1/+5
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. (This used to be commit 92bcad02587c3c1b31b523ee9fa46658a6cef9ff)
2003-11-22 * fixed handling of relative subcontext unionsAndrew Tridgell1-2/+2
* fixed GetPrinter in spoolss after OpenPrinter (This used to be commit 4aea2d79dd6b14e0fdfafd2236849ece01839ce0)
2003-11-22 * enable RPC/NDR validation in all smbtorture codeAndrew Tridgell1-2/+2
* allow us to distinguish between null arrays and zero length arrays, by making the allocation size a minimum of 1 on array pull (This used to be commit 11c0fe548ecfb03424f51e1354b86d4692e8f07c)
2003-11-22a fairly major upgrade to the dcerpc systemAndrew Tridgell1-54/+129
* added a NDR validator. The way it works is that when the DCERPC_DEBUG_VALIDATE_* flags are set the dcerpc system will perform NDR buffer validation. On sending a request the packet is first marshalled, then unmarahslled, then marshalled again, and it is confirmed that the two marshalling results are idential. This ensures that our pull and push routines are absolutely in sync, so that we can be very confident that if a routine works in the client then the corresponding routine must work on the server side. A similar validation is performed on all replies. * a result of this change is that pidl is fussier about the [ref] tag. You can only use it on pointers (which is the only place it makes sense) * fixed a basic alignment bug in the push side of the NDR code * added server side pull/push support. Our dcerpc system is now fully ready to be used on the server side. * fixed the relative offset pointer list. It must be traversed in reverse order on push * added automatic value setting for the size parameter in outgoing SdBuf structures. * expanded the ndr debugging code to always give a message on any failure * fixed the subcontext push code * fixed some memory leaks in smbtorture RPC tests (This used to be commit 8ecf720206a2eef3f8ea7cbdb1f460664a5dba9a)
2003-11-21fixed a bug with pushing non-pointer unionsAndrew Tridgell1-1/+3
(This used to be commit bc2fbc79cc7c0308934f351b067a88b4b397de37)
2003-11-21* changed the way strings are handled in pidl to a much more generalAndrew Tridgell1-17/+88
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. (This used to be commit d2665f36a75b482ff82733f72ffac938c2acf87a)
2003-11-20make sure we don't try to use c++ style variable declarationAndrew Tridgell1-1/+5
(This used to be commit 9fee73793171e2cd295899ec0db8bcecfa95ca72)
2003-11-20fixed pushing structures containing pointers inside unionsAndrew Tridgell1-1/+1
(This used to be commit bb30f42cd4e20d53066634727347a601b4eb562e)
2003-11-20a bit neater way of emitting codeAndrew Tridgell1-208/+215
(This used to be commit 964c3237215b36f5768b98c19689ddc43cf86cac)
2003-11-20 * cope with pidl not being in $HOME/pidlAndrew Tridgell1-1/+7
* cope with empty structures in unions (This used to be commit a706ff78937bea64acd28381466770749566399f)
2003-11-20avoid compiler warnings for unused variables with [relative] pointersAndrew Tridgell1-1/+2
(This used to be commit 786566e53c22d8d0813cf006a70aef8508bba4dd)
2003-11-20use strict perl package everywhere for error checkingAndrew Tridgell1-1/+1
(This used to be commit 3b7a4b70a321a1e8e378b8c5cc1e87a1c3399e91)
2003-11-20 * added support for empty case elements (including default cases)Andrew Tridgell1-24/+36
* changed to midl syntax using [case(x)] instead of case(x) (This used to be commit 6ecdb25e137c25e6bf9a7037a4eb602ae1afc514)
2003-11-19switched to a new way of handling unions, so that we can handleAndrew Tridgell1-28/+121
alignment correctly for unions that have non-uint16 discriminants added recursive structure alignment. This gets quite hairy, but I think I've got it mostly right. (This used to be commit c0d96f87ea633b1372a383f705aaf4ed3099b4a7)
2003-11-19slightly more accurate structure alignment code - I need to do properAndrew Tridgell1-2/+1
recursive alignment soon (This used to be commit d3838c3668d5acb4aee86e3dd5b8d7d23bc842ff)
2003-11-18support the 'default' case in IDL unionsAndrew Tridgell1-14/+54
(This used to be commit 7f3f274cdc0f22324049952f2b744902a6fdf652)
2003-11-18auto-generate top-level debug print functions when a flag is set onAndrew Tridgell1-0/+3
the dcerpc pipe. This saves lots of code in each test suite. (This used to be commit db74a03d15d96d7f8bd751b8f857cc5b2be7d4c2)
2003-11-17auto-generate functions for printing top-level functionAndrew Tridgell1-7/+44
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* support inline arraysAndrew Tridgell1-17/+23
* 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-17better [relative] handling, allowing for nested relative structuresAndrew Tridgell1-2/+21
and arrays of relative structures (This used to be commit eb887f883a3ef2a90edec5bb495e140656c2f70d)
2003-11-16 * the beginnings of non-constant fixed arraysAndrew Tridgell1-3/+13
* added relative pointers support (This used to be commit 4a34a4f29cf8ab79582ce7b503da907df7b4d209)
2003-11-16added support for "relstr", structure and union properties and publicAndrew Tridgell1-8/+45
functions (This used to be commit fb2f8c6bffdaacdddbb7fb82439af70e17ce9a4b)
2003-11-16added the "subcontext" attribute for auto-handling of user-marshalledAndrew Tridgell1-0/+12
sub-context buffers (This used to be commit 01cc199d78da9e60aa8a279b37fbf8298cf61004)
2003-11-15added support for varying conformant arrays (needed for samrAndrew Tridgell1-5/+23
userinfo3) (This used to be commit f5b577a2b9d8084c8ee3f5b646b059c3297695b4)
2003-11-15fixed alignment of the buffers part structuresAndrew Tridgell1-3/+4
(This used to be commit f38ecd7ff7c2b2b36995e53af544cb99f0c084e0)
2003-11-15support a new value() attribute that allows us to auto-fill certainAndrew Tridgell1-1/+3
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-15Fix bug in generation of function ndr_pull code generation. This patchTim Potter1-1/+3
makes the code symmetric with the ndr_push code. (This used to be commit 4a6f192ff8396c644520050041a740856d72d40b)
2003-11-14it turns out that all MS servers ignore the artifact struct_len fieldsAndrew Tridgell1-58/+1
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* make pidl.pl exit with an error on a parse errorAndrew Tridgell1-4/+8
* fixed a buffers/scalars bug in structures (This used to be commit e66daf527357c65228db55a3d3319a0c20d8f51c)
2003-11-14fixed another problem with pointers to arrays in structuresAndrew Tridgell1-7/+11
(This used to be commit cf880a83121421403db43ef87e95a5326e9c9cb8)
2003-11-14fixed the handling of unions of pointersAndrew Tridgell1-2/+6
(This used to be commit 7b0f2ccf07fc4f097c2abb4e8e63a5d457383a11)
2003-11-14* differentiate between pointers and non-pointers in switch_is unionAndrew Tridgell1-30/+87
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-13I think we now handle conformant arrays in structures correctly - theAndrew Tridgell1-14/+69
test cases pass (This used to be commit 22e15023509f8f1682865d72765e79f41ab7d149)
2003-11-12handle constant sized arraysAndrew Tridgell1-5/+19
(This used to be commit 673e7bcdc2d7ee949ca0f56f9ba3cd04b5c38397)
2003-11-11added support for 8 byte aligned HYPER_TAndrew Tridgell1-1/+2
(This used to be commit 259d5d7a0e2fa51d5d2ee36431c9e89784ee4a0c)