summaryrefslogtreecommitdiff
path: root/source4/build/pidl
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r55: if you try to use a custom bind or unbind hook inStefan Metzmacher1-14/+22
a dcesrv module and also use the autogenerated boilerplate you can just use: #define DCESRV_INTERFACE_<UPPERCASE_INTERFACE_NAME>_BIND <interface_name>_bind #define DCESRV_INTERFACE_<UPPERCASE_INTERFACE_NAME>_UNBIND <interface_name>_unbind the prototype for the functions are the same as in struct dcesrv_interface { ... /* this function is called when the client binds to this interface */ NTSTATUS (*bind)(struct dcesrv_call_state *, const struct dcesrv_interface *); /* this function is called when the client disconnects the endpoint */ void (*unbind)(struct dcesrv_connection *, const struct dcesrv_interface *); ... }; e.g. #define DCESRV_INTERFACE_WINREG_BIND winreg_bind #define DCESRV_INTERFACE_WINREG_UNBIND winreg_unbind metze (This used to be commit ae97f5f50b0d00889f29e1903513cee88891545d)
2007-10-10r42: importing .cvsignore filesGerald Carter1-1/+0
(This used to be commit 11717ae912449bde596ff6cf7d8fddcc86548f15)
2004-02-02some DEBUG and comment fixesStefan Metzmacher1-1/+1
metze (This used to be commit 5ac4f878687eb0fa95a2e5830a8372168a27d3b3)
2004-01-22sorry, the last commit went in by mistake:-(Stefan Metzmacher1-6/+6
- implement the interface_by_name() and interface_by_uuid() hooks for the autogenerated dcerpc server boilerplates. metze (This used to be commit 0b6a291eb4b353259ad5b72f8731a5504d9dc8c7)
2004-01-22initilize ev->maxfd = EVENT_INVALID_MAXFD; before the while() loop.Stefan Metzmacher1-0/+11
metze (This used to be commit 61ec710518469876ccc48d57b5fee5d6ead3d482)
2004-01-22make dcerpc_pipes[] completely const.Stefan Metzmacher1-2/+2
so it now apears in the text section of 'size librpc/gen_ndr/tables.o' metze (This used to be commit f3b917402aeb9d749abf2df34413e61b71fd5fff)
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-08This patch adds a better dcerpc server infastructure.Stefan Metzmacher4-33/+91
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-19added code to the IDL validator to check for common errors withAndrew Tridgell2-3/+51
pointers are arrays (This used to be commit e67cbfff6c1041671711e4f73894e6e13151d57e)
2003-12-16a fairly large commit!Andrew Tridgell1-0/+4
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-16the out substructure is not empty if there is a return from theAndrew Tridgell1-0/+6
function (This used to be commit d18a08a870aa9ee12ed2913775b70d1b8a09c84b)
2003-12-16some compilers can't handle structures with no elements. GenerateAndrew Tridgell1-16/+46
dummy elements if need be. (This used to be commit b6fdc984023a76a6c77d03cb3ec12c6c18d215a6)
2003-12-16don't rely on the ability of perl 5.6.x to remove elements from arraysAndrew Tridgell1-1/+4
using delete(). This makes pidl portable back to perl 5.0. (This used to be commit 9175293535246f55f50f52501ec451c951a94eb1)
2003-12-16cope with different cpp formatting on some systems, and make sure weAndrew Tridgell2-2/+16
don't loop forever if we get a cpp format line we don't understand (This used to be commit 003c6c493b1babadb1f7c4eb54babed394bd42a9)
2003-12-15use the @CPP@ value from configure if possible when determining cpp inAndrew Tridgell2-2/+10
pidl (This used to be commit c47e88dabfc62db7533d2d39c7f1010b4188d2ea)
2003-12-15lets see if "cc -E" keeps more of the build farm happy then "cpp"Andrew Tridgell1-1/+1
We'll probably need a configure entry for this (This used to be commit 66e648f20ffd34e2cff1b94003db9974d2bac318)
2003-12-15added "pidl.pl --template" to dump a rough template to save typingAndrew Tridgell3-2/+96
when starting a pipe. Thanks to metze for a script that gave the idea. do something like this to use it: pidl.pl --parse --template librpc/idl/XXX.idl > rpc_server/XXX/rpc_XXX.c then fill in the functions in rpc_XXX.c (This used to be commit 68e71d7497ddc7b8239fc4bd7cb3e780a1f53a39)
2003-12-15patch from metze with updates to srvsvc and changes to pidl to allowAndrew Tridgell1-12/+12
for the server rpc boilerplate to correctly generate for multiple interfaces on an endpoint (This used to be commit 56143689ecf623e8a6ef5c453e6ad1ca9404411c)
2003-12-15make pidl no longer dependent on Data::Dumper, which isn't installedAndrew Tridgell8-18/+4
on some systems (This used to be commit a4aa9168c0f80cf6e758c380d41335db50d06869)
2003-12-15fixed the handling of zero-length top level arrays in pidlAndrew Tridgell1-3/+5
(This used to be commit fa45529af72090c2604708a651d5e5714a844d72)
2003-12-14added auto-generation of the server side boilerplate code for eachAndrew Tridgell4-8/+126
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-14typoSimo Sorce1-2/+1
(This used to be commit 2afbd1e0005517d8ceb584ccbf8a85c4527cb866)
2003-12-14reduce double explanation of FIXED ARRAYSSimo Sorce1-13/+4
(This used to be commit 6f33109b102d41d98ffd536fe2234fbaae85b02e)
2003-12-14fix _ptr_ declarationAndrew Tridgell1-2/+2
(This used to be commit 5fed4681edc93405a8b39080adfe72af8beea65d)
2003-12-12handle the auto-allocation of [ref] output arrays in pidl. ThisAndrew Tridgell1-3/+9
can simplify rpc servers a lot. (This used to be commit 28fa62d63d020052a0d2f467f3f9cc6344aaf0ce)
2003-12-12 * the RPC-ECHO pipe now works in smbd, as long as the data sizesAndrew Tridgell1-0/+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-10more portable array of endpoints code from pidlAndrew Tridgell1-4/+7
(This used to be commit c598590a117d4281c530cded4bf9dae16ac1ee76)
2003-12-08some systems don't have "which" and some systems don't have the "-nt"Andrew Tridgell1-51/+51
flag to test. It's amazing that systems like that are ever sold. (This used to be commit fe91635da87104544946983c7c63d5c584db614a)
2003-12-08commit idl.pm now, as many build farm machines don't have 'yapp'Andrew Tridgell4-36/+1999
(This used to be commit 2b1300386dc8a3e3e802c8b1dafdbea286cfbb46)
2003-12-08 * reduced the number of grammer conflicts a lot using (arbitrary)Andrew Tridgell2-7/+10
precedence rules * build a standalone parser. When we come to distributing Samba4 we can just include idl.pm and other developers won't need Parse::Yapp installed * avoid the recursive make in most cases in build_idl.sh (This used to be commit be2c2be459d1bed41c113590e70711cb89ad12b9)
2003-12-07don't save the intermediate form to disk unless we need toAndrew Tridgell1-19/+14
(This used to be commit 4e1a5a21a4c8da0d2a23d5ba02168eac1987c260)
2003-12-07a bit more speed and better line matching in errorsAndrew Tridgell1-4/+8
(This used to be commit 788f6c44dbae48e13c9eeaca3bfa3ac7efbbd4e2)
2003-12-07make pidl a little less verboseAndrew Tridgell1-4/+2
(This used to be commit 76f48affe5d1e8fd96d5dc9af2ec1059f3dd741c)
2003-12-07re-wrote pidl to use Parse::Yapp instead of Parse::RecDescent, ThisAndrew Tridgell5-3071/+313
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-02netr_DatabaseSync() now works fully for databases 0, 1 and 2Andrew Tridgell1-1/+1
(This used to be commit c4c09e9413d3886e030e98739121bbae81f80ca5)
2003-12-02added netr_DatabaseSync(). It doesn't work as I haven't done schannelAndrew Tridgell1-19/+17
yet, but at least the request is understood by w2k3 Also modified pidl to allow multiple branches in a union to have the same element. This is used in netlogon. (This used to be commit 983c0e9683fa9666a6e055d1776ebeef8cd2e700)
2003-12-02 * netr_ServerPasswordSet() now works - the test suite changes theAndrew Tridgell1-1/+11
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_LogonSamLogon() and test codeAndrew Tridgell1-1/+1
(This used to be commit 4fa3ad3ecbfd8f8663fcdfaba9a7db481e303f2b)
2003-12-01added netr_ServerReqChallenge and cleaned up byte array printingAndrew Tridgell1-1/+11
(This used to be commit bb42107dccf3a384a4a5c029b4d2752e0898d7cb)
2003-12-01started adding netlogon IDL and test suiteAndrew Tridgell1-0/+2
(This used to be commit 3d64eefb464d09fb6e84d6139f801887a278cf86)
2003-11-28make sure there is at least one valid interface in an IDL fileAndrew Tridgell1-1/+1
(This used to be commit 86ab394806a5f9dfc20fabda071d72ca29703f62)
2003-11-28 * added a bunch of placeholder IDL filesAndrew Tridgell2-2/+44
* 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-28 * support multiple interfaces in one IDL file in pidlAndrew Tridgell4-31/+35
* make far more generated functions static * get rid of gen_rpc, and include the client calls in ndr_*.c * added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc) (This used to be commit a2bdf0be0119023df3c2b9ea515ed355020f2625)
2003-11-28added auto-generation of the IDL interface tables. This makes two lessAndrew Tridgell2-1/+98
places that need to be edited when someone adds a new IDL file. (This used to be commit ccd9ddeed679baa6cbb05ac728b381b50420e00f)
2003-11-27added an rpc scanner. This prints messages like this:Andrew Tridgell2-4/+7
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-26added auto-determination of the DCERPC over TCP port number by askingAndrew Tridgell1-1/+1
the servers endpoint mapper (This used to be commit 4abf5376b00f580eb69196e55a792cc7eb4c9880)
2003-11-26added some paranoid checking for enumsAndrew Tridgell1-2/+5
(This used to be commit 3492f37b0bf14797514f1dc603f518bf5b801c3c)
2003-11-24 * prepared the dcerpc subsystem for adding the RPC over TCP transportAndrew Tridgell1-3/+3
* fixed a uninitialised variable bug in pidl (found by valgrind) (This used to be commit 8bce61b8af6351c72c0dd84dc61b49d8aeb1fbbd)
2003-11-24give far more detail in the EPMAPPER resultsAndrew Tridgell1-3/+3
(This used to be commit 420301969820ffaa0a87b091c7a79372c99cb658)
2003-11-24make sure we don't try to update a constantAndrew Tridgell1-2/+8
(This used to be commit 4a6034f2e37d1050364fc167f1b71b5c806dfdc9)