summaryrefslogtreecommitdiff
path: root/source4/librpc
AgeCommit message (Collapse)AuthorFilesLines
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)
2004-01-11added dom_sid_string() functionAndrew Tridgell1-7/+15
(This used to be commit 399f95536bf64890284a51e4a2bbb7a15c91c3be)
2004-01-08This patch adds a better dcerpc server infastructure.Stefan Metzmacher1-27/+41
1.) We now register endpoint servers add startup via register_backend() and later use the smb.conf 'dcerpc endpoint servers' parameter to setup the dcesrv_context 2.) each endpoint server can register at context creation time as much interfaces as it wants (multiple interfaces on one endpoint are supported!) (NOTE: there's a difference between 'endpoint server' and 'endpoint'! for details look at rpc_server/dcesrv_server.h) 3.) one endpoint can have a security descriptor registered to it self this will be checked in the future when a client wants to connect to an smb pipe endpoint. 4.) we now have a 'remote' endpoint server, which works like the ntvfs_cifs module it takes this options in the [globals] section: dcerpc remote:interfaces = srvsvc, winreg, w32time, epmapper dcerpc remote:binding = ... dcerpc remote:user = ... dcerpc remote:password = ... 5.) we currently have tree endpoint servers: epmapper, rpcecho and remote the default for the 'dcerpc endpiont servers = epmapper, rpcecho' for testing you can also do dcerpc endpoint servers = rpcecho, remote, epmapper dcerpc remote:interfaces = srvsvc, samr, netlogon 6,) please notice the the epmapper now only returns NO_ENTRIES (but I think we'll find a solution for this too:-) 7.) also there're some other stuff left, but step by step :-) This patch also includes updates for the register_subsystem() , ntvfs_init(), and some other funtions to check for duplicate subsystem registration metze (hmmm, my first large commit...I hope it works as supposed :-) (This used to be commit 917e45dafd5be4c2cd90ff425b8d6f8403122349)
2003-12-31the endpoint mapper now works in bigendian modeAndrew Tridgell4-9/+16
(This used to be commit 1f89d89954a3501e08efa97d1276ba9bb2d2305f)
2003-12-20latest srvsvc and wkssvc IDL from metzeAndrew Tridgell2-122/+744
(This used to be commit 59557a557df6e61af4f01534489691416398fb26)
2003-12-19addition of samr_SetSecurity() from kaiAndrew Tridgell3-5/+12
we needed to adjust the alignment of [relative] buffers for this to work. I wonder if they are always 4 byte aligned? (This used to be commit 9cd0a0b8b976e62c6da71b7e55cba5b38483620d)
2003-12-19fixed removal of moe than one ncacn_* option from option listAndrew Tridgell1-0/+1
(This used to be commit 09a9b25c8d916c0467a124d959d5cd911b782dfa)
2003-12-19fixed the AddAliasMem test codeAndrew Tridgell1-0/+23
(This used to be commit abe7ffcece5fcb75b0cf5633dd5871fa3e3c1723)
2003-12-19added a bunch of alias functions in samr.idl based on work by Kai.Andrew Tridgell1-32/+62
(This used to be commit f740b02ac36780740700909da2bcdf672cb146cb)
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-16fixed formatting of uuids in debug outputAndrew Tridgell1-1/+1
(This used to be commit 7895796ef8a0dfe5de1404e630b2489fdec39a56)
2003-12-16added a define for the DCERPC little-endian data representation flagAndrew Tridgell2-8/+11
(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-16use bigendian mode to fix the idl for samr_LogonHoursAndrew Tridgell1-1/+1
(This used to be commit 1056618b6a70b32fc17a8290f3efa3334fa1b049)
2003-12-16it turns out that a wire policy handle isn't a blob either, its aAndrew Tridgell1-3/+3
uint32 followed by a GUID. I needed to fix this to support running in mixed-mode rpc (where smbtorture is bigendian and w2k3 is little-endian). Otherwise when you send back a policy handle the server doesn't recognise it. (This used to be commit 9b1c76a8e9e953e051072441f8938ee17a674d35)
2003-12-16added support for big-endian ucs2 strings (as used by big-endianAndrew Tridgell1-7/+17
msrpc). this was easier than I expected! (This used to be commit a0a51af6b746b1f82faaa49d33c17fea9d708fb0)
2003-12-16a fairly large commit!Andrew Tridgell8-71/+132
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-15fixed srvsvc DiskEnum callAndrew Tridgell1-12/+12
strangely, the output doesn't seem to contain an info level. Some programmer stuffed up the IDL :) (This used to be commit a39ee5d00341e1dbde0b38474ba4d5e980e74538)
2003-12-15patch from metze with updates to srvsvc and changes to pidl to allowAndrew Tridgell1-70/+109
for the server rpc boilerplate to correctly generate for multiple interfaces on an endpoint (This used to be commit 56143689ecf623e8a6ef5c453e6ad1ca9404411c)
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-14added auto-generation of the server side boilerplate code for eachAndrew Tridgell1-2/+2
pipe. The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and gets included in the pipe module (This used to be commit bd3dcfe5820489a838e19b244266bd9126af5eb4)
2003-12-14fixed fragmented signed connections to our rpc server over SMBAndrew Tridgell2-1/+2
(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-13completed the linkage between the endpoint mapper and the dcerpcAndrew Tridgell1-2/+3
server endpoints. We can now successfully setup listening endpoints on high ports, then use our endpoint mapper redirect incoming clients to the right port. also greatly cleanup the rpc over tcp session handling. (This used to be commit 593bc29bbe0e46d356d001160e8a3332a88f2fa8)
2003-12-13dcerpc over tcp in the samba4 server now works to some extent. ItAndrew Tridgell1-0/+1
needs quite a bit more work to get it finished. The biggest missing feature is the lack of NTLMSSP which is needed for basic authentication over tcp (This used to be commit 9fb0f0369356909c99389e2cbc525be27c08793c)
2003-12-13rpcdump.exe now works fine against a Samba4 serverAndrew Tridgell1-2/+3
for some reason the epm_Lookup replies can't be parsed by ethereal, although w2k parses then fine as does the Samba4 NDR code. (This used to be commit 097e7ca99d947932df5674c36e628ca6b8f31d3a)
2003-12-13added the epm_Map() call.Andrew Tridgell1-0/+2
the RPC-EPMAPPER torture test now passes (This used to be commit fbdcf9ef548aefb1233cbb22a60bff3eacba996f)
2003-12-13added a basic dcerpc endpoint mapper to Samba4. Currently onlyAndrew Tridgell2-8/+9
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-12Small cleanup of test code. Rename enum indexes to be the same nameTim Potter1-2/+2
for EnumKey and EnumValue. (This used to be commit 817a2fe2e5824e6bb9547697d27c66c0c8356181)
2003-12-12Got winreg_EnumValue working - what a mess!Tim Potter1-4/+24
(This used to be commit cc494086e796c0090a92ac36012727c67e3587d1)
2003-12-12Added routines for arrays of uint16s.Tim Potter1-0/+33
(This used to be commit 370512f6644507ed0457de71ab5a50207e00e750)
2003-12-12added support for sending bind_nak replies in the rpc serverAndrew Tridgell1-1/+6
(This used to be commit 6e7c50bcd9929b6b1400b3155f55e6c9a4a730b3)
2003-12-12 * the RPC-ECHO pipe now works in smbd, as long as the data sizesAndrew Tridgell2-1/+5
don't cause fragmented pdus (I'll add fragments shortly) * change data_blob_talloc() to not zero memory when the 2nd argument is NULL. The zeroing just masks bugs, and can't even allow a DOS attack * modified pidl to ensure that [ref] arguments to the out side of functions are allocated when parsing the in side. This allows rpc backends to assume that [ref] variables are all setup. Doesn't work correctly for [ref] arrays yet * changed DLIST_ADD_END() to take the type instead of a tmp variable. This means you don't need to declare a silly tmp variable in the caller (This used to be commit 46e0a358198eeb9af1907ee2a29025d3ab23b6d1)
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-12-07re-wrote pidl to use Parse::Yapp instead of Parse::RecDescent, ThisAndrew Tridgell2-4/+4
makes pidl about 3x faster, and also gives us much better error reporting and a more standard grammer definition that will be much easier to code in lex/yacc if we want to do so at a later date. (Parse::Yapp uses essentially the same grammer file as lex/yacc) It also means we no longer need Parse::RecDescent, which should make pidl much more portable. (This used to be commit 4bbaffeb44dca99ad8c0245beb1fddbe01557215)
2003-12-04we can't have two functions with the same nameAndrew Tridgell1-1/+1
(This used to be commit 5f1cdc4839a1ba0b18bcd4525847f9c284d181ca)
2003-12-03Updated some of the function names in the IDL.Tim Potter1-56/+57
(This used to be commit 718ee8bccc2357ffa7ea7cdec1bda6103e0fa24f)
2003-12-03My first stab at Samba4 IDL!Andrew Bartlett1-1/+11
This patch adds the samr_CreateUser2 function, which is create_user in Samba 3.0. This also adds a torture suite that checks for various valid and invalid account flags, and that they are persistant. Also, a patch by Anthony Liguori to fix the build Andrew Bartlett (This used to be commit 53e657b74572ab329d4598a85e6989547c324209)
2003-12-02added netr_LogonControl2Ex()Andrew Tridgell1-15/+15
I also added IDL for netr_DatabaseRedo() but I don't yet know how it works thats the last of the netlogon IDL ! (This used to be commit 387d8f25ff4858943d1389974127d03a58bf4c8f)
2003-12-02added netr_DatabaseSync2()Andrew Tridgell1-10/+10
(This used to be commit 0f6af0c4bde0eb3758192b74dab797b558c944a1)
2003-12-02added netr_LogonControl2() and netr_ServerAuthenticate2()Andrew Tridgell1-24/+28
(This used to be commit cc4123db4baec6a217500dc55113f89e1ea8ef61)
2003-12-02added netr_LogonControl() and netr_GetAnyDCName()Andrew Tridgell1-38/+39
(This used to be commit 17b2be4e859bd7f625214d7e7de9758b5ab5fb90)
2003-12-02added netr_GetDcName() - quite a useful callAndrew Tridgell1-5/+6
(This used to be commit 63f46b223e16a3495b4a4a48c6489f1f0d7d84c4)
2003-12-02added netr_AccountSync(), another NT_STATUS_NOT_IMPLEMENTED callAndrew Tridgell1-16/+16
according to w2k3 (This used to be commit b2ca00ebc57774000af2de6132c29db4c6daae28)