summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr
AgeCommit message (Collapse)AuthorFilesLines
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 Tridgell2-3/+6
(This used to be commit 1f89d89954a3501e08efa97d1276ba9bb2d2305f)
2003-12-19addition of samr_SetSecurity() from kaiAndrew Tridgell1-1/+1
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 the AddAliasMem test codeAndrew Tridgell1-0/+23
(This used to be commit abe7ffcece5fcb75b0cf5633dd5871fa3e3c1723)
2003-12-16fixed formatting of uuids in debug outputAndrew Tridgell1-1/+1
(This used to be commit 7895796ef8a0dfe5de1404e630b2489fdec39a56)
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 Tridgell1-47/+30
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-12Added routines for arrays of uint16s.Tim Potter1-0/+33
(This used to be commit 370512f6644507ed0457de71ab5a50207e00e750)
2003-12-12 * the RPC-ECHO pipe now works in smbd, as long as the data sizesAndrew Tridgell1-1/+1
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-02 * netr_ServerPasswordSet() now works - the test suite changes theAndrew Tridgell1-1/+3
machine account password. * neater handling on value() options in IDL. The auto-print code will now display the right value so you don't need to initialise it in your C code (This used to be commit 3dd978b12bb5571fba4e1839c0f7ee60cf729aa2)
2003-12-01added netr_ServerReqChallenge and cleaned up byte array printingAndrew Tridgell2-11/+13
(This used to be commit bb42107dccf3a384a4a5c029b4d2752e0898d7cb)
2003-12-01started adding netlogon IDL and test suiteAndrew Tridgell1-0/+28
(This used to be commit 3d64eefb464d09fb6e84d6139f801887a278cf86)
2003-11-30Added EnumPrinterDriver, GetPrinterDriver (still in progress)Tim Potter1-0/+17
(This used to be commit a818439b5915fd70b8aa3d3045f658b3f59a6bea)
2003-11-28Added EnumJobs, GetJob, SetJob RPCs.Tim Potter1-0/+17
(This used to be commit a06cbbbf1fa1e873bb13bc86d14694b2af791e22)
2003-11-28added auto-generation of the IDL interface tables. This makes two lessAndrew Tridgell2-40/+3
places that need to be edited when someone adds a new IDL file. (This used to be commit ccd9ddeed679baa6cbb05ac728b381b50420e00f)
2003-11-26Implemented EnumForms and GetForm.Tim Potter1-0/+17
(This used to be commit 822750592cffb175aa7afb268bc7cb47bbab47e4)
2003-11-26signed DCERPC over TCP now works !Andrew Tridgell2-77/+38
* 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-24added tests for epm_Map endpointer map callsAndrew Tridgell1-0/+3
(This used to be commit 570ad78525ffcc116842270b62ba41c86c2a018d)
2003-11-24added tests for the remaining calls on the rpc management interfaceAndrew Tridgell1-0/+32
(This used to be commit 00f9b0e12061c175334f96805ca8333f28f74d91)
2003-11-24added the dcerpc remote management interfaces as mgmt.idl, and wrote aAndrew Tridgell3-6/+38
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-1/+1
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 Tridgell3-5/+75
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 Tridgell2-3/+8
* 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/+3
* 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 Tridgell4-28/+244
* 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-22added some explanations for epmapper IDL and dom_sid2Andrew Tridgell1-1/+11
(This used to be commit 5962f1cffa9273cc06c8a3c4a112f3ce94b84dae)
2003-11-21cleaner handling of relative pointers to stringsAndrew Tridgell1-3/+3
(This used to be commit 4022e710755a61a3439f739a78fa6965b9b7788e)
2003-11-21* changed the way strings are handled in pidl to a much more generalAndrew Tridgell3-240/+270
interface. We now support an arbitrary set of flags to each parser, and these can be used to control the string types. I have provided some common IDL string types in librpc/idl/idl_types.h which needs to be included in every IDL file. * added IDL for the endpoint mapper. Added a test suite that enumerates all endpoints on the server. (This used to be commit d2665f36a75b482ff82733f72ffac938c2acf87a)
2003-11-21Start of winreg idl. Implement OpenHKLM, GetVersion and CloseKey.Tim Potter1-0/+1
(This used to be commit c8b87f5feb7756c7a5b38135517788c9f4ade36f)
2003-11-21avoid calling the print routines completely if debug level < 2Andrew Tridgell1-6/+7
(This used to be commit 63b9d2803c9e5b44680a72b127f6a58eb44a3c60)
2003-11-21only display really verbose packet dumps when smbtorture is run atAndrew Tridgell1-2/+6
debug level 2 or above. This is more useful for checking that something hasn't broken without swamping yourself with output. (This used to be commit 53ff3a572a23c2f45c5d503255bc6b535ca99134)
2003-11-21added 4 more levels to samr_QueryDisplayInfo()Andrew Tridgell2-46/+44
(This used to be commit f4cc593a5c7d75adaced2c33dd83c2ec741751be)
2003-11-20Add initial work on eventlog - doesn't quite work yet.Tim Potter1-0/+1
(This used to be commit 99fff7b1e24ee7231fa41ca9cb85382637f2b2b0)
2003-11-20* fixed libndr.h headerAndrew Tridgell2-33/+9
* "make clean" now removed the generated files (This used to be commit 683259a4dd30861ed24e8e5df918c8725ae13800)
2003-11-20moved the pidl auto-generated files out of CVSAndrew Tridgell18-27735/+0
(This used to be commit 49c72d42766a55e2833c004e721a47115000626b)
2003-11-20extensive samr_SetUserInfo/samr_QueryUserInfo testing, withAndrew Tridgell2-20/+20
cross-checking of all settable fields (This used to be commit 3337906d52e95c127d64f81f9fc99aeb8a8d1ce6)
2003-11-20 * fixed level2 of QueryUserInfoAndrew Tridgell10-8/+124
* added per-field testing of SetUserInfo * fixed strlen_m() (This used to be commit 26238b0f8a5752bb0f611c4aa492b964e419209a)
2003-11-20started on samr_SetUserInfo()Andrew Tridgell5-42/+589
cope with the 'samrtorturetest' user already existing in the samr test (to cope with previously failed runs) (This used to be commit 47128b3d50b3481175a8b2580624316a4f7677db)
2003-11-20fixed srvsvc_NetShareEnumAll()Andrew Tridgell2-143/+20
(This used to be commit ab4056e25ccfde5136ff3a1cd5d1efa78f1eee1b)
2003-11-20Add a 1004 level for srvsvc.Richard Sharpe2-0/+159
(This used to be commit 9810e6f180564247dee584d197180d394b208c24)
2003-11-20Added ATSVC pipe.Tim Potter3-0/+520
(This used to be commit 274058486766f7a1094918702e7bc225aa938b2e)
2003-11-20added samr_LookupRids() and test codeAndrew Tridgell2-8/+84
(This used to be commit c32c33a791dd42676ca7fa47aae264e8d8ea8339)
2003-11-20added samr_LookupNames() and test codeAndrew Tridgell7-34/+66
(This used to be commit f8397cbc8554b721093b8ae6ac6fb26d0ee9a7cf)
2003-11-20make the echo idl match the win32 IDL againAndrew Tridgell2-5/+5
(This used to be commit 4b901bd717a48daae24d8f7738169ac3cc5ba7fa)
2003-11-20EnumPrinterData in spoolss now worksAndrew Tridgell3-3/+69
(This used to be commit af07ca7fbcb4118f2415218d0c48798119b7c6b2)
2003-11-20 * changed to midl syntax using [case(x)] instead of case(x)Andrew Tridgell4-235/+23
* use empty defaults instead of a dummy empty structure (This used to be commit 555a340d3c0697b147799bc0a6615e01e196daf6)
2003-11-19fixed wkssvc idl and test code for TransportEnumAndrew Tridgell2-72/+19
(This used to be commit 42639a8f66e8d4241b24935772552f235f863096)
2003-11-19switched to a new way of handling unions, so that we can handleAndrew Tridgell13-873/+310
alignment correctly for unions that have non-uint16 discriminants fixed the union handling in srvsvc.idl. (metze, please take a look at the changes, your IDL did match what was one the wire in most cases, but isn't the way IDL is usually coded) (This used to be commit 7b5d0287298e8505e0ec7b22d75d9f9a8a610031)
2003-11-19started to expand the echo tests to include more interesting testAndrew Tridgell2-24/+333
cases. We fail one of the alignment tests. (This used to be commit 5bb21e57b844e98cc8f1dc264bc45097c08329e3)