1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-18 08:23:51 +03:00
Commit Graph

7 Commits

Author SHA1 Message Date
Andrew Tridgell
729e0026e4 r3468: split out dcerpc_server.h 2007-10-10 13:05:17 -05:00
Andrew Tridgell
b8f5fa8ac8 r3428: switched to using minimal includes for the auto-generated RPC code.
The thing that finally convinced me that minimal includes was worth
pursuing for rpc was a compiler (tcc) that failed to build Samba due
to reaching internal limits of the size of include files. Also the
fact that includes.h.gch was 16MB, which really seems excessive. This
patch brings it back to 12M, which is still too large, but
better. Note that this patch speeds up compile times for both the pch
and non-pch case.

This change also includes the addition iof a "depends()" option in our
IDL files, allowing you to specify that one IDL file depends on
another. This capability was needed for the auto-includes generation.
2007-10-10 13:05:09 -05:00
Stefan Metzmacher
76cb9966bf r1546: fix the build the function name has changed to srvsvc_NetRemoteTOD
because I implemented the idl for it

metze
2007-10-10 12:57:41 -05:00
Andrew Tridgell
2712e26a5d r868: we should issue a rpc fault OP_RANGE_ERROR not a WERR_NOT_SUPPORTED for
functions we don't implement yet so that we don't put uninitialised
result data on the wire (found with valgrind)
2007-10-10 12:56:14 -05:00
Andrew Tridgell
a4df5c7cf8 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.
2007-10-10 12:51:44 -05:00
Stefan Metzmacher
f8605b39ab r286: use talloc_array_p() instead of talloc()
add some more WERR_NOT_SUPPORTED stubs to pass our torture tests
(wkssvc and srvsvc)

metze
2007-10-10 12:51:19 -05:00
Stefan Metzmacher
6f213a3494 r126: - add first srvsvc and wkssvc server side stuff
- we know can browse the server via the Windows Explorer

- some little fixes to the winreg server pipe

metze
2007-10-10 12:51:09 -05:00