summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc
AgeCommit message (Collapse)AuthorFilesLines
2004-04-03This is the start of a C API to the DCERPC client routines. CurrentlyTim Potter1-0/+79
the only way to access this is to cut&paste from torture/rpc/*.c (This used to be commit 3355fec421f82034f433a4b59aa5ad589b070577)
2004-02-21split up the schannel rpc client code into separate key establishmentAndrew Tridgell1-19/+64
and bind calls, but with a combined call that does both. This makes is easier to write a schannel test program that tried different keys. (This used to be commit 9d89928086a7095bbc2218760b12263298af4217)
2004-02-12do not return a value in a void functionStefan Metzmacher1-1/+1
metze (This used to be commit 836612b841ce7f91525c333d81e31dcdb83f533c)
2004-02-11fixed a void return spotted by metzeAndrew Tridgell1-1/+1
(This used to be commit 3f1b7e51c9f18745b6c06c3934ecc4fdd743e1d0)
2004-02-10we can close the netlogon pipe used to setup the schannel session keyAndrew Tridgell1-1/+3
as soon as we are finished with the netlogon negotiation phase. The session key remains valid. (This used to be commit 95a40d4693994edcb2284a2a135d2db426f6addb)
2004-02-10don't always use the same schannel context numberAndrew Tridgell1-1/+1
(This used to be commit 396e0757122614211b535b140d9365ac7b8b880d)
2004-02-10- modified the dcerpc client security code to be generic, so ntlmsspAndrew Tridgell7-153/+469
and schannel are both instances of possible security modules - added schannel sign and sign/seal support to the dcerpc client code. You select it with binding options of "schannel,sign" or "schannel,seal". (This used to be commit 05db0b9d942cad8f1dd574dc35b759e5e79d4195)
2004-02-03- add 'print' to the DCERPC binding stringsStefan Metzmacher1-0/+1
e.g. ncacn_np:myserver:[samr,sign,print] will now enable the packet debugging and the debugging is not bound anymore to the debuglevel >= 2 in the torture tests - also the dcesrv_remote module now supports debugging of the packets use the 'dcerpc_remote:binding' smb.conf parameter. metze (This used to be commit 40abf3c584efed7f977ddd688ea064540e5a5b13)
2004-02-03make more function static, they are still available via the function pointersStefan Metzmacher2-2/+2
metze (This used to be commit 4597643e76a34397cd2344a91d7045163ea7a942)
2004-01-22added a little bit of const magic to get rid of the data in librpc/gen_ndr/*.oAndrew Tridgell1-1/+1
(This used to be commit 866ef2edab91996964c8b43dbdd417f5908a00e1)
2004-01-20added code to the RPC-SPOOLSS test that demonstrates that policyAndrew Tridgell4-3/+61
handles are not shared between open dcerpc connections, even when those connections are on the same SMB socket. I have tested this with w2k3, w2k and NT4. It seems that policy handles have a strict scope of the dcerpc connection on which they were opened. I realise that this goes against existing folk-law in the team, but it seems that the previous testing (I'm not sure who did this?) was wrong. Perhaps clients do send us policy handles from other connections, but if they do then the correct thing to do is to fail the operation with a dcerpc fault. I suspect that failing it with exactly the right dcerpc fault code is important. (This used to be commit 2ed24d29bafd9055d5782acdd595cd0f378a651a)
2003-12-19fixed removal of moe than one ncacn_* option from option listAndrew Tridgell1-0/+1
(This used to be commit 09a9b25c8d916c0467a124d959d5cd911b782dfa)
2003-12-17fixed a segv in RPC-* when debug level > 2Andrew Tridgell1-1/+1
thanks to Kai for spotting this! (This used to be commit 0fc42c33d3b0930fdf1dc71a407f4fcaac69d82d)
2003-12-17Fix typo.Tim Potter1-1/+1
(This used to be commit 3f1b781c5659361d7e9cc3ab2072e1462d40df55)
2003-12-17added a smb.conf flag "rpc big endian" that tells our rpc server toAndrew Tridgell2-13/+12
send packets in bigendian format. (This used to be commit 44df662960e662a55a9f27627f838771503a7a59)
2003-12-16added a define for the DCERPC little-endian data representation flagAndrew Tridgell1-8/+8
(This used to be commit 691f9c1c4448fb54846fcfffeca43601bcd44138)
2003-12-16fixed the RPC-MGMT and RPC-SCANNER tests to work with the newAndrew Tridgell1-24/+75
dcerpc_binding_string code (This used to be commit 1fa68c18facfb6c96d5a274cfd9560cb4b2956f6)
2003-12-16no longer require the pipe name or tcp port number to be the firstAndrew Tridgell1-0/+4
option in the ncacn_* syntax (This used to be commit 74f36d32bb14e94a80e1963cbc95f8fba3f23335)
2003-12-16a fairly large commit!Andrew Tridgell5-21/+91
This adds support for bigendian rpc in the client. I have installed SUN pcnetlink locally and am using it to test the samba4 rpc code. This allows us to easily find places where we have stuffed up the types (such as 2 uint16 versus a uint32), as testing both big-endian and little-endian easily shows which is correct. I have now used this to fix several bugs like that in the samba4 IDL. In order to make this work I also had to redefine a GUID as a true structure, not a blob. From the pcnetlink wire it is clear that it is indeed defined as a structure (the byte order changes). This required changing lots of Samba code to use a GUID as a structure. I also had to fix the if_version code in dcerpc syntax IDs, as it turns out they are a single uint32 not two uint16s. The big-endian support is a bit ugly at the moment, and breaks the layering in some places. More work is needed, especially on the server side. (This used to be commit bb1af644a5a7b188290ce36232f255da0e5d66d2)
2003-12-15more flexible handling of [] in binding stringsAndrew Tridgell1-2/+14
(This used to be commit edc67fffeaee5fe4bbbc6fbd76345d0a9d5b2093)
2003-12-15allow the specification of full dcerpc endpoint binding strings on theAndrew Tridgell2-0/+310
command line. This allows you to (for example) control signing/sealing of smbtorture RPC sessions (This used to be commit a73825eb496d5924012ea926fcbac8c956fe081e)
2003-12-14fixed fragmented signed connections to our rpc server over SMBAndrew Tridgell1-1/+1
(This used to be commit f5df126c254bcb96dfb42096d7247215c7e7a89a)
2003-12-14fixed a bug handling multiple PDUs being read from a socket at oneAndrew Tridgell2-44/+43
time in the rpc server. started on the framework for the dcerpc authentication server code (This used to be commit 74041b6a0a60d792e1b220496d66ec27b9ee6c25)
2003-12-13added a basic dcerpc endpoint mapper to Samba4. Currently onlyAndrew Tridgell1-5/+5
implements the epm_Lookup() call, I'll add the other important calls soon. I was rather pleased to find that epm_Lookup() worked first time, which is particularly surprising given its complexity. This required quite a bit of new infrastructure: * a generic way of handling dcerpc policy handles in the rpc server * added type checked varients of talloc. These are much less error prone. I'd like to move to using these for nearly all uses of talloc. * added more dcerpc fault handling code, and translation from NTSTATUS to a dcerpc fault code * added data_blob_talloc_zero() for allocating an initially zero blob * added a endpoint enumeration hook in the dcerpc endpoint server operations (This used to be commit 3f85f9b782dc17417baf1ca557fcae22f5b6a83a)
2003-12-11the next step in the dcerpc server code. Added the link between theAndrew Tridgell1-1/+1
IPC IO routines and the dcerpc endpoint servers. (This used to be commit 4929c53bc8dddda8a763fdfbcf81a79776d01113)
2003-12-10more portable array of endpoints code from pidlAndrew Tridgell1-1/+1
(This used to be commit c598590a117d4281c530cded4bf9dae16ac1ee76)
2003-12-10the rest of the initial rpc server side infrastructureAndrew Tridgell1-1/+1
(This used to be commit 5fb01b0ec0321724c25669151ea7c20e6ec182d0)
2003-11-28the beginnings of an automated tool for working out IDL properties ofAndrew Tridgell1-0/+14
a pipe. I'm not sure how possible this will be without lots of human intervention, but its an interesting thing to try. (This used to be commit d5afe7c6a8651457da9438fcf0035c792701ac86)
2003-11-28 * added a bunch of placeholder IDL filesAndrew Tridgell1-0/+6
* allow for an interface to list its endpoints in the IDL file, so we can automatically make the server listen on the right pipes, and can scan pipes more easily (I don't take advantage of this yet, just putting the infrastructure in place) (This used to be commit c8b8480244b4ab6204403dc65e92e4317b410a84)
2003-11-27more epmapper and mgmt magicAndrew Tridgell2-1/+43
protocol 0x1f is interesting - its ncacn_http ! (This used to be commit e3d40e3da6e15407162c1d0a29d2cbe86842228e)
2003-11-27added an rpc scanner. This prints messages like this:Andrew Tridgell2-1/+4
uuid 82273fdc-e32a-18c3-3f78-827929dc23ea version 0x0000:0x0000 'eventlog' 24 calls available WARNING: local IDL defines 4 calls when all the WARNINGs are gone then we know we have all the calls :) (This used to be commit f5821b2468a0c46d0e5590de59562926d746c349)
2003-11-27use EPMAPPER_PORT constant instead of 135Andrew Tridgell2-4/+4
(This used to be commit 953ab587dc5a625d0fb557fdcac122a3b2ed0224)
2003-11-27a couple of tidyupsAndrew Tridgell4-3/+23
* don't try to map the epmapper uuid ! * some preliminary support for alter context pdus (This used to be commit f9857e56850cabfac06534fb33ff7a7a04346a9b)
2003-11-26by default sign RPC over TCP but not RPC over SMB. I will add command line ↵Andrew Tridgell3-15/+72
control soon (This used to be commit 215852116c1fb8c0d8ef559155a3dd55346f0c31)
2003-11-26transfer syntax V2 isn't as magic as I thoughtAndrew Tridgell1-4/+2
(This used to be commit bb3bb5dc8d494afd077fa613d064767d7aad90cd)
2003-11-26use the IDL defined NDR version numberAndrew Tridgell1-1/+2
(This used to be commit 00e0c14b76c9b001c7d7b6b18b2cb543a57fe082)
2003-11-26added auto-determination of the DCERPC over TCP port number by askingAndrew Tridgell2-5/+158
the servers endpoint mapper (This used to be commit 4abf5376b00f580eb69196e55a792cc7eb4c9880)
2003-11-26fixed some memory leaks in the dcerpc use of ntlmssp signingAndrew Tridgell2-4/+27
(This used to be commit abbc9993b8f7eb9f57e079db1d0b170d0b9aa443)
2003-11-26signed DCERPC over TCP now works !Andrew Tridgell5-53/+349
* moved ntlmssp code into libcli/auth/, and updated to latest ntlmssp code from samba3 (thanks Andrew! the new interface is great) * added signing/ntlmssp support in the dcerpc code * added a dcerpc_auth.c module for the various dcerpc auth mechanisms (This used to be commit c18c9b5585a3e5f7868562820c14f7cb529cdbcd)
2003-11-24 * fixed byte order in epmapper parsingAndrew Tridgell1-0/+5
* allow rpc transport to be specified on command line in smbtorture (This used to be commit 8a82050fd6f45bcdb31c2c365eaed5fc12599e4f)
2003-11-24initial implementation of dcerpc over tcp. RPC-EPMAPPER works, now toAndrew Tridgell3-4/+206
add epm_Map calls and support the rest of the pipes (This used to be commit 39add481582609ddb9d0b3bae45fde3226ece481)
2003-11-24 * prepared the dcerpc subsystem for adding the RPC over TCP transportAndrew Tridgell3-102/+172
* fixed a uninitialised variable bug in pidl (found by valgrind) (This used to be commit 8bce61b8af6351c72c0dd84dc61b49d8aeb1fbbd)
2003-11-24added tests for the remaining calls on the rpc management interfaceAndrew Tridgell1-33/+2
(This used to be commit 00f9b0e12061c175334f96805ca8333f28f74d91)
2003-11-24added the dcerpc remote management interfaces as mgmt.idl, and wrote aAndrew Tridgell1-2/+5
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-23added a tool called 'ndrdump' that allows you to dump NDR dataAndrew Tridgell1-0/+17
according to the current IDL taking the data from a file. In combination with a little hack to ethereal to extract data this is a quite powerful IDL development tool. (This used to be commit 229a325c3cf0d4dc1e910ed32e1d7391040aeba1)
2003-11-23ooh, this is fun!Andrew Tridgell2-537/+111
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-22 * fixed null terminated string handlingAndrew Tridgell1-7/+7
* fixed nested relative offsets in push functions the spoolss torture test now passes! (This used to be commit 60ced76160e4f4e2b511ebbeec31130c8ebcdd22)
2003-11-22 * fixed NDR flag inheritance across push subcontextsAndrew Tridgell1-0/+8
* don't consider not doing lsa_QueryInfoPolicy level 11 a failure (w2k3 doesn't have this level, w2k does) * on a NDR validation failure dump the failed data at level 3 (This used to be commit 9d5078962f0f8aef3360dea4c4774cf8de1fdc26)
2003-11-22a fairly major upgrade to the dcerpc systemAndrew Tridgell2-6/+160
* 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-20moved the pidl auto-generated files out of CVSAndrew Tridgell9-6265/+0
(This used to be commit 49c72d42766a55e2833c004e721a47115000626b)