From 78a86c64960a7823b0db8b7bebfffabb4a5ba864 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Wed, 2 Dec 1998 22:05:56 +0000 Subject: added rid and sid_name_use to DOMAIN_GRP_MEMBER, for use in group member 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). --- source/groupdb/groupunix.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source/groupdb') diff --git a/source/groupdb/groupunix.c b/source/groupdb/groupunix.c index 685e8146c02..154e23338d9 100644 --- a/source/groupdb/groupunix.c +++ b/source/groupdb/groupunix.c @@ -84,6 +84,8 @@ BOOL get_unixgroup_members(struct group *grp, for (i = 0; (unix_name = grp->gr_mem[i]) != NULL; i++) { DOM_NAME_MAP gmep; + DOMAIN_GRP_MEMBER *mem; + uint32 rid; if (!lookupsmbpwnam (unix_name, &gmep) && !lookupsmbgrpnam(unix_name, &gmep)) @@ -100,7 +102,8 @@ BOOL get_unixgroup_members(struct group *grp, continue; } - if (!sid_front_equal(&global_sam_sid, &gmep.sid)) + sid_split_rid(&gmep.sid, &rid); + if (!sid_equal(&global_sam_sid, &gmep.sid)) { DEBUG(0,("group database: could not resolve name %s (wrong Domain SID)\n", unix_name)); @@ -113,9 +116,13 @@ BOOL get_unixgroup_members(struct group *grp, return False; } - fstrcpy((*members)[(*num_mem)].name, gmep.nt_name); - (*members)[(*num_mem)].attr = 0x07; + mem = &(*members)[(*num_mem)]; (*num_mem)++; + + fstrcpy(mem->name, gmep.nt_name); + mem->attr = 0x07; + mem->sid_use = gmep.type; + mem->rid = rid; } return True; } -- cgit v1.2.1