summaryrefslogtreecommitdiff
path: root/source3/groupdb
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-12-02 22:05:56 +0000
committerLuke Leighton <lkcl@samba.org>1998-12-02 22:05:56 +0000
commit78df0fb8f1ef52b629ccc2634bb0e158a80058a3 (patch)
tree1b6fd8660b680d703ae3f344a2b8e0b81b72f0cf /source3/groupdb
parent90ce7b9288f23cbf0fe3ce2aecb0b11d283ed531 (diff)
downloadsamba-78df0fb8f1ef52b629ccc2634bb0e158a80058a3.tar.gz
samba-78df0fb8f1ef52b629ccc2634bb0e158a80058a3.tar.bz2
samba-78df0fb8f1ef52b629ccc2634bb0e158a80058a3.zip
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). (This used to be commit 78a86c64960a7823b0db8b7bebfffabb4a5ba864)
Diffstat (limited to 'source3/groupdb')
-rw-r--r--source3/groupdb/groupunix.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/source3/groupdb/groupunix.c b/source3/groupdb/groupunix.c
index 685e8146c0..154e23338d 100644
--- a/source3/groupdb/groupunix.c
+++ b/source3/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;
}