summaryrefslogtreecommitdiff
path: root/source3/rpc_parse
AgeCommit message (Collapse)AuthorFilesLines
1999-03-25SAM database "set user info".Luke Leighton2-23/+313
---------------------------- - removed DOM_RID4 - removed SAMR_UNKNOWN_32 - added SAMR_SET_USERINFO (opcode 0x32) - added level 0x1 to SAMR_QUERY_DOM_INFO (needed for create user) - fixed pwdb_gethexpwd() it was failing on XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - added mod_sam21pwd_entry() - preparing to call mod_sam21pwd_entry() - added "user session key" to user_struct.dc. this is md4(nt#) and is needed to decode user's clear-text passwords in SAMR_SET_USERINFO. - split code out in chgpasswd.c to decode 516 byte password buffers. (This used to be commit 2e58ed742435befe419aa366c4052019fede8c23)
1999-03-24matt, you had removed a "pointer" from DOM_R_REF structure which made itLuke Leighton1-1/+5
possible to fix lsa_r_lookup_names, but forgot to add that pointer in to lsa_r_lookup_sids, where DOM_R_REF was also being used. (This used to be commit 9092368af8adbf412c71af7216365e926593d54d)
1999-03-24removed 2 unnecessary args from make_uni_hdr.Luke Leighton5-67/+71
(This used to be commit f84dede27e16a5f02ee6d02fe2d16f2661c65470)
1999-03-24Fixed LSA Lookup Names. There were a few too many NULL pointers in aMatthew Chapman1-7/+20
negative response, which tended to crash lsass.exe. (This used to be commit 6d03f61d2536630968007958345cf44a42b03584)
1999-03-23dynamic memory allocation in samr enum dom users. works with 849 entries now.Luke Leighton1-12/+21
(This used to be commit 103557e26b071bf1e65e025ef5a52ccdbf483d02)
1999-03-23Another UNICODE issue - this time BUFFER2 was being transmitted incorrectly.Matthew Chapman2-10/+9
(This used to be commit 73730f6004c7eca1d852a569dede94095a396dca)
1999-03-23If a buffer pointer is NULL then its length_is() attribute should not beMatthew Chapman1-4/+19
transmitted. Such a problem was crashing Server Manager. (This used to be commit 402ed18188dd058ebed2ffc2af9840c04533dc8f)
1999-03-21Ensuring return status is aligned in SAMR_QUERY_DISPINFO response.Matthew Chapman1-0/+1
(This used to be commit 1e17c2529c5162ea79fe2331ca2162ffb98bd6c2)
1999-03-19added a "createuser" command.Luke Leighton1-0/+69
(This used to be commit fefb4bf19181714cb73414febd6ee2ec10356cbe)
1999-03-19value->enc_secret not value->secretLuke Leighton1-6/+4
(This used to be commit d6cee14f8049471b14337681cbeac115958fbac0)
1999-03-18Added SVC_START_SERVICE rpc. An NT PDC will attempt to start the NETLOGONMatthew Chapman1-0/+48
service on its BDC's prior to initiating SAM replication. For now just return success. (This used to be commit 113d03a38a34e5c4115dab59349078093bcd4888)
1999-03-18Changed hard-coded number of users/groups in SAMR_QUERY_DOMAIN_INFOMatthew Chapman1-3/+3
to MAX_SAM_ENTRIES to prevent truncation of user lists. A proper implementation is not important right now. (This used to be commit 900238a66153c276d63780e3264651089291d185)
1999-03-18Adding LSA_OPENSECRET (-> LsarOpenSecret) and LSA_QUERYSECRETMatthew Chapman2-0/+196
(-> LsarQuerySecret) on client side, including rpcclient command "querysecret" for others to play with. The major obstacle is working out the encryption algorithm used for the secret value. It definitely uses the NT hash as part of the key, and it seems the block size is 64 bits - probably DES based - but I can't work out what's done in between. Help required. (This used to be commit 365fa3b5fbf551670acc91f593138a7e91a5f7fa)
1999-03-16Added SVC_QUERY_DISP_NAME (corresponding to the GetServiceDisplayName API).Matthew Chapman1-0/+58
Needed during preliminary part of SAM replication. (This used to be commit 03e722cdf502491d09d4c5eb9024d837ae10ab32)
1999-03-12new "domtrust" test command. r&d into inter-domain trust accounts.Luke Leighton2-3/+5
(This used to be commit 65b0abe8b7594ff6c662da86dc2e35bd83a2d13d)
1999-03-08- todd sabin spotted bugs in samr enum dom users / groups / aliases code:Luke Leighton1-5/+3
last count (probably an ENUM / resume handle) should always be returned even if there are no items being returned. - got fed up of seven intendation levels in cmd_samr.c, maximum recommended in *any* code is three! made some sub-fns instead. (This used to be commit 1c330d568225759950401cfb98fe9e99db81419c)
1999-02-24Win9x user level security.Matthew Chapman1-249/+553
* Added SAMR_LOOKUP_DOMAIN (-> SamrLookupDomainInSamServer) * Added real SAMR_ENUM_DOM_GROUPS (corresponding to SamrEnumerateGroupsInDomain). The existing one is just an alias for SamrQueryDisplayInformation (see below). * Added three extra info levels to SAMR_QUERY_DISPINFO. Info level 3 is what was previously SAMR_ENUM_DOM_GROUPS; info levels 4 and 5 are simple user/group list requests used by Win9x and I suspect (haven't checked) the "low speed connection" User Manager. * Added another two aliases for SAMR_QUERY_DISPINFO, opcodes 0x30 and 0x33. Usually the first is with info level 3 and the second 4 but there is some overlap so indeed these should be implemented as just aliases. * Return ERRDOS/ERRmoredata on extra data instead of STATUS_BUFFER_OVERFLOW for Win95's benefit. On a named pipe this results in an SMBreadX as usual. Still need to fix SAMR_QUERY_DOMAIN_INFO which has a hard-coded number of users and groups - which Win95 proceeds to truncate at. (This used to be commit 7d03e6e21908f3a759a4e65c5edd850622335e3e)
1999-02-23added jeremy's new c++-like code for parsing of security descriptors.Luke Leighton3-256/+396
(This used to be commit ec1b7000fd88c5a08e438c7033f60e49b9ec44a8)
1999-02-19samr_lookup_names "none found" error needed corrections with empty lists.Luke Leighton1-2/+2
(This used to be commit e164b5080ca966de4227277f7ac031bc96d056ad)
1999-02-18problem been there for months: reg_r_info not aligning after string buffer.Luke Leighton1-0/+1
(This used to be commit 66e2787ab7db72fb654b995280b294738e77e50a)
1999-02-16rpcclient shutdown commandLuke Leighton1-0/+63
(This used to be commit 59f081069a58f6a070ed6016c06153d5e695da93)
1999-02-15Always null-terminate strings.Matthew Chapman3-5/+5
Also some string length and sizeof(pointer) corrections. (This used to be commit ce24191939b82985d09eabe945199f38b0fea486)
1999-02-12UNICODE cleanup (see lib/util_unistr.c).Matthew Chapman3-13/+14
No more ugly static library buffers and all functions take a destination string length (especially unistrcpy was rather dangerous; we were only saved by the fact that datagrams are limited in size). (This used to be commit a1d39af1ce1d451b811dbd7c2ba391214851b87e)
1999-02-11the UNICODE issue...Luke Leighton3-7/+7
(This used to be commit 73db80f34183324845407b00f58462ff2d7b47ea)
1999-02-09removal of the use of unistrn2 function: replace it with unistr2_to_strLuke Leighton2-4/+5
which is more appropriate. (This used to be commit ac72fe1ab3d10f64a5945ccbd4ed3817e30f9f7b)
1999-02-08UNICODE byte ordering issue: typecast to uint16* replaced with SSVAL()Luke Leighton3-8/+8
(This used to be commit 9084b7e33dfe717bd8d5604ee71d137e3baef0f5)
1999-02-03cache unix groups so that two-level getgrent calls don't occur.Luke Leighton2-5/+4
(This used to be commit f7dfa55a2e191ae780d399026bce48f68cda4bf0)
1999-02-01Initialise NTTIME properly in make_reg_q_enum_key instead of usingMatthew Chapman1-1/+1
unix_to_nt_time hack. Seems to me it's ignored anyway (dummy return buffer?). (This used to be commit 1e3873111faf352ef14a098eff250b505ab0b800)
1999-01-29fix for enumerate domain users (bug spotted by sean matthews).Luke Leighton1-12/+9
also needed to use start index properly and generate next index. both client and server code need to recognise error code 0x105 when there's not enough room to store all the users in one call. sort this out another time. (This used to be commit ad58cdfac6b85d9431216e32e532ad4d60f9c6dd)
1999-01-28rpcclient "Service Control Manager" svcenum [-i] command.Luke Leighton1-2/+4
(This used to be commit a022710f1e3996ecbe6bbe035e1df0bc4c050b34)
1998-12-20fix for potential lsass.exe crashing due to negative response fromLuke Leighton1-23/+27
LsaLookupNames being incorrect. this is a bit wierd: why would the lsass.exe on the nt _client_ crash due to an LsaLookupNames response from a samba _server_? (This used to be commit a15a3f95f2a14ab164ca758e2145444a803190b2)
1998-12-09adding svcctl parsing codeLuke Leighton1-0/+186
(This used to be commit c6f2f58c74cd79d84ec4a7802882da07a9af80d4)
1998-12-09adding some enumerate services code, client and server.Luke Leighton3-52/+205
(This used to be commit dacf5b152bf74cc3ee9a816911384a5eb0e77afa)
1998-12-08adding "Service Control Manager" commands to rpcclient.Luke Leighton1-13/+104
(This used to be commit e5ee965f8d8452ab694bc5d88e474c4b91dce5b0)
1998-12-08adding srvsvc pipe.Luke Leighton3-0/+212
(This used to be commit d06d6369942828ec89e90f99bd0d0d3f91d61d13)
1998-12-07bugs in rpcclient. add_aliasmem uses a DOM_SID2 not a DOM_SID.Luke Leighton1-3/+3
(This used to be commit 8a85d7abed317fd06e3e0026d4b9e088311eede4)
1998-12-07- lib/unix_sec_ctxt.cLuke Leighton3-30/+95
attempt at taking lib/uid.c and getting a unix security context change module that is independent of "cnums" and "snums". a security context is needed for pipes, not just IPC$ or other services. - group database API added add_group/alias_member, del_group/alias_member, del_group/alias_entry functions. del_builtin_entry() is deliberately set to NULL to cause an exception, you cannot delete builtin aliases. - parse_lsa.c srv_lsa.c fixed lookup_names code, it was a load of trash and didn't do anything. - cmd_samr.c rpcclient.c srv_samr.c added "deletegroup", "deletealias", "delaliasmem", "delgroupmem", "addgroupmem", "addaliasmem", "createalias", "creategroup", to both client and server code. server code calls into unix stubs right now, which don't actually do anything. the only instance where they are expected to do anything is in appliance mode NOT even in the ldap code or anything. client code modified to call samr_lookup_names() for group code (because we can) and lsa_lookup_names() for alias code (because we have to). - srv_lookup.c oops, lookup on unsplit name, we got lookup on DOMAIN, DOMAIN\name instead of DOMAIN, name. (This used to be commit b8175702ef61b8b37b078f38e81452c00a5e2986)
1998-12-04added delete domain group and local group and delete domain group member.Luke Leighton1-1/+179
(This used to be commit bf15343def5b95ce4387ac4357674aff31431194)
1998-12-04- oops, i got "add alias member" and "delete alias member" swapped.Luke Leighton2-24/+22
- samr_enum_dom_users, the first 4 bytes is some sort of garbage, nt5-beta2 clears them out to zeros whereas nt4 does not. fixed bug where we were assuming that the first 4 bytes of a response _had_ to be non-zero. - cli_lsarpc.c: forgot to append the rid on the lsa_lookup_names() client call. - added in "addaliasmem" and "addgroupmem" commands. the addaliasmem command actually turned out to be a "delaliasmem" :-) :-) - parse_lsa.c: moved assert array check to after the size of useable array space is set... (This used to be commit 165b15a8cacc4bc7cf8cc0b9aaabb6b92cef7fdb)
1998-12-04- renamed do_samr_xxx to samr_xxxLuke Leighton1-28/+28
- renamed do_lsa_xxx to lsa_xxx - added "enumgroups [-m]" command, enumerates groups, shows members. - added cmd_sam_add_groupmem(), need to call these in rpcclient.c - added cmd_sam_add_aliasmem(), need to call these in rpcclient.c - modified "enumaliases [-m]" command - improved "enumgroups" and "enumaliases" to display names not just RIDS/SIDs. - renamed "samr_unknown_12" to "samr_lookup_rids". - added the following client-side functions: get_samr_query_groupmem() get_samr_query_aliasmem() get_samr_query_groupinfo() samr_enum_dom_groups() samr_enum_dom_aliases() samr_add_aliasmem() samr_add_groupmem() - improved display output (display.c) (This used to be commit eacc5e581af2b4de24186b9be3238b352c54effe)
1998-12-03added createalias command to rpcclientLuke Leighton1-16/+13
(This used to be commit 4771d5451b49375cc2fd4246d7d746b0d03cd5ba)
1998-12-03create domain group command (creategroup) added to rpcclient.Luke Leighton1-5/+5
renamed do_samr_xxxx to samr_xxxx. (This used to be commit 1e5d81c154740349a2cda4c1892b33a21c0683a8)
1998-12-03adding group parsing: add/modify/delete/add members.Luke Leighton1-90/+217
(This used to be commit 13a656b0e5c73e157b222765fb57a1bdafc67b80)
1998-12-02spotted the mistake in group_info1 parsing.Luke Leighton1-2/+4
(This used to be commit e39c0c76ae52bbd4539f8f254e78566a5511efc1)
1998-12-02added rid and sid_name_use to DOMAIN_GRP_MEMBER, for use in group memberLuke Leighton2-61/+58
query. domain groups now work, hurrah! only thing is that the description is one character long, don't know why (which is wierd in itself). (This used to be commit 78a86c64960a7823b0db8b7bebfffabb4a5ba864)
1998-12-02adding group member code, made a start. found that the group members'Luke Leighton2-62/+344
rid is needed not the name (see DOMAIN_GRP_MEMBER) decided to go home. (This used to be commit 9337049dfc98becfa74522d418dae64a97c7a304)
1998-12-01query_aliasmem code. it works (hurrah).Luke Leighton2-54/+54
(This used to be commit f7f2516df46dde1671235f788f7689c93d9395ae)
1998-12-01rpc_samr.h parse_samr.c srv_samr.c :Luke Leighton1-17/+102
samr_query_aliasmembers (cool!) util_pwdb.c sids.c nmbd.c server.c smbpasswd.c swat.c : pwdb_initialise(BOOL is_server) now creates / reads DOMAIN_NAME.SID if is_server is True, and does LsaQueryInfoPolicy(levels 3 and 5) to obtain member and pdc sids. (This used to be commit 3e1eb4f26b67e484b05e1dde94fd4e4dae982631)
1998-12-01adding some samr parsing calls (group / alias adding / deleting)Luke Leighton1-423/+820
added code that moves MACHINE.SID to DOMAIN_NAME.SID if it exists. (This used to be commit 51c1c31768a92d9c57ee6c09b78419bcbc544f03)
1998-11-29weekend work. user / group database API.Luke Leighton2-63/+25
- split sam_passwd and smb_passwd into separate higher-order function tables - renamed struct smb_passwd's "smb_user" to "unix_user". added "nt_user" plus user_rid, and added a "wrap" function in both sam_passwd and smb_passwd password databases to fill in the blank entries that are not obtained from whatever password database API instance is being used. NOTE: whenever a struct smb_passwd or struct sam_passwd is used, it MUST be initialised with pwdb_sam_init() or pwd_smb_init(), see chgpasswd.c for the only example outside of the password database APIs i could find. - added query_useraliases code to rpcclient. - dealt with some nasty interdependencies involving non-smbd programs and the password database API. this is still not satisfactorily resolved completelely, but it's the best i can do for now. - #ifdef'd out some password database options so that people don't mistakenly set them unless they recompile to _use_ those options. lots of debugging done, it's still not finished. the unix/NT uid/gid and user-rid/group-rid issues are better, but not perfect. the "BUILTIN" domain is still missing: users cannot be added to "BUILTIN" groups yet, as we only have an "alias" db API and a "group" db API but not "builtin-alias" db API... (This used to be commit 5d5d7e4de7d1514ab87b07ede629de8aa00519a1)