summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr/libndr.h
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r24814: Fix headers, trim core.h even more.Jelmer Vernooij1-2/+2
(This used to be commit 9647f860bdd5c0a74583e886182bd041a45e7655)
2007-10-10r24712: No longer expose the 'BOOL' data type in any interfaces.Jelmer Vernooij1-1/+1
(This used to be commit 1ce32673d960c8b05b6c1b1b99e1976a402417ae)
2007-10-10r24551: rename dcerpc_interface_table -> ndr_interface_tableStefan Metzmacher1-0/+15
rename dcerpc_interface_list -> ndr_interface_list and move them to libndr.h metze (This used to be commit 4adbebef5df2f833d2d4bfcdda72a34179d52f5c)
2007-10-10r24540: rename struct dcerpc_endpoint_list/struct dcerpc_authservice_listStefan Metzmacher1-0/+5
into ndr_interface_string_array and move it to libndr.h metze (This used to be commit 473bca74dc9d9dc54a239c9b5d3dc5fcf5a117a9)
2007-10-10r24535: rename struct dcerpc_interface_call -> struct ndr_interface_callStefan Metzmacher1-0/+9
and move it to librpc/ndr/libndr.h metze (This used to be commit abd5551aabae1820baaa52a963e8c7aa9605914e)
2007-10-10r24532: rename struct dcerpc_syntax_id into struct ndr_syntax_idStefan Metzmacher1-3/+3
and move it into misc.idl The goal is to get rid a all dcerpc specific stuff in the generated ndr layer. metze (This used to be commit 2ed014cfb894cccab1654e3f7d5876393e2b52d7)
2007-10-10r23792: convert Samba4 to GPLv3Andrew Tridgell1-3/+2
There are still a few tidyups of old FSF addresses to come (in both s3 and s4). More commits soon. (This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10r21812: fixed an integer overflow error in the ndr push code.Andrew Tridgell1-1/+1
This needs to be fixed in Samba3 as well. It might be exploitable (I haven't confirmed one way or the other), so I think this should be fixed for 3.0.25 (This used to be commit 4766175ff2d0de8af92046e29280c7893ac8fe1f)
2007-10-10r20064: - fix pushing of DeReplicaObjectIdentifierX, this lets the DsAddEntry()Stefan Metzmacher1-0/+1
request work correctly - the error structures all have the same type metze (This used to be commit 3322dbd901106262b22db35e9ef455a08ac2867c)
2007-10-10r19859: Reuse referrent ids when pushing full pointers (still need toJelmer Vernooij1-0/+1
avoid pushing the referred object twice) and add test for full pointers. (This used to be commit 1638c8d234dbc85298000685e49570f23dfd0bf8)
2007-10-10r17888: use talloc_*_ptrtype() macros as wrappers arround the talloc_*_size()Stefan Metzmacher1-11/+10
functions to get rid of c++ warnings metze (This used to be commit 7579503bb886e9c4cc08756013f5311ce550c9fd)
2007-10-10r15629: fix some warningsStefan Metzmacher1-1/+1
metze (This used to be commit 803a602990b78eaec7b674ef3214b8ccea6a98f3)
2007-10-10r15427: Rename private to private_data to prevent errors from C++ errors (whichJelmer Vernooij1-1/+1
we care about in Samba3) (This used to be commit eb07aea711a5e3606e169d77b208b03bd876c639)
2007-10-10r15328: Move some functions around, remove dependencies.Jelmer Vernooij1-0/+9
Remove some autogenerated headers (which had prototypes now autogenerated by pidl) Remove ndr_security.h from a few places - it's no longer necessary (This used to be commit c19c2b51d3e1ad347120b06a22bda5ec586c22e8)
2007-10-10r14488: Install more headers.Jelmer Vernooij1-0/+2
Generate different #include lines in pidl depending on whether we're building inside or outside of the Samba tree (useful for 3rd-party projects). (This used to be commit 0c188833154c1fe565cb1735909e408a4a1a6049)
2007-10-10r14484: Install more headersJelmer Vernooij1-0/+3
(This used to be commit 430c6516d383bfd7f27287394bf8eef9f174b3e6)
2007-10-10r14402: Generate seperate headers for RPC client functions.Jelmer Vernooij1-0/+5
(This used to be commit 7054ebf0249930843a2baf4d023ae8f62cedb109)
2007-10-10r12651: Remove STR_LARGE_SIZE as it's no longer usedJelmer Vernooij1-1/+0
(This used to be commit 8e95aee6fba4d3632f4718428bdb1f07cb58fab4)
2007-10-10r12542: Move some more prototypes out to seperate headersJelmer Vernooij1-0/+3
(This used to be commit 0aca5fd5130d980d07398f3291d294202aefe3c2)
2007-10-10r12513: Similar change as my previous commit, but now for transfer syntaxes.Jelmer Vernooij1-0/+2
Avoids converting a static string to GUID every time we check whether a transfer syntax is equal to that of NDR. (This used to be commit 8dcfcaf75ab8cf4a54cf5e56f6be25acc68e3989)
2007-10-10r11973: make it easier to find bugsStefan Metzmacher1-1/+2
metze (This used to be commit 247f90c28d845fd2224cb07ed30d3e8122ba5644)
2007-10-10r10869: add dummy functions and dummy parsing of XPRESS decompression,Stefan Metzmacher1-1/+2
this is the compression algorithm used by w2k3 for DsGetNCChanges(). This algorithm isn't known yet, but it seems to be some sort of Lempel-Ziv algorithm. metze (This used to be commit 694252b6e02e365ae5baffb76cdbc89eec5358e7)
2007-10-10r9373: - create a hierachical memory tree with recursiv ndr_pull_* functionsStefan Metzmacher1-12/+32
- with this it's also possible to talloc_free() the ndr_pull structure and talloc_steal(ndr->current_mem_ctx); to fetch the whole data of the hierachical tree - if the toplevel struct is a valid talloc pointer it's also possible to use NDR_PULL_SET_MEM_CTX(ndr, mem_ctx); to the the toplevel pointer with the struct pointer (NOTE: no callers are using this yet, but they shortly will) metze (This used to be commit 1a2b8369586642cc9bc15d015c1e4256c3a92732)
2007-10-10r8500: greatly reduce the number of build warnings on x86-64 (every NDR macroAndrew Tridgell1-5/+5
in the generated code from pidl generated a warning) (This used to be commit 22f7fd76343646a149937fcdc891a98a516bf820)
2007-10-10r8227: add STR_LARGE_SIZE flag, to support strings where the size is length+1,Stefan Metzmacher1-1/+2
metze (This used to be commit cdd03fe87d0120ab3e18566bfc20df5955f9fb3c)
2007-10-10r8212: fix pushing of nbt_string's:Stefan Metzmacher1-0/+1
- we now use an ndr_token_list, for the nbt string label pointer offsets this avoids to scan the whole buffer - we need to check for already send string on a per component basis not only for the fullname e.g. w2k3 response this in the CLDAP netlogon replies forest: w2k3.vmnet1.vm.base dns_name: sub1. pdc_dns_name: w2k3-104. and this will be interpreted like forest: w2k3.vmnet1.vm.base dns_name: sub1.w2k3.vmnet1.vm.base pdc_dns_name: w2k3-104.w2k3.vmnet1.vm.base metze (This used to be commit d18303a0e27643285ffaf100eeddea2f9555c9db)
2007-10-10r8148: - make the PAC generation code a bit more readable and add some outof ↵Stefan Metzmacher1-0/+2
memory checks - move to handmodified pull/push code for PAC_BUFFER to get the _ndr_size field and the subcontext size right - after looking closely to the sample w2k3 PAC in our torture test (and some more in my archive) I found out that the first uint32 before the netr_SamInfo3 was also a pointer, (and we passed a NULL pointer there before, so I think that was the reason why the windows clients doesn't want our PAC) w2k3 uses this for unique pointers: ptr = ndr->ptr_count * 4; ptr |= 0x00020000; ndr->ptr_count; - do one more pull/push round with the sample PAC metze (This used to be commit 0eee17941595e9842a264bf89ac73ca66cea7ed5)
2007-10-10r7865: changed pidl to take a "const void *" instead of a "void *" for theAndrew Tridgell1-4/+3
structure in ndr_push_*() and ndr_print_*(). The push and print functions really should not modify the structure. metze, to make this work I had to change your spoolss hand marshaller. Can you please check it is OK? I think that the IN and OUT sides of that function are not ever called on the same structure, so I think that attempt at remembering the value by assigning to r->in._offered was not doing anything anyway, but please correct me if I have misunderstood it. If you really do need to remember something on those structures I'd suggest the ndr_token_store() and ndr_token_retrieve() functions, which are used by pidl for just this sort of thing. (This used to be commit eee528be97fa43ca53bdc5652b4d29a0a2caf563)
2007-10-10r7186: add [relative_base] property, which is allowed on typedef'sStefan Metzmacher1-0/+6
(maybe we could add them to elements latter...) with this property all relative pointers from inside the struct or union are relative to the struct/union start metze (This used to be commit c0dd18326c058e3e218d43f48ecff418f4b0b51e)
2007-10-10r7182: remove current support for RELATIVE_CURRENT, this will be replaced ↵Stefan Metzmacher1-4/+0
with a better aproach later metze (This used to be commit 9a4e9f68fbddaae3fc86e30d39b69fc76261c0ea)
2007-10-10r6973: Merge new version of pidl into the main SAMBA_4_0 branch.Jelmer Vernooij1-1/+0
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.. (This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
2007-10-10r6720: added support for the remaining 2 types of CLDAP netlogonAndrew Tridgell1-0/+1
response. To work around the fact that the type of the returned data is not encoded in the packet, this required adding ndr_pull_union_blob() which allows us to pull a blob into a union with a specified switch value, in this case the switch value comes from the calling NtVer field. (This used to be commit bd27e626c27be72913d1a1569ee6e2e2711df84e)
2007-10-10r6519: move string handling functions to a seperate fileStefan Metzmacher1-0/+1
metze (This used to be commit a29d52817ce943c15f6896b74273df739867c8f7)
2007-10-10r6180: Use token_lists for storing switch valuesJelmer Vernooij1-1/+1
(This used to be commit f66e11137eed69b44f0739f1064625cbd96243bd)
2007-10-10r6129: - add our own MSZIP decompression implementationStefan Metzmacher1-1/+1
(taken from cabextract.c from KDE) this code maybe need to be rewritten and the compression side needs to be done, but for now it seems to works - remove the dependency to zlib metze (This used to be commit 5e8558c5b4365a494aa054c3e08d4084b319e6e5)
2007-10-10r6061: add start of compression support in our rpc codeStefan Metzmacher1-0/+5
this is not complete cuurently... but I want other people to test it and help me on finishing it. (try to change the #if 0 in torture/rpc/drsuapi.c into #if 1) metze (This used to be commit 335adef37082a78e0426decb715629bd778e6582)
2007-10-10r5775: Remove some unused functions (unions are no longer as special as they ↵Jelmer Vernooij1-3/+0
used to be) Add oxid mapping table support in DCOM (This used to be commit e193555f0eec2dda8c8760e9668181200fef0a1e)
2007-10-10r5736: fix to avoid endless recursion in ndr_size_*() calculationStefan Metzmacher1-0/+3
metze (This used to be commit eaac0f214703f91f186eb54f97e15e56461762bd)
2007-10-10r5672: Use switch_type() and the token storage mechanism for unions:Jelmer Vernooij1-0/+2
- 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 (This used to be commit dc6b4ffc82a191631bc16a4b93a4916a39183ec6)
2007-10-10r5663: Revert some changes I didn't mean to commit...Jelmer Vernooij1-2/+0
(This used to be commit 54e0be6f1eccbd870eb0e60ae8cdb90d2dc7f657)
2007-10-10r5661: Be a little stricter on syntax regarding arrays. A pointer to anJelmer Vernooij1-0/+2
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. (This used to be commit a416de5825c540fd3741731c4be05e9a659a6fdb)
2007-10-10r5360: Remove a couple of unused functions.Jelmer Vernooij1-3/+0
(This used to be commit d8a0a6972156c3211001b7f98e990c167be2468c)
2007-10-10r5286: Some first steps in making the pidl code somewhat more generic for theJelmer Vernooij1-1/+1
various data types: Add ndr_flags argument to all ndr push/pull scalar functions (This used to be commit ab490c0c882bb13de190546c50a0631ecb8255ad)
2007-10-10r5084: - handle arbitrary data in the NULL record reply type for nbt name ↵Andrew Tridgell1-1/+1
queries - fixed unaligned pulls at the end of the packet in the ndr lib (This used to be commit 61c43509f7a538541d87bd505ca241e08a50f605)
2007-10-10r5034: - added a type mapping function in pidl, so the type names in our IDLAndrew Tridgell1-21/+0
files don't need to match the type names in the generated headers - with this type mapping we no longer need definitions for the deprecated "int32", "uint8" etc form of types. We can now force everyone to use the standard types int32_t, uint8_t etc. - fixed all the code that used the deprecated types - converted the IDL types "int64" and "uint64" to "dlong" and "udlong". These are the 4 byte aligned 64 bit integers that Microsoft internally define as two 32 bit integers in a structure. After discussions with Ronnie Sahlberg we decided that calling these "int64" was confusing, as it implied a true 8 byte aligned type - fixed all the cases where we incorrectly used things like "NTTIME_hyper" in our C code. The generated API now uses a NTTIME for those. The fact that it is hyper-aligned on the wire is not relevant to the API, and should remain just a IDL property (This used to be commit f86521677d7ff16bdc4815f9524e5286026f10f3)
2007-10-10r4885: added a new NBT client library. Features include:Andrew Tridgell1-1/+2
- structures defined using IDL in nbt.idl - build around our events structure, and talloc - fully async - supports all NBT packet fields as per rfc1002 - easy interfaces for name query and status For the moment there are just a couple of test functions in namequery.c, test_name_query() and test_name_status(). These will be removed when we hook the new library into libcli/ fully The new library will also be a fairly good basis for a nbt server. Although it can't be a server as-is, I wrote it with the needs of a server in mind (for example, extremely scalable idtree based packet handling) (This used to be commit ae7e625bfa4b4a3ee32c64566064b6a4c84ee4b9)
2007-10-10r4591: - converted the other _p talloc functions to not need _pAndrew Tridgell1-1/+1
- added #if TALLOC_DEPRECATED around the _p functions - fixes the code that broke from the above while doing this I fixed quite a number of places that were incorrectly using the non type-safe talloc functions to use the type safe ones. Some were even doing multiplies for array allocation, which is potentially unsafe. (This used to be commit 6e7754abd0c225527fb38363996a6e241b87b37e)
2007-10-10r4550: talloc() is now typesafe. It is exactly equivalent to the old ↵Andrew Tridgell1-2/+2
talloc_p() macro. Use talloc_size() if you want the old behaviour. I have kept talloc_p() as an alias for now. Once we change all calls to be plain talloc() then we can remove it. (This used to be commit 2011bbeb841fd6bfccf3d44a49f79203f7f55baa)
2007-10-10r4110: fixed pidl to allow arrays to have size_is() and length_is() elementsAndrew Tridgell1-17/+10
that depend on variables that come after the array in the structure or function. This has been something that has been problematic for a while, but the winreg QueryValue problem finally prompted me to fix it properly. We should now go back and fix up all the ugly workarounds we have used to avoid this problem in other calls. Unfortunately the solution is fairly complex, and involves the use of the internal ndr token lists (similar to the solution for relative pointers). I wonder if anyone else will be able to follow the logic if I get run over by a bus :-) (This used to be commit e839b19ec5581f669f2a7705b1fb80845313251c)
2007-10-10r4102: more uint64 vs HYPER_T fixesStefan Metzmacher1-3/+9
NOTE: [u]int64 uses 4 Byte alignment and HYPER_T uses 8 Byte alignment metze (This used to be commit 717454eb2fd2bf90e67074acefdae5304cd7433f)