summaryrefslogtreecommitdiff
path: root/source4/librpc
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r8233: - added support for more base types in pidl ejsAndrew Tridgell3-2/+22
- added auto generation of a header with prototypes for public ejs functions - make public functions non-static - fixed allocation of fixed sized arrays - added 'noejs' flag indicating that a typedef will be handled manually by ejs - added manual functions for sid and GUID, so they show up as nice strings in ejs scripts This allows ejs to bring in samr, security, lsa and misc IDL functions (This used to be commit a8cb2dbdcc2871090a26f580f67db8f0636d1e7e)
2007-10-10r8232: remove samr_String and netr_String as they are the same as lsa_StringStefan Metzmacher3-201/+187
metze (This used to be commit e601042c07d7b6eed0dc34e5b136d9266b8a0f81)
2007-10-10r8227: add STR_LARGE_SIZE flag, to support strings where the size is length+1,Stefan Metzmacher3-2/+19
metze (This used to be commit cdd03fe87d0120ab3e18566bfc20df5955f9fb3c)
2007-10-10r8223: fix the values of nt_version and type we reply in the server code,Stefan Metzmacher1-18/+18
also name the struct like the nt_version number metze (This used to be commit 1e3af5cc1f68b7fa54b8ba77ed9836a619a69436)
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-10r8192: updated the glue code for the generated ejs functions from pidlAndrew Tridgell1-0/+5
only handles a small subset of all IDL files so far (This used to be commit 14b6436cc51f599572932bef72c49e0da4888073)
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 Metzmacher4-9/+17
- 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-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-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 Metzmacher4-14/+168
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-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-10r8073: a successful rpc call from ejs!Andrew Tridgell1-0/+14
the ejs_echo.c code is the stuff that needs to be auto-generated by pidl. It only does echo_AddOne so far. We also need a table for registering these calls. The code is hard-wired for echo_AddOne for now. (This used to be commit b1ea58ddc482c373783d16331dd07378010ba39a)
2007-10-10r8068: reduced the verbosity of the EPM codeAndrew Tridgell1-3/+3
(This used to be commit 4c5974fc3dabd090284b2ed455a0af114ddbec1d)
2007-10-10r8057: use our defined push/pull types in the validate code (fixes a warning)Andrew Tridgell1-2/+2
(This used to be commit 4e14ebf51e871d6d70a194e2725c2158675dc6fc)
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 Metzmacher2-14/+15
- 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-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-10r7932: don't use the nbt called name as server name, for dcerpc_server_name()Stefan Metzmacher1-9/+8
in the ncacn_np trnaport it's now supported to use the ip address in smbtorture for ncacn_np tests that use dcerpc_server_name(), and we can now pass the dns host name in the tree connect when we have the dns name on the smbtorture command line metze (This used to be commit e29edbc7e62c738564ae842c9c01c969f5c70e5d)
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-10r7865: changed pidl to take a "const void *" instead of a "void *" for theAndrew Tridgell9-37/+35
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-10r7763: fixed some circular dependenciesAndrew Tridgell1-1/+1
(This used to be commit 3bdf89b0f7521ca39d48dc4c32fe96971d4d60fd)
2007-10-10r7729: Small fixes to the charset stuff.Jelmer Vernooij1-2/+2
(This used to be commit 5122b9f608399a6c90521e2f8bd96154755fe397)
2007-10-10r7706: Move ParseExpr() to util.Jelmer Vernooij1-4/+3
(This used to be commit 72efb695291f0ad3cdc80daa9f979454f6a81c04)
2007-10-10r7702: Implement [charset()] attribute.Jelmer Vernooij2-3/+39
(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-10r7690: Move the NT hash generation into the credentials system, rather thanAndrew Bartlett1-3/+4
in all the callers. This also allows us to be more flexible in the type of password we store. Andrew Bartlett (This used to be commit 00b8588c68526e1d86fda0bd81c0b86f690b62c3)
2007-10-10r7659: fixup the ordering of socket destruction for ncacn_ip_tcp so we don't ↵Andrew Tridgell1-4/+3
try and remove an epoll descriptor for a closed fd (This used to be commit bec5e9f80a934e6472e8d227214a9baba4f15054)
2007-10-10r7658: don't timeout at the smb level for rpc requests as otherwise some rpcAndrew Tridgell1-0/+4
level sign/seal mechanisms can break (This used to be commit 9df569f023f9a1e0d8c35de8135a344933bc69bf)
2007-10-10r7653: when a dcerpc request times out, we need to ensure that if the serverAndrew Tridgell1-1/+11
does finally answer the request and it is on the smb transport that we don't die in the callback code as the rpc request state is gone. (This used to be commit d47477c5c3acbaa7242fa3a06d4095258db86297)
2007-10-10r7652: use event friendly connect in dcerpc socket codeAndrew Tridgell1-1/+1
(This used to be commit 154effd781c901abfcd8f89721c4a6d03c07b670)
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-10r7633: this patch started as an attempt to make the dcerpc code use a givenAndrew Tridgell7-54/+49
event_context for the socket_connect() call, so that when things that use dcerpc are running alongside anything else it doesn't block the whole process during a connect. Then of course I needed to change any code that created a dcerpc connection (such as the auth code) to also take an event context, and anything that called that and so on .... thus the size of the patch. There were 3 places where I punted: - abartlet wanted me to add a gensec_set_event_context() call instead of adding it to the gensec init calls. Andrew, my apologies for not doing this. I didn't do it as adding a new parameter allowed me to catch all the callers with the compiler. Now that its done, we could go back and use gensec_set_event_context() - the ejs code calls auth initialisation, which means it should pass in the event context from the web server. I punted on that. Needs fixing. - I used a NULL event context in dcom_get_pipe(). This is equivalent to what we did already, but should be fixed to use a callers event context. Jelmer, can you think of a clean way to do that? I also cleaned up a couple of things: - libnet_context_destroy() makes no sense. I removed it. - removed some unused vars in various places (This used to be commit 3a3025485bdb8f600ab528c0b4b4eef0c65e3fc9)
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 Metzmacher2-24/+93
- 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 Metzmacher2-99/+133
- 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-10r7497: add timeouts to all rpc requests. The default timeout is 60Andrew Tridgell3-0/+49
seconds. This should prevent the problem I am seeing on a solaris box where a rpc request gets stuck forever (This used to be commit c24ab34813d675b9b81f3062fb6f30aae5697805)
2007-10-10r7496: removed an unused variableAndrew Tridgell1-1/+0
(This used to be commit a8c99d0e37b5ca37cabc201c1290c6cd26a16549)