summaryrefslogtreecommitdiffstats
path: root/source/passdb/util_sam_sid.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/passdb/util_sam_sid.c')
-rw-r--r--source/passdb/util_sam_sid.c25
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).
*****************************************************************/