summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr/libndr.h
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r2948: added support for the [range(low,high)] attribute in pidl. This allowsAndrew Tridgell1-1/+2
range checking of any integer value, to help protect against denial of service attacks (which could otherwise cause large memory allocations) (This used to be commit dbe6430d78f1b9aa59969074077e4afa5adf7570)
2007-10-10r2204: added [flag(RELATIVE_CURRENT)] to change [relative] pointer behaviourAndrew Tridgell1-0/+4
for this struct and all sub-structures to be like spoolss relative pointers (where offset is relative to current position). volker will test this for me :) (This used to be commit bd45329a3fb55a5d9f006ad601ae26a80b9a563f)
2007-10-10r2180: added RPC flags "padcheck" which enables checking of all received padAndrew Tridgell1-2/+8
bytes to make sure they are zero. Non-zero values usually indicate one of two things: - the server is leaking data through sending uninitialised memory - we have mistaken a real field in the IDL for padding to differentiate between the two you really need to run with "print,padcheck" and look carefully at whether the non-zero pad bytes are random or appear to be deliberate. (This used to be commit 7fdb778f81f14aaab75ab204431e4342a462957a)
2007-10-10r1985: take advantage of the new talloc in a few more placesAndrew Tridgell1-6/+3
(This used to be commit 6ffdfd779936ce8c5ca49c5f444e8da2bbeee0a8)
2007-10-10r1884: remove empty header fileStefan Metzmacher1-1/+0
metze (This used to be commit 874d4506094123a1f42c32c3ad37f6374f5958e8)
2007-10-10r1848: fix LIBNDR_STRING_FLAGS to include LIBNDR_STRING_BYTESIZEStefan Metzmacher1-1/+1
metze (This used to be commit 7f1fceeb7f7e2e51fb67f48b1513a32564b7cdff)
2007-10-10r1847: add STR_BYTESIZE flag, to handle cases whereStefan Metzmacher1-0/+1
the size is in bytes not in unicode chars metze (This used to be commit 6d094d60d377479de28790bad8ceb4c083c902cd)
2007-10-10r1757: much simpler (and smaller, faster etc) way of doing relative pointersAndrew Tridgell1-17/+14
in pidl. This mechanism should be much easier to extend to the "retrospective subcontexts" that jelmer needs. also produced more standards complient full-pointer offsets. This keeps ethereal happy with decoding our epmapper frames. (This used to be commit ecb7378bbcd86727aedfa04a9e302e06b0a2ccd9)
2007-10-10r1269: Add a 'base' field to the ndr_ofs_list structure which is the base toTim Potter1-0/+1
which the offset applies to. In an array of structures containing relative members, the offset applies to the start of the array element being marshalled. Previously, there was no way to access the relevant structure start as by the time we have hit buffers, the head of the offset list will be the last structure being marshalled. Interestingly enough, this makes relstrs go away. I think we thought they were a special case in samba 3 but it turns out they are just regular relative elements in the idl. This makes spoolss a lot simpler than I thought it would be. I've run the samr and lsa tests and this doesn't seem to break anything. It looks like security descriptors are the only structures that contain relative members. Oh yeah, this will probably require a 'make clean && make' otherwise you will get bizzare errors. (This used to be commit d379dcdfd5f41e7cf7668354c3011b8ace190953)
2007-10-10r884: convert samba4 to use [u]int32_t instead of [u]int32Stefan Metzmacher1-17/+17
metze (This used to be commit 0e5517d937a2eb7cf707991d1c7498c1ab456095)
2003-12-31the endpoint mapper now works in bigendian modeAndrew Tridgell1-0/+3
(This used to be commit 1f89d89954a3501e08efa97d1276ba9bb2d2305f)
2003-12-02 * netr_ServerPasswordSet() now works - the test suite changes theAndrew Tridgell1-1/+3
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_ServerReqChallenge and cleaned up byte array printingAndrew Tridgell1-0/+3
(This used to be commit bb42107dccf3a384a4a5c029b4d2752e0898d7cb)
2003-11-28added auto-generation of the IDL interface tables. This makes two lessAndrew Tridgell1-20/+3
places that need to be edited when someone adds a new IDL file. (This used to be commit ccd9ddeed679baa6cbb05ac728b381b50420e00f)
2003-11-24added the dcerpc remote management interfaces as mgmt.idl, and wrote aAndrew Tridgell1-0/+6
test suite. The test suite dumps all of the interfaces available on all pipes. There sure are a lot more interfaces on w2k3 than w2k ! (This used to be commit f94bc079902d725b63155d8d2de5bf408c6e7335)
2003-11-23ooh, this is fun!Andrew Tridgell1-3/+13
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-22a fairly major upgrade to the dcerpc systemAndrew Tridgell1-7/+28
* 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-21* changed the way strings are handled in pidl to a much more generalAndrew Tridgell1-5/+19
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-21Start of winreg idl. Implement OpenHKLM, GetVersion and CloseKey.Tim Potter1-0/+1
(This used to be commit c8b87f5feb7756c7a5b38135517788c9f4ade36f)
2003-11-20Add initial work on eventlog - doesn't quite work yet.Tim Potter1-0/+1
(This used to be commit 99fff7b1e24ee7231fa41ca9cb85382637f2b2b0)
2003-11-20* fixed libndr.h headerAndrew Tridgell1-10/+9
* "make clean" now removed the generated files (This used to be commit 683259a4dd30861ed24e8e5df918c8725ae13800)
2003-11-20Added ATSVC pipe.Tim Potter1-0/+1
(This used to be commit 274058486766f7a1094918702e7bc225aa938b2e)
2003-11-20added samr_LookupNames() and test codeAndrew Tridgell1-0/+3
(This used to be commit f8397cbc8554b721093b8ae6ac6fb26d0ee9a7cf)
2003-11-19switched to a new way of handling unions, so that we can handleAndrew Tridgell1-3/+3
alignment correctly for unions that have non-uint16 discriminants fixed the union handling in srvsvc.idl. (metze, please take a look at the changes, your IDL did match what was one the wire in most cases, but isn't the way IDL is usually coded) (This used to be commit 7b5d0287298e8505e0ec7b22d75d9f9a8a610031)
2003-11-19srvsvc IDL and test code from metze. Thanks!Andrew Tridgell1-0/+1
(This used to be commit 54d3cb22dc0ddc46eb114aa104e0660b3a437cb2)
2003-11-17added wkssvc.idl and test codeAndrew Tridgell1-0/+1
I think this is our first complete pipe for Samba4 (albeit a simple one). Of course, there may be lots more info levels that Samba3 didn't do. Time to explore :) (This used to be commit 3305226140793f39af827b63c270486c1966718e)
2003-11-17 * add another WERR err codeAndrew Tridgell1-0/+12
* use the top-level function argument printing to show more detail in RPC-* tests (This used to be commit 33bb8785625b1845750f28f2d810e7096afe9f8e)
2003-11-17security descriptors are no longer a "special" type, they are handledAndrew Tridgell1-0/+1
using the [relative] property this also fixes level3 of PrinterInfo (a relative secdesc) (This used to be commit d5a15257fdd5f6cfe2706765a7c29f623ec1c6f8)
2003-11-17* more info levels for EnumPrinterAndrew Tridgell1-1/+0
* use WERROR return type in spoolss EnumPrinter (This used to be commit 8301a6b6ad45f76a42d0fcab6347c187eee615a9)
2003-11-17nicer method of handling spoolss EnumPrintersAndrew Tridgell1-2/+18
this also handles the return of several printers (an array of relative subcontexts) (This used to be commit 060421c7dc9aa611fe4160843a4f76498ab16bf4)
2003-11-16use nstring and [relative] to support levels 1 and 2 of EnumPrintersAndrew Tridgell1-3/+4
fully (This used to be commit 69c6017c945bdd7d1945f22fcad49112ba6a2d2d)
2003-11-16added support for level1 of EnumPrinters in spoolss. This uses aAndrew Tridgell1-0/+9
number of "magic" add-ons to IDL to make it less painful, hopefully this will make IDL generation useful for horrible systems like spoolss (This used to be commit e18dba7d5a957ef82e8f91733a0bf95d579dcd7a)
2003-11-15added samr_UserInfo2 and samr_UserInfo3Andrew Tridgell1-1/+3
(This used to be commit 5e852f694c039ae8bde3490be9e0c4959c1e93f0)
2003-11-15added the first couple of calls from samr as IDLAndrew Tridgell1-0/+2
samr_EnumDomains() works nicely (This used to be commit 7c162eaf3bb0195f9a2da05d6acd3c8e620f08d1)
2003-11-15Skeleton IDL for SPOOLSS pipe. For this inital version, only OpenPrinterExTim Potter1-0/+1
works but without a devicemode. (This used to be commit 35e889cf339f4ed62d4953b4cb5da2f21cf249a2)
2003-11-15added lsa_QuerySecObj() and the necessary sec_desc_buf supporting codeAndrew Tridgell1-0/+21
also adding printing of security descriptors (This used to be commit 1f93cbc1d597b973ab1a5005ede093c1bcefff87)
2003-11-13* fixed conformant arrays in structuresAndrew Tridgell1-2/+12
* expanded the rpcecho test * started adding the NETDFS pipe (This used to be commit 095ab42cbdd5c1c5ab753e2eb275742ba822c8b9)
2003-11-12lsa_PrivilegeSet seems to be a very strange beast indeed. It has aAndrew Tridgell1-0/+2
constant sized array of size 1 at the end? (This used to be commit 2cc354bd82456cb5598eb4acb40a5ada1459d08d)
2003-11-11added 9 more info levels to lsa_QueryInfoPolicyAndrew Tridgell1-1/+0
(This used to be commit b2ced24fc0be4944dd96f160e435f4c6773debcd)
2003-11-11start using automatic union printingAndrew Tridgell1-0/+2
(This used to be commit e81040a902f67fd10ca1f9c9ca1c22bc95e36005)
2003-11-11automatically generate ndr_print_*() functions for every IDLAndrew Tridgell1-0/+15
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-08- corrected some lsa idlAndrew Tridgell1-2/+12
- updated lsa parse code from pidl (This used to be commit 3983b2aee77b0e093847bfc02e02b83ab281f5dd)
2003-11-06another major bit of restructuring of rpc in Samba4. Mostly movingAndrew Tridgell1-0/+95
files around, but also added the first bits of auto-generated code for the lsa pipe. I haven't updated the Makefile to call pidl yet, so for now the code was cut-and-pasted into librpc/ndr/ndr_lsa.c manually (This used to be commit 6b222d3b6541ee74cf8bf3f0913cd444903ca991)