diff options
author | Volker Lendecke <vl@samba.org> | 2019-04-12 16:56:45 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2019-04-24 02:25:56 +0000 |
commit | 3020050bdf9df077ec9a0e962a689557187174ac (patch) | |
tree | 66561b2e2445d624ca186b573f4e04abaa105b76 | |
parent | 2577f43a133f8b8eb997b9529a38e21c77b5da22 (diff) | |
download | samba-3020050bdf9df077ec9a0e962a689557187174ac.tar.gz |
winbind: Fix overlapping id ranges
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Apr 24 02:25:56 UTC 2019 on sn-devel-184
-rw-r--r-- | selftest/knownfail | 1 | ||||
-rw-r--r-- | source3/winbindd/wb_xids2sids.c | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/selftest/knownfail b/selftest/knownfail index 08c4fc06b92..5bc18a69168 100644 --- a/selftest/knownfail +++ b/selftest/knownfail @@ -369,4 +369,3 @@ ^samba.tests.ntlmdisabled.python\(ktest\).python2.ntlmdisabled.NtlmDisabledTests.test_samr_change_password\(ktest\) ^samba.tests.ntlmdisabled.python\(ad_dc_no_ntlm\).python3.ntlmdisabled.NtlmDisabledTests.test_ntlm_connection\(ad_dc_no_ntlm\) ^samba.tests.ntlmdisabled.python\(ad_dc_no_ntlm\).python2.ntlmdisabled.NtlmDisabledTests.test_ntlm_connection\(ad_dc_no_ntlm\) -^idmap.ad.Test gid lookup of Domain Admins in trusted domain.\(ad_member_idmap_ad\) diff --git a/source3/winbindd/wb_xids2sids.c b/source3/winbindd/wb_xids2sids.c index 383fc67bc8d..929a3b8e425 100644 --- a/source3/winbindd/wb_xids2sids.c +++ b/source3/winbindd/wb_xids2sids.c @@ -302,7 +302,11 @@ static struct tevent_req *wb_xids2sids_dom_send( continue; } if (state->cached[i]) { - /* already mapped */ + /* already found in cache */ + continue; + } + if (!is_null_sid(&state->all_sids[i])) { + /* already mapped in a previously asked domain */ continue; } state->dom_xids[state->num_dom_xids++] = id; @@ -369,7 +373,11 @@ static void wb_xids2sids_dom_done(struct tevent_req *subreq) continue; } if (state->cached[i]) { - /* already mapped */ + /* already found in cache */ + continue; + } + if (!is_null_sid(&state->all_sids[i])) { + /* already mapped in a previously asked domain */ continue; } |