summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2011-09-16 15:45:47 +0200
committerVolker Lendecke <vlendec@samba.org>2011-09-17 00:51:27 +0200
commit3dcec44f3edbc9c4f1946ead3480f6d01cd53e7a (patch)
tree2f64453e2af8f074ab2d9f71314f41a470aa6f37 /source3
parent62d4a317f9786d2f3761c566ea9d5b004024d542 (diff)
downloadsamba-3dcec44f3edbc9c4f1946ead3480f6d01cd53e7a.tar.gz
samba-3dcec44f3edbc9c4f1946ead3480f6d01cd53e7a.tar.bz2
samba-3dcec44f3edbc9c4f1946ead3480f6d01cd53e7a.zip
s3: Fix bug 8455 -- Samba PDC is looking up only primary user group
group_sids_to_info3 does a sid_peek_check_rid on the domain sid before adding the rids to the array. If the domain sid is 0x0, then the check will always fail. Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Sat Sep 17 00:51:27 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3')
-rw-r--r--source3/auth/server_info.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/source3/auth/server_info.c b/source3/auth/server_info.c
index dec99b669e..fd2101024f 100644
--- a/source3/auth/server_info.c
+++ b/source3/auth/server_info.c
@@ -428,6 +428,13 @@ NTSTATUS samu_to_SamInfo3(TALLOC_CTX *mem_ctx,
info3->base.logon_count = pdb_get_logon_count(samu);
info3->base.bad_password_count = pdb_get_bad_password_count(samu);
+ info3->base.domain.string = talloc_strdup(info3,
+ pdb_get_domain(samu));
+ RET_NOMEM(info3->base.domain.string);
+
+ info3->base.domain_sid = dom_sid_dup(info3, &domain_sid);
+ RET_NOMEM(info3->base.domain_sid);
+
status = pdb_enum_group_memberships(mem_ctx, samu,
&group_sids, &gids,
&num_group_sids);
@@ -458,13 +465,6 @@ NTSTATUS samu_to_SamInfo3(TALLOC_CTX *mem_ctx,
RET_NOMEM(info3->base.logon_server.string);
}
- info3->base.domain.string = talloc_strdup(info3,
- pdb_get_domain(samu));
- RET_NOMEM(info3->base.domain.string);
-
- info3->base.domain_sid = dom_sid_dup(info3, &domain_sid);
- RET_NOMEM(info3->base.domain_sid);
-
info3->base.acct_flags = pdb_get_acct_ctrl(samu);
*_info3 = info3;