summaryrefslogtreecommitdiff
path: root/source4/librpc/idl
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r8171: According to Samba 3 and Ethereal, the winreg_OpenUnkown stuff isTim Potter1-14/+9
actually a uint16 * without the [string] attribute, a la the the system_name argument to samr_Connect(). Initialising the pointer to NULL is sufficient and we still pass the RPC-WINREG test against win2k3. (This used to be commit 407d962dacf7c833b36cb739e48fe97226968a34)
2007-10-10r8168: after testing I saw that w2k3 uses unique pointers on the mgmt pipeStefan Metzmacher1-2/+2
that also matches the spec at http://www.opengroup.org/onlinepubs/9629399/apdyq.htm metze (This used to be commit 117e678bde040b9294c2fff473ececd0d7e3a1cc)
2007-10-10r8167: - use the same algorithm than w2k3 for 'unique' pointer valuesStefan Metzmacher2-4/+4
- 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-10r8156: I found out that the unknown[2] field of the unknown[4] array is a ↵Stefan Metzmacher1-3/+6
length too, it's always 16 bytes smaller than the size in the PAC_BUFFER we now dump the blob's on LOCAL-PAC with -d 10 metze (This used to be commit 4ef721ce53539ac56ca8ac4d601f512149ca7283)
2007-10-10r8148: - make the PAC generation code a bit more readable and add some outof ↵Stefan Metzmacher1-13/+19
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-10r8110: More PAC work. I still can't get WinXP to accept the PAC, but we areAndrew Bartlett1-7/+5
much closer. This changes PIDL to allow a subcontext to have a pad8 flag, saying to pad behind to an 8 byte boundary. This is the only way I can explain the 4 trainling zeros in the signature struct. Far more importantly, the PAC code is now under self-test, both in creating/parsing our own PAC, but also a PAC from my win2k3 server. This required changing auth_anonymous, because I wanted to reuse the anonymous 'server_info' generation code. I'm still having trouble with PIDL, particulary as surrounds value(), but I'll follow up on the list. Andrew Bartlett (This used to be commit 50a54bf4e9bf04d2a8e0aebb3482a2ff655c8bbb)
2007-10-10r8054: add OSVersion, OSVersionEx, DNSMachineName PrintServerDataStefan Metzmacher1-0/+22
metze (This used to be commit 47781fccbc9a4fc3867e4c3959a17765c7e4dc71)
2007-10-10r8053: requests from mmc show that the auth info for a bind should be 4 byte ↵Andrew Tridgell1-1/+1
aligned, not 8 byte aligned (This used to be commit c112a2b23e6cd2c55fbb7e8096a7c523a91d6814)
2007-10-10r8050: - make use of more [value()] propertiesStefan Metzmacher1-14/+9
- 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-10r8012: Add UUID for NDR64 transfer syntax.Jelmer Vernooij1-0/+3
(This used to be commit 6a3f62222285fa091968bb025edfe21fcf5dfb86)
2007-10-10r8001: Also fill in the krbtgt checksum, and make sure to put the rightAndrew Bartlett1-1/+1
checksum in the right place... Andrew Bartlett (This used to be commit 90d0f502da20add6784c883b2085cde519604933)
2007-10-10r7993: Further work on the Krb5 PAC.Andrew Bartlett3-13/+23
We now generate the PAC, and can verifiy both our own PAC and the PAC from Win2k3. This commit adds the PAC generation code, spits out the code to get the information we need from the NETLOGON server back into a auth/ helper function, and adds a number of glue functions. In the process of building the PAC generation code, some hints in the Microsoft PAC specification shed light on other parts of the code, and the updates to samr.idl and netlogon.idl come from those hints. Also in this commit: The Heimdal build package has been split up, so as to only link the KDC with smbd, not the client utils. To enable the PAC to be veified with gensec_krb5 (which isn't quite dead yet), the keyblock has been passed back to the calling layer. Andrew Bartlett (This used to be commit e2015671c2f7501f832ff402873ffe6e53b89466)
2007-10-10r7872: another place we were relying on the old behaviour of value()Andrew Tridgell1-1/+1
(This used to be commit 25a64f8946274e07ca233751bc745b160ff3e7c1)
2007-10-10r7870: fixed the RPC-SCHANNEL test. It turned out it was my const changes, asAndrew Tridgell5-5/+5
they slightly changed the semantics of value() in pidl, which broke a optimisation hack in some of our IDL files. I've changed the idl files to remove the hack for now. Sometime we need to find a better way to handle these :-) (This used to be commit 765f75ea630b13b1605409ff47a52cc11a1e496b)
2007-10-10r7729: Small fixes to the charset stuff.Jelmer Vernooij1-2/+2
(This used to be commit 5122b9f608399a6c90521e2f8bd96154755fe397)
2007-10-10r7702: Implement [charset()] attribute.Jelmer Vernooij1-2/+2
(This used to be commit 7012e10bb6252a7e602e80f05c914a783610088c)
2007-10-10r7644: - remove some dublicate structures SetForm and AddForm uses the same ↵Stefan Metzmacher1-25/+14
struct - fix some typos in EnumPrintServerForms()/GetPrintServerForms() - add AddPrintServerForms()/SetPrintServerForms() and DeletePrintServerForms metze (This used to be commit 73906388421beebb34f2a00c9e0d1fc8b400a42a)
2007-10-10r7643: This patch adds a new NTPTR subsystem:Stefan Metzmacher1-1/+1
- this is an abstraction layer for print services, like out NTVFS subsystem for file services - all protocol specific details are still in rpc_server/spoolss/ - like the stupid in and out Buffer handling - checking of the r->in.server_name - ... - this subsystem can have multiple implementation selected by the "ntptr providor" global-section parameter - I currently added a "simple_ldb" backend, that stores Printers, Forms, Ports, Monitors, ... in the spoolss.db, and does no real printing this backend is basicly for testing, how the spoolss protocol works - the interface is just a prototype and will be changed a bit the next days or weeks, till the simple_ldb backend can handle all calls that are used by normal w2k3/xp clients - I'll also make the api async, as the ntvfs api this will make things like the RemoteFindFirstPrinterChangeNotifyEx(), that opens a connection back to the client, easier to implement, as we should not block the whole smbd for that - the idea is to later implement a "unix" backend that works like the current samba3 code - and maybe some embedded print server vendors can write there own backend that can directly talk to a printer without having cups or something like this - the default settings are (it currently makes no sense to change them :-): ntptr providor = simple_ldb spoolss database = $private_dir/spoolss.db metze (This used to be commit 455b5536d41bc31ebef8290812f45d4a38afa8e9)
2007-10-10r7580: - add GetPrinterDriverDirectory() idl, torture test and server codeStefan Metzmacher1-0/+19
- add EnumMonitors() server code and return "Standard TCP/IP Port" - add parsing for opening Ports and Monitors with OpenPrinterEx() metze (This used to be commit 08e6de37bc293e2f000d03b51642964d92d6e95e)
2007-10-10r7575: - fix GetPrinterData() push sideStefan Metzmacher1-12/+12
- 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-64/+94
- 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-10r7552: Use ParseExpr() for [value] attributes; allowsJelmer Vernooij12-47/+25
us somewhat cleaner IDL. (This used to be commit b7b01bccd101654d1f5ec83cba9dea7e9431d6ce)
2007-10-10r7546: fix commentStefan Metzmacher1-1/+1
metze (This used to be commit de69d87ded11ef0954e931885761e9ecd9ce4e1b)
2007-10-10r7399: Try to get the AIX compile one step further.Volker Lendecke1-4/+2
Volker (This used to be commit 75dbd2069335af95b225716e06ea594013dea895)
2007-10-10r7394: rename LSA_TRUSTED_DOMAIN_INFO_5 to LSA_TRUSTED_DOMAIN_INFO_BASIC.Günther Deschner1-12/+12
Guenther (This used to be commit aec0d99da17fcb8abb9a2b0037b7412e83fd393e)
2007-10-10r7377: Integrate browse service stuff more nicelyJelmer Vernooij2-111/+102
Add notes on mailslots Add TODO list for pidl, including some plans on switching over to using [string] attributes for pidl. (This used to be commit fca195ce072bacb0543625aec7f4bce814e278eb)
2007-10-10r7357: some minor updatesStefan Metzmacher1-4/+7
metze (This used to be commit a547f2c2a190ec5cfaa6a3b3917159b3aa616f59)
2007-10-10r7345: add WritePrinter(), AbortPrinter() and ReadPrinter() idlStefan Metzmacher1-0/+9
metze (This used to be commit 1fc617e871729bccf38c0b5dd8316f78d2de727d)
2007-10-10r7341: fix StartDocPrinter() idlStefan Metzmacher1-1/+1
metze (This used to be commit 08d28e5d20bc689a2cdc779e7a99e3902abf99db)
2007-10-10r7337: - fix SetJob() idlStefan Metzmacher1-22/+52
- add StartDocPrinter() idl - add EndDocPrinter() idl metze (This used to be commit c635a623bc1fe6c78db9adf25500abc1f6ce9abe)
2007-10-10r7331: fix parsing of spoolss_SetPrinter()Stefan Metzmacher1-10/+25
metze (This used to be commit b0e7092bc585912882d06c56fd7a536c9b8936d6)
2007-10-10r7328: fix GetPrinterData and SetPrinterData, with zero length subcontextsStefan Metzmacher1-5/+27
metze (This used to be commit 73d597bacf83492ed3da2307dd6785548b903b39)
2007-10-10r7326: fix [validate]Stefan Metzmacher1-1/+1
metze (This used to be commit 08eb591034573b2748dad44f53ba7a806657e9e7)
2007-10-10r7314: the various ncacn and ncadg PDU's share the same namespaceJelmer Vernooij1-22/+16
(This used to be commit 58fee22e0b5054de631cc5929498d490db31f348)
2007-10-10r7312: Add IDL for ncadg packets.Jelmer Vernooij1-3/+86
(This used to be commit 2009a430b03c685dd65bd573e70d3618f2e0dd0f)
2007-10-10r7309: started adding IDL for nbt management calls. This adds aAndrew Tridgell1-4/+32
nbtd_information() call that has just one level for now, a NBTD_STATISTICS level for packet statistics (This used to be commit d0772eb5a7a023e08a7fff5ca8f4891630994e34)
2007-10-10r7294: implemented the irpc messaging system. This is the core of theAndrew Tridgell1-0/+23
management system I proposed on samba-technical a couple of days ago. Essentially it is a very lightweight way for any code in Samba to make IDL based rpc calls to anywhere else in the code, without the client or server having to go to the trouble of setting up a full rpc service. It can be used with any of our existing IDL, but I expect it will mostly be used for a new set of Samba specific management calls. The LOCAL-IRPC torture test demonstrates how it can be used by calling the echo_AddOne() call over this transport. (This used to be commit 3d589a09954eb8b318f567e1150b0c27412fb942)
2007-10-10r7212: Disambiguate dummy functions to avoid linker problemos.Tim Potter2-2/+2
(This used to be commit 61537301a3c2c93346d874132dd50a83f10b6fe9)
2007-10-10r7198: Add IDL for browse serviceJelmer Vernooij1-0/+111
(This used to be commit c04fca198ac1469580cd197379a3eff2ed55c41c)
2007-10-10r7188: make use of the new relative_base property for the spoolss_Enum* ↵Stefan Metzmacher1-14/+14
functions metze (This used to be commit 870ed3a2b528a9c869392b7ac31e90917bd66ed0)
2007-10-10r7182: remove current support for RELATIVE_CURRENT, this will be replaced ↵Stefan Metzmacher2-4/+1
with a better aproach later metze (This used to be commit 9a4e9f68fbddaae3fc86e30d39b69fc76261c0ea)
2007-10-10r7159: Improve the messages from pidl's validator module.Jelmer Vernooij1-11/+6
Change the IDL file for the echo interface to match the one we use for Windows. The only thing different between the two files currently is the names of the scalar types and the handling of strings. (This used to be commit b264c61061d222347919837600adf809fbadfb13)
2007-10-10r7138: Doh - fix some typos.Tim Potter1-2/+2
(This used to be commit 20e1ed965a03ff3292717e41f30210cc658f80c2)
2007-10-10r7137: Add a couple more dummy idl files for the DNS server and WindowsTim Potter2-0/+30
Terminal Server remote management. (This used to be commit 6838607893f071e15ef0b8c6a5b37922b3cd8717)
2007-10-10r7120: make use of the new 'noopnum' property and get rid of handwrittenStefan Metzmacher1-23/+107
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-10r7110: Remove invalid use of id()Jelmer Vernooij1-1/+1
(This used to be commit 9fe7e0f7700ab765a468eea596b3a9900abd509e)
2007-10-10r7037: Add enough pointers in the header file as wellJelmer Vernooij1-2/+2
Fix a couple of warnings. (This used to be commit fcaa9d495c13af5065dd32f8ed65d4260b3a5539)
2007-10-10r7036: Allow more operations in several properties (such as size_is, length_is,Jelmer Vernooij1-4/+2
switch_is, etc) and simplify the code involved (This used to be commit 86de98ee09348297f2c30ce15888ba5e5637c078)
2007-10-10r7029: Make array support in pidl similar to that in other IDL compilers. We ↵Jelmer Vernooij14-120/+120
should now able to use constructions like these: [size_is(20)] int *x; -> Pointer to array of 20 ints [size_is(20)] int x[]; -> Array of 20 ints [size_is(20)] int *x[]; -> Array of 20 pointers to ints [size_is(20,)] int *x[] -> Array of 20 pointers to ints [size_is(,20)] int *x[]; -> Pointer to array of 20 ints [size_is(,20)] int **x; -> Pointer to pointer to array of 20 ints [size_is(20)] int x[][30]; -> 20 blocks of 30 ints (This used to be commit ecf583da71c2f80be124c17fccdcb284b47e0695)
2007-10-10r6973: Merge new version of pidl into the main SAMBA_4_0 branch.Jelmer Vernooij33-17/+58
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)