summaryrefslogtreecommitdiffstats
path: root/source/include/rpc_samr.h
Commit message (Collapse)AuthorAgeFilesLines
* adding srvsvc pipe.Luke Leighton1998-12-081-1/+18
|
* bugs in rpcclient. add_aliasmem uses a DOM_SID2 not a DOM_SID.Luke Leighton1998-12-071-1/+1
|
* - lib/unix_sec_ctxt.cLuke Leighton1998-12-071-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* added delete domain group and local group and delete domain group member.Luke Leighton1998-12-041-0/+37
|
* - oops, i got "add alias member" and "delete alias member" swapped.Luke Leighton1998-12-041-16/+15
| | | | | | | | | | | | | | | | - 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...
* - renamed do_samr_xxx to samr_xxxLuke Leighton1998-12-041-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | - 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)
* added createalias command to rpcclientLuke Leighton1998-12-031-1/+2
|
* create domain group command (creategroup) added to rpcclient.Luke Leighton1998-12-031-1/+2
| | | | renamed do_samr_xxxx to samr_xxxx.
* adding group parsing: add/modify/delete/add members.Luke Leighton1998-12-031-5/+3
|
* spotted the mistake in group_info1 parsing.Luke Leighton1998-12-021-1/+2
|
* added rid and sid_name_use to DOMAIN_GRP_MEMBER, for use in group memberLuke Leighton1998-12-021-10/+10
| | | | | | | 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).
* adding group member code, made a start. found that the group members'Luke Leighton1998-12-021-15/+40
| | | | rid is needed not the name (see DOMAIN_GRP_MEMBER) decided to go home.
* query_aliasmem code. it works (hurrah).Luke Leighton1998-12-011-1/+3
|
* rpc_samr.h parse_samr.c srv_samr.c :Luke Leighton1998-12-011-6/+17
| | | | | | | | | | 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.
* adding some samr parsing calls (group / alias adding / deleting)Luke Leighton1998-12-011-32/+20
| | | | added code that moves MACHINE.SID to DOMAIN_NAME.SID if it exists.
* weekend work. user / group database API.Luke Leighton1998-11-291-35/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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...
* yeehaah got users to be included in S-1-5-xxx-yyy-zzz's local groups.Luke Leighton1998-11-251-8/+8
| | | | | | now need search capability on S-1-5-20, which will need argh, a "group database API" on S-1-5-20, and the ability to add BUILTIN\Admins etc to "local group map" argh.
* unix instance of group database APILuke Leighton1998-11-231-3/+3
|
* - group database API. oops and oh dear, the threat has been carried out:Luke Leighton1998-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the pre-alpha "domain group" etc parameters have disappeared. - interactive debug detection - re-added mem_man (andrew's memory management, detects memory corruption) - american spellings of "initialise" replaced with english spelling of "initialise". - started on "lookup_name()" and "lookup_sid()" functions. proper ones. - moved lots of functions around. created some modules of commonly used code. e.g the password file locking code, which is used in groupfile.c and aliasfile.c and smbpass.c - moved RID_TYPE_MASK up another bit. this is really unfortunate, but there is no other "fast" way to identify users from groups from aliases. i do not believe that this code saves us anything (the multipliers) and puts us at a disadvantage (reduces the useable rid space). the designers of NT aren't silly: if they can get away with a user- interface-speed LsaLookupNames / LsaLookupSids, then so can we. i spoke with isaac at the cifs conference, the only time for example that they do a security context check is on file create. certainly not on individual file reads / writes, which would drastically hit their performance and ours, too. - renamed myworkgroup to global_sam_name, amongst other things, when used in the rpc code. there is also a global_member_name, as we are always responsible for a SAM database, the scope of which is limited by the role of the machine (e.g if a member of a workgroup, your SAM is for _local_ logins only, and its name is the name of your server. you even still have a SID. see LsaQueryInfoPolicy, levels 3 and 5). - updated functionality of groupname.c to be able to cope with names like DOMAIN\group and SERVER\alias. used this code to be able to do aliases as well as groups. this code may actually be better off being used in username mapping, too. - created a connect to serverlist function in clientgen.c and used it in password.c - initialisation in server.c depends on the role of the server. well, it does now. - rpctorture. smbtorture. EXERCISE EXTREME CAUTION.
* domain aliases added a bit better: does local aliases if you queryLuke Leighton1998-10-211-16/+17
| | | | | for sid S-1-5-20 and does (nothing at the moment) if you query for your own sid.
* the next dialog: user-groups. it's not very sensible what appears, but hey:Luke Leighton1998-10-211-8/+34
| | | | it appears!
* bug-fixing against:Luke Leighton1998-10-151-4/+24
| | | | | | | | | | | | | | | | | | AS/U: it returns dce/rpc "first" and "last" bits _clear_ in a bind/ack response, when they should be set in a (small) packet. they also, in the bind/ack do not set a secondary address string at all, so we can't check against that... Win95: client-side dce/rpc code is a bit odd. it does a "WaitNamedPipeState" and has slightly different pipe-naming (\PIPE\LANMAN is joined by \PIPE\SRVSVC, \PIPE\WINREG etc whereas nt just has \PIPE\LANMAN and \PIPE\). Win95-USRMGR.EXE: added LsaOpenPolicy (renamed existing to LsaOpenPolicy2). added SamrConnect (renamed existing to SamrConnect2).
* dce/rpcLuke Leighton1998-10-091-4/+5
|
* dce/rpcLuke Leighton1998-10-091-0/+1
|
* rpcclient srvsvc commands.Luke Leighton1998-10-051-8/+8
|
* - static function "create_new_hashes" was identical to "nt_lm_owf_gen".Luke Leighton1998-10-021-2/+2
| | | | | | | | | | create_new_hashes didn't zero the buffer for the md4hash: nt_lm_owf_gen did, because jeremy sorted this out a couple of days ago. call nt_lm_owf_gen instead. - call SMBOWFencrypt from SMBencrypt and SMBNTencrypt. - added #ifdef DEBUG_PASSWORD debug password calls.
* "For I have laboured mightily on Luke's code, and hath brokenJeremy Allison1998-03-111-0/+1023
all I saw" - the book of Jeremy, chapter 1 :-). So here is the mega-merge of the NTDOM branch server code. It doesn't include the new client side pieces, we'll look at that later. This should give the same functionality, server wise, as the NTDOM branch does, only merged into the main branch. Any fixes to domain controler functionality should be added to the main branch, not the NTDOM branch. This code compiles without warnings on gcc2.8, but will need further testing before we are sure all the working functionality of the NTDOM server branch has been correctly carried over. I hereby declare the server side of the NTDOM branch dead (and all who sail in her :-). Jeremy.