1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00

7 Commits

Author SHA1 Message Date
Andrew Tridgell
577218b2ad r4640: first stage in the server side support for multiple context_ids on one pipe
this stage does the following:

 - simplifies the dcerpc_handle handling, and all the callers of it

 - split out the context_id depenent state into a linked list of established contexts

 - fixed some talloc handling in several rpc servers that i noticed while doing the above
(This used to be commit fde042b3fc609c94e2c7eedcdd72ecdf489cf63b)
2007-10-10 13:08:38 -05:00
Stefan Metzmacher
707661a87e r2953: add NTSTATUS_TALLOC_CHECK(x)
metze
(This used to be commit a2cc9517208adedbcbed4b01d18a1478f75d70df)
2007-10-10 12:59:51 -05:00
Stefan Metzmacher
19a242eb3a r2887: fix comment
metze
(This used to be commit 5143a9bd8aa84b80763c304638a27395b53b54cc)
2007-10-10 12:59:42 -05:00
Tim Potter
766d7dd202 r1205: Whoops - this should fix the build.
(This used to be commit e21f324937df2fe70b693112bd0b6fe6575d70ed)
2007-10-10 12:56:45 -05:00
Andrew Tridgell
0ed08d9398 r578: initial server side implementation of samr_CreateUser(),
samr_CreateUser2(), samr_LookupNames(), samr_OpenUser(),
and samr_DeleteUser()

this uses a user template in the SAM db, of objectclass "userTemplate"
and dn CN=TemplateUser,CN=Templates,$BASEDN. Using a template allows
an admin to add any default user attributes that they might want to
the user template and all new users will receive those attributes.
(This used to be commit 10b6e0011b5952c98432dc2d4b2058ac89a9cc2d)
2007-10-10 12:51:48 -05:00
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 a4df5c7cf88891a78d82c8d6d7f058d8485e73f0)
2007-10-10 12:51:44 -05:00
Stefan Metzmacher
8709182fd3 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
(This used to be commit 6f213a3494d3b5ab629944394b20a84075a04438)
2007-10-10 12:51:09 -05:00