1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-29 11:21:54 +03:00
samba-mirror/source4/librpc/idl
Andrew Tridgell 21e6b1531b r464: a big improvement to the API for writing server-side RPC
servers. Previously the server pipe code needed to return the RPC
level status (nearly always "OK") and separately set the function call
return using r->out.result. All the programmers writing servers
(metze, jelmer and me) were often getting this wrong, by doing things
like "return NT_STATUS_NO_MEMORY" which was really quite meaningless
as there is no code like that at the dcerpc level.

I have now modified pidl to generate the necessary boilerplate so that
just returning the status you want from the function will work. So for
a NTSTATUS function you return NT_STATUS_XXX and from a WERROR
function you return WERR_XXX. If you really want to generate a DCERPC
level fault rather than just a return value in your function then you
should use the DCESRV_FAULT() macro which will correctly generate a
fault for you.

As a side effect, this also adds automatic type checking of all of our
server side rpc functions, which was impossible with the old API. When
I changed the API I found and fixed quite a few functions with the
wrong type information, so this is definately useful.

I have also changed the server side template generation to generate a
DCERPC "operation range error" by default when you have not yet filled
in a server side function. This allows us to correctly implement
functions in any order in our rpc pipe servers and give the client the
right information about the fault.
(This used to be commit a4df5c7cf8)
2007-10-10 12:51:44 -05:00
..
atsvc.idl * support multiple interfaces in one IDL file in pidl 2003-11-28 03:47:45 +00:00
browser.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00
dcerpc.idl r306: added another define for a DCERPC fault code 2007-10-10 12:51:19 -05:00
dcom.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00
dfs.idl dfs torture test now passes 2003-11-22 09:45:40 +00:00
echo.idl added auto-generation of the server side boilerplate code for each 2003-12-14 13:22:12 +00:00
epmapper.idl the endpoint mapper now works in bigendian mode 2003-12-31 01:32:33 +00:00
eventlog.idl * changed the way strings are handled in pidl to a much more general 2003-11-21 13:14:17 +00:00
idl_types.h r275: added IDL and test code for samr_QueryDisplayInfo3(), 2007-10-10 12:51:19 -05:00
keysvc.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00
lsa.idl r101: added lsa_SetSecret() and lsa_QuerySecret() 2007-10-10 12:51:06 -05:00
mgmt.idl switched to WERROR return codes in the management IDL 2003-11-27 04:01:18 +00:00
misc.idl addition of samr_SetSecurity() from kai 2003-12-19 23:44:26 +00:00
netlogon.idl r392: added IDL for 3 more netlogon Delta levels, thanks to a dump from Richard Renard 2007-10-10 12:51:37 -05:00
ntsvcs.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00
protected_storage.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00
samr.idl r420: added nicer names for the field bits in userinfo21 2007-10-10 12:51:37 -05:00
scerpc.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00
spoolss.idl we can't have two functions with the same name 2003-12-04 01:19:03 +00:00
srvsvc.idl r464: a big improvement to the API for writing server-side RPC 2007-10-10 12:51:44 -05:00
trkwks.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00
w32time.idl re-wrote pidl to use Parse::Yapp instead of Parse::RecDescent, This 2003-12-07 13:38:07 +00:00
winreg.idl r199: More registry rpc updates 2007-10-10 12:51:16 -05:00
wkssvc.idl r132: fill in the correct default case for the WKSSVC GetInfo call 2007-10-10 12:51:10 -05:00
wzcsvc.idl * added a bunch of placeholder IDL files 2003-11-28 05:20:11 +00:00