summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/nsswitch/winbindd_pam.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/nsswitch/winbindd_pam.c b/source3/nsswitch/winbindd_pam.c
index d9c9fe91cb..66ac61e5c9 100644
--- a/source3/nsswitch/winbindd_pam.c
+++ b/source3/nsswitch/winbindd_pam.c
@@ -128,7 +128,11 @@ static NTSTATUS check_info3_in_group(TALLOC_CTX *mem_ctx,
DOM_SID *require_membership_of_sid;
size_t num_require_membership_of_sid;
DOM_SID *all_sids;
- size_t num_all_sids = (2 + info3->num_groups2 + info3->num_other_sids);
+ /* UserSID, GroupSID, Grooup2SIDs, OtherSIDs, WellKnownSIDs */
+ size_t num_all_sids = (2 +
+ info3->num_groups2 +
+ info3->num_other_sids +
+ 2 );
size_t i, j = 0, k;
size_t group_sid_length;
const char *search_location;
@@ -213,6 +217,11 @@ static NTSTATUS check_info3_in_group(TALLOC_CTX *mem_ctx,
}
j++;
+ /* Well-Known SIDs */
+
+ sid_copy( &all_sids[j++], &global_sid_World );
+ sid_copy( &all_sids[j++], &global_sid_Authenticated_Users );
+
for (i = 0; i < info3->num_groups2; i++) {
sid_copy(&all_sids[j], &(info3->dom_sid.sid));