summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r8335: removed some duplicated codeAndrew Tridgell1-9/+5
(This used to be commit 1536d66662193568a51793d65fb319882db9d089)
2007-10-10r8261: charset style strings in pidl should be const, just like old style ↵Andrew Tridgell1-4/+4
ndr strings (This used to be commit aa0e1d6699959571963d6e6fb455b33c4436dcdf)
2007-10-10r8227: add STR_LARGE_SIZE flag, to support strings where the size is length+1,Stefan Metzmacher2-2/+18
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-10r8210: - make the ndr_token_* function publicStefan Metzmacher1-18/+29
- allow comparison function to be passed for ndr_token_retrive_cmp_fn(), this is for matching the keys, if NULL is passed, the old behavior tok->key == key is used metze (This used to be commit 019f3dc767ef703768df3acdbbd80808c122855c)
2007-10-10r8167: - use the same algorithm than w2k3 for 'unique' pointer valuesStefan Metzmacher2-5/+13
- add a new 'sptr' (simple-full) pointer type to simulate what we need to support pipes like epmapper and mgmt that uses 'ptr' full pointer in their spec - I runned make test and test_w2k3.sh with this, all fine does we have any other pipe using 'unique' pointer where we need 'ptr'? btw: jelmer, what does 'ignore' pointers do? they are allowed in pidl but not implemented! metze (This used to be commit d19068bfb2e3ff5d88bc3b76d5cef93417c7f218)
2007-10-10r8157: add the algorithm for unique pointers that w2k3 uses.Stefan Metzmacher1-0/+6
this is ifdef'ed out currently because we use 'unique' pointers in the epmapper pipe, where we should use 'ptr' full pointers. metze (This used to be commit ccc9d9267a60287eff1fb26132aa7cae3b39dcee)
2007-10-10r8150: these should be staticStefan Metzmacher1-2/+2
metze (This used to be commit 25f5d1db296b03b62869c8467b652a0df3107222)
2007-10-10r8148: - make the PAC generation code a bit more readable and add some outof ↵Stefan Metzmacher2-0/+145
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-10r8108: Fix indentation, and remove a discard_const_p() that we don't need ↵Andrew Bartlett1-4/+4
any more. Perhaps like minimal_includes.pl, we should have a way to find these automaticly. Hmm... Andrew Bartlett (This used to be commit d13b9f548e9d3696505178476d2615835cae8fe2)
2007-10-10r8050: - make use of more [value()] propertiesStefan Metzmacher1-0/+6
- the out subcontext's need to have a fixed size of r->in.offered, to make windows clients happy metze (This used to be commit 054e1ca434b2f81de199eeb41cb6233524fc5779)
2007-10-10r8045: fix valgrind warning, add zero padding when the string doesn't fill ↵Stefan Metzmacher1-1/+5
the full FIXLEN metze (This used to be commit d8175b01db69436d8af64b97d7b7beca4ba4b552)
2007-10-10r7865: changed pidl to take a "const void *" instead of a "void *" for theAndrew Tridgell7-32/+30
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-10r7706: Move ParseExpr() to util.Jelmer Vernooij1-4/+3
(This used to be commit 72efb695291f0ad3cdc80daa9f979454f6a81c04)
2007-10-10r7702: Implement [charset()] attribute.Jelmer Vernooij1-1/+37
(This used to be commit 7012e10bb6252a7e602e80f05c914a783610088c)
2007-10-10r7695: Add support for the [string] attribute that works in the traditional ↵Jelmer Vernooij1-0/+27
sense. Not used anywhere yet. (This used to be commit a73a35cfc7b5b92cd95bd0d0fbd64d04acecccf3)
2007-10-10r7575: - fix GetPrinterData() push sideStefan Metzmacher1-12/+81
- add somemore checks in the Emun*() pull/push glue code metze (This used to be commit 075fe1eb4b6b2d00cdd9965656598aaec53da638)
2007-10-10r7574: - seperate [in] and [out] buffers and buf_sizesStefan Metzmacher1-35/+39
- use the same names as etherel (offered,needed) for the buffer sizes (and they are really independently used) metze (This used to be commit f5532a5b74e972f44ed8aa19ee9c5851a4b40f65)
2007-10-10r7462: fix Enum* pushing, we need to send back a buffer of the same size as ↵Stefan Metzmacher1-0/+9
we got in the recv code..., this makes the w2k3 printserver properties gui happy:-) metze (This used to be commit 0130b0d90223bb7278f924e1b1370778f25d0d91)
2007-10-10r7364: - remove '\' chars from copy pasteStefan Metzmacher1-3/+5
- fix allocates [out,ref] pointers to be passed between functions metze (This used to be commit 9a1760c618b10ee08b4e6ad21eb0c7e757ae9dea)
2007-10-10r7328: fix GetPrinterData and SetPrinterData, with zero length subcontextsStefan Metzmacher1-0/+91
metze (This used to be commit 73d597bacf83492ed3da2307dd6785548b903b39)
2007-10-10r7327: pass down the ndr->flags to the subcontextsStefan Metzmacher1-0/+4
metze (This used to be commit c0462d60b58471b0804450d31a11e603519b45e4)
2007-10-10r7196: fix typo, that makes the spoolss test working with [validate]Stefan Metzmacher1-2/+2
([validate,bigendian] is still failing badly...) metze (This used to be commit da319b7bc366bb40d9d290efe17436c8fd5a0911)
2007-10-10r7194: fix pulling of the NDR_IN data, [validate] works for the NDR_IN side ↵Stefan Metzmacher1-1/+2
now... metze (This used to be commit d2eb1a68447ff71adfc56c60d26753e12596a1a6)
2007-10-10r7193: add some bail out checks and fix pushing of relative pointersStefan Metzmacher1-2/+19
metze (This used to be commit 58a214d98fc7a2b46a0876e57e05dec82438bc53)
2007-10-10r7186: add [relative_base] property, which is allowed on typedef'sStefan Metzmacher2-53/+129
(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-10r7184: remove unused ndr_pull/push_struct_start/end() functionsStefan Metzmacher1-30/+0
metze (This used to be commit 95d3286a327467c32ee25fcac913fc5f3113a74b)
2007-10-10r7182: remove current support for RELATIVE_CURRENT, this will be replaced ↵Stefan Metzmacher2-15/+2
with a better aproach later metze (This used to be commit 9a4e9f68fbddaae3fc86e30d39b69fc76261c0ea)
2007-10-10r7181: add functions to calculate the buffer size needed for array buffer in ↵Stefan Metzmacher1-0/+54
the spoolss_Enum* functions they will be later used in the spoolss server code metze (This used to be commit 539fe32cedb73be0520675a1052cba476e4974d2)
2007-10-10r7120: make use of the new 'noopnum' property and get rid of handwrittenStefan Metzmacher1-865/+164
parsing code for the spoolss_Enum* functions, there still same handwritten code needed but just to stack the autogenerated code into the correct way metze (This used to be commit 155d18e8b78afebfb4a84e43e3b4d8fc6c9cc4e2)
2007-10-10r6973: Merge new version of pidl into the main SAMBA_4_0 branch.Jelmer Vernooij3-120/+5
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-10r6932: Comment out static function - not used anywhere?Tim Potter1-0/+6
(This used to be commit 742989c952421ebdf2d21c98e1de1b2b74b9f435)
2007-10-10r6795: Make some functions static and remove some unused ones.Jelmer Vernooij1-2/+2
(This used to be commit 46509eb89980bfe6dabd71264d570ea356ee5a22)
2007-10-10r6746: added ndr_push_union_blob() for pushing IDL unions into a DATA_BLOBAndrew Tridgell1-0/+23
(This used to be commit dc25be9d69a65680f7942ed29c2d791d6ce7248a)
2007-10-10r6731: add a useful function for getting a guid with all bits to 0Stefan Metzmacher1-0/+10
metze (This used to be commit 161ecce7441649629b97ce1ca903b9704e06f66b)
2007-10-10r6720: added support for the remaining 2 types of CLDAP netlogonAndrew Tridgell2-0/+40
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-10r6690: added ndr_pull_struct_blob_all(), which is like ↵Andrew Tridgell1-0/+21
ndr_pull_struct_blob() but checks that all bytes are consumed (This used to be commit 7951e9bd647b35d2f92d7ba4dbbc2ac05f31491a)
2007-10-10r6574: send a value for embedded ref pointers,Stefan Metzmacher1-1/+1
(this fixes the doublepointer test against w2k3) but we accept zero pointers on the receive side, because it's used in DRSUAPI metze (This used to be commit 748ab5449bcc5b47f5ceaa83277bf8084c44ec56)
2007-10-10r6572: add "string_array" as new scalar type for handling SPOOLSS string array'sStefan Metzmacher1-0/+72
metze (This used to be commit 23b529ee090e1858fc18794b949f7e466fa82b0e)
2007-10-10r6519: move string handling functions to a seperate fileStefan Metzmacher3-476/+500
metze (This used to be commit a29d52817ce943c15f6896b74273df739867c8f7)
2007-10-10r6294: - add obfuscate support, which is used in MAPI rpc's, (the ^= 0xA5 ↵Stefan Metzmacher1-0/+52
stuff), based on a patch from j.kerihuel@openchange.org - remove unused $ndr_flags argument for the ParseCompression*Start() function's metze (This used to be commit 27ccdd61822ba1a24244086522b9f8fe97fe0a78)
2007-10-10r6287: sorted out a small but surprisingly tricky dependency problem with theAndrew Tridgell2-77/+136
ndr code for handling sids and security descriptors now that we have a sid in the nbt IDL (This used to be commit f8e77fcdeac704aed5e501aa9108f3ed0ab26ca4)
2007-10-10r6191: fix spoolss_Enum* push codeStefan Metzmacher1-3/+9
metze (This used to be commit e66aa87f148d04f4c44b08555345600b8a6278d4)
2007-10-10r6189: move function to the right placeStefan Metzmacher1-8/+5
metze (This used to be commit 08d22a07cfa84fe959320058e8574c8983e1d71f)
2007-10-10r6188: correct fix for rev 6182Stefan Metzmacher1-6/+2
we should start with an empty switch_list in ndr_print as we do for ndr_pull/ndr_push metze (This used to be commit 848f553117b369fc6697086b3f7d36dd17b60f5b)
2007-10-10r6182: Jelmer, I think we need to initialize the switch_list, else we areRichard Sharpe1-0/+4
crash city. (This used to be commit 6526f21fb72094e8ff62bfc2693a49a3b1679a95)
2007-10-10r6181: Use ndr_print_set_switch_value() here as well.Jelmer Vernooij1-1/+2
(This used to be commit 4da9d1d5c277eb65d0fe5bf5c4690531dcfb85de)
2007-10-10r6180: Use token_lists for storing switch valuesJelmer Vernooij2-18/+14
(This used to be commit f66e11137eed69b44f0739f1064625cbd96243bd)
2007-10-10r6179: - add new spoolss tests for all spoolss_Enum*() calls which didn't needStefan Metzmacher1-0/+274
a handle as parameter, EnumPorts EnumPrinterDrivers EnumMonitors EnumPrintProcessors EnumPrinters we now do cross checks between the different info levels and sore the results in a global context, so that we later can add cross checks between the different object types - add idl for EnumMonitors and EnumPrintProcessors metze (This used to be commit 92a3721bc7a28d521090b10eb3b1eed089036432)
2007-10-10r6134: add a new type dom_sid28 which is a 28 byte fixed buffer with a ↵Stefan Metzmacher1-1/+65
dom_sid in it metze (This used to be commit 460d1b089e494efaeb0c8c7fd4601a9ef57123c5)