summaryrefslogtreecommitdiff
path: root/source4/rpc_server/samr
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r743: Start on a NETLOGON server in Samba4.Andrew Bartlett3-105/+308
Currently this only authentiates the machine, not real users. As a consequence of running the Samba4 NETLOGON test against Samba4, I found a number of issues in the SAMR server, which I have addressed. There are more templates in the provison.ldif for this reason. I also added some debug to our credentials code, and fixed some bugs in the auth_sam module. The static buffer in generate_random_string() bit me badly, so I removed it in favor of a talloc based system. Andrew Bartlett (This used to be commit 94624e519b66def97758b8a48a01ffe9029176f0)
2007-10-10r626: make the code a bit more readableStefan Metzmacher1-151/+151
metze (This used to be commit 81b94718e4145a53947d401c4b4b88b71c71e4a4)
2007-10-10r625: - handle passwords longer than length 14 (thanks to abartlet for ↵Andrew Tridgell2-44/+82
pointing out the bug) - delete unicodePwd if not storing a plaintext password (This used to be commit 6c3f22a685c55f183f4e0e4303e3d9990f4b39b5)
2007-10-10r623: setUserInfo level 24 (password set) now works in the SAMR server. This ↵Andrew Tridgell2-11/+332
includes all of the password complexity, password history and other password restrictions. (This used to be commit cb070b9084d95cf5178edbef951b75eab62b7220)
2007-10-10r615: Implement samr_OpenGroup, samr_QueryGroupInfo, samr_SetGroupInfo,Volker Lendecke1-50/+238
samr_DeleteDomainGroup. I've added the hidden attribute numMembers that must be maintained by Add/DelGroupMember for the GroupInfoAll query. Volker (This used to be commit 945d7478605c1bd67e4162ebb0635ab7da11faaf)
2007-10-10r608: - a couple of very minor fixes to the CreateGroup codeAndrew Tridgell2-11/+49
- added samr_GetUserPwInfo() samr server call (This used to be commit 0250f5d6aaf4f9325ace707c69f5e24bcd7a0ed9)
2007-10-10r605: Implement CreateDomainGroup, essentially cut&paste from CreateUser2.Volker Lendecke2-12/+136
Volker (This used to be commit 59241c0c9aa2d64d66eb04e81aa5500681604061)
2007-10-10r601: added the server code for all the samr_SetUserInfo and ↵Andrew Tridgell2-17/+342
samr_QueryUserInfo levels except for the password set levels. This means that a large part of the RPC-SAMR torture test now runs correctly against Samba4 (This used to be commit ec0a51898f543578e755207d81ed5c1524861c64)
2007-10-10r596: log all ldb searches at level 4 in samdbAndrew Tridgell1-0/+2
(This used to be commit defaf0d817a7c207da59692245aa65bc30c9bd19)
2007-10-10r595: nicer handling on max_size multiplierAndrew Tridgell1-2/+3
(This used to be commit 994baba7ebc267cb3051109aee022d71472aa6b6)
2007-10-10r587: added server code for samr_EnumDomainUsers, and started addingAndrew Tridgell2-10/+271
samr_SetUserInfo and samr_QueryUserInfo (This used to be commit e0db9659a85b59e52fbe033a94b411d6c64d9f9c)
2007-10-10r578: initial server side implementation of samr_CreateUser(),Andrew Tridgell2-99/+613
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-10r514: added a context pointer to the samdb interface, as suggested byAndrew Tridgell2-43/+138
metze. Also added a reference count so that a client can close the connection handle and still used a derived domain handle. (This used to be commit b1cd98188d6f1f8236f5dbc7a3605a39ae27fb73)
2007-10-10r513: added a generic ldb debug system to allow the Samba debug functions toAndrew Tridgell1-0/+17
be cleanly interfaced to ldb (This used to be commit 74b89d5f960d6b936751e3f057b4540eb80b79cd)
2007-10-10r510: converted the samdb code to give ldb a talloc context rather than ↵Andrew Tridgell2-37/+86
letting ldb use malloc (This used to be commit a3edd4bca8769cd804a5908286c7a18ca5c8fa00)
2007-10-10r466: implemented samr_OpenDomain() and samr_GetDomPwInfo() server side callsAndrew Tridgell2-10/+116
if you take a look at samr_GetDomPwInfo() then you will get a fairly good idea of what I am planning for the database oriented SAMR server implementation. (This used to be commit bba0044a514cf86cbcf14bc82dd6c49808c22dab)
2007-10-10r465: we need common.h in two more rpc server pipesAndrew Tridgell1-0/+1
(This used to be commit d96b68169a5ab46cc0550732d4fe94af75e06fd6)
2007-10-10r464: a big improvement to the API for writing server-side RPCAndrew Tridgell1-103/+74
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-10r458: this is the (very primitive) beginnings of a SAMR server forAndrew Tridgell2-0/+1122
Samba4. I'm committing this now so I can get comments on the approach. Note that you need to do something like this to initialise the SAM db: edit script/provision.pl script/provision.pl > provision.ldif.out bin/ldbadd /path/to/private/sam.ldb provision.ldif.out (This used to be commit e2002e40a5abe0cd33a2056b1da8ba5732f9021f)