diff options
Diffstat (limited to 'source/passdb/util_sam_sid.c')
-rw-r--r-- | source/passdb/util_sam_sid.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/source/passdb/util_sam_sid.c b/source/passdb/util_sam_sid.c index 42e4b6df967..822b7f6a349 100644 --- a/source/passdb/util_sam_sid.c +++ b/source/passdb/util_sam_sid.c @@ -91,7 +91,7 @@ static struct sid_name_map_info special_domains[] = { Turns a domain SID into a name, returned in the nt_domain argument. ***************************************************************************/ -BOOL map_domain_sid_to_name(DOM_SID *sid, fstring nt_domain) +BOOL map_domain_sid_to_name(const DOM_SID *sid, fstring nt_domain) { fstring sid_str; int i = 0; @@ -100,11 +100,6 @@ BOOL map_domain_sid_to_name(DOM_SID *sid, fstring nt_domain) DEBUG(5,("map_domain_sid_to_name: %s\n", sid_str)); - if (sid_check_is_domain(sid)) { - fstrcpy(nt_domain, get_global_sam_name()); - return True; - } - while (special_domains[i].sid != NULL) { DEBUG(5,("map_domain_sid_to_name: compare: %s\n", sid_string_static(special_domains[i].sid))); @@ -169,6 +164,24 @@ BOOL lookup_special_sid(const DOM_SID *sid, const char **domain, return False; } +/******************************************************************* + Look up a rid in the BUILTIN domain + ********************************************************************/ +BOOL lookup_builtin_rid(uint32 rid, fstring name) +{ + const known_sid_users *aliases = builtin_groups; + int i; + + for (i=0; aliases[i].known_user_name != NULL; i++) { + if (rid == aliases[i].rid) { + fstrcpy(name, aliases[i].known_user_name); + return True; + } + } + + return False; +} + /***************************************************************** Check if the SID is our domain SID (S-1-5-21-x-y-z). *****************************************************************/ |