diff options
author | Luke Leighton <lkcl@samba.org> | 1998-12-01 19:10:44 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1998-12-01 19:10:44 +0000 |
commit | 04e382fb166a64de193dc3c7b21187d8382eaeea (patch) | |
tree | f8935ebbbabfe2b2d2368aca14113931c323cd94 /source3/lib/util_pwdb.c | |
parent | e2d51234002609f00bfa92b8031ac15616d6fe26 (diff) | |
download | samba-04e382fb166a64de193dc3c7b21187d8382eaeea.tar.gz samba-04e382fb166a64de193dc3c7b21187d8382eaeea.tar.xz samba-04e382fb166a64de193dc3c7b21187d8382eaeea.zip |
rpc_samr.h parse_samr.c srv_samr.c :
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)
Diffstat (limited to 'source3/lib/util_pwdb.c')
-rw-r--r-- | source3/lib/util_pwdb.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/source3/lib/util_pwdb.c b/source3/lib/util_pwdb.c index 588070f7b87..8008e9de71f 100644 --- a/source3/lib/util_pwdb.c +++ b/source3/lib/util_pwdb.c @@ -26,9 +26,11 @@ extern int DEBUGLEVEL; extern DOM_SID global_sam_sid; extern fstring global_sam_name; -extern DOM_SID global_sid_S_1_5_20; + +extern DOM_SID global_member_sid; extern fstring global_myworkgroup; +extern DOM_SID global_sid_S_1_5_20; /* * A list of the rids of well known BUILTIN and Domain users * and groups. @@ -416,7 +418,7 @@ BOOL pwdb_gethexpwd(const char *p, char *pwd) /************************************************************* initialise password databases, domain names, domain sid. **************************************************************/ -BOOL pwdb_initialise(void) +BOOL pwdb_initialise(BOOL is_server) { fstrcpy(global_myworkgroup, lp_workgroup()); @@ -430,15 +432,22 @@ BOOL pwdb_initialise(void) generate_wellknown_sids(); - if (!generate_sam_sid(global_sam_name)) + if (is_server) { - DEBUG(0,("ERROR: Samba cannot create a SAM SID for its domain (%s).\n", - global_sam_name)); - return False; + if (!generate_sam_sid(global_sam_name)) + { + DEBUG(0,("ERROR: Samba cannot create a SAM SID for its domain (%s).\n", + global_sam_name)); + return False; + } + } + else + { + if (!get_domain_sids(&global_member_sid, &global_sam_sid)) + { + return False; + } } - if(!initialise_password_db()) - return False; - - return True; + return initialise_password_db(); } |