diff options
author | Gerald Carter <jerry@samba.org> | 2002-11-23 14:27:56 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2002-11-23 14:27:56 +0000 |
commit | 191dff2d279dd8315f093e313d8c149e786eb19f (patch) | |
tree | 2f0a9c9f08b31605b00a62639002fe2ae55c80ce /source3/nsswitch | |
parent | 9c68f9064d487573fa94d7decfb1bd68afd37070 (diff) | |
download | samba-191dff2d279dd8315f093e313d8c149e786eb19f.tar.gz samba-191dff2d279dd8315f093e313d8c149e786eb19f.tar.bz2 samba-191dff2d279dd8315f093e313d8c149e786eb19f.zip |
[merge from APP_HEAD]
90% fix for CR 1076. The password server parameter will no take things
like
password server = DC1 *
which means to contact DC1 first and the go to auto lookup if it
fails.
jerry
(This used to be commit c31a17889e3e4daf7c1e807038efc2c0fba78be3)
Diffstat (limited to 'source3/nsswitch')
-rw-r--r-- | source3/nsswitch/winbindd_cm.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source3/nsswitch/winbindd_cm.c b/source3/nsswitch/winbindd_cm.c index d44219d172..403bc38052 100644 --- a/source3/nsswitch/winbindd_cm.c +++ b/source3/nsswitch/winbindd_cm.c @@ -142,8 +142,9 @@ static BOOL cm_rpc_find_dc(const char *domain, struct in_addr *dc_ip, fstring sr { struct in_addr *ip_list = NULL; int count, i; + BOOL list_ordered; - if (!get_dc_list(domain, &ip_list, &count)) { + if (!get_dc_list(domain, &ip_list, &count, &list_ordered)) { struct in_addr pdc_ip; if (!get_pdc_ip(domain, &pdc_ip)) { @@ -161,8 +162,8 @@ static BOOL cm_rpc_find_dc(const char *domain, struct in_addr *dc_ip, fstring sr count = 1; } - /* Pick a nice close server */ - if (count > 1) { + /* Pick a nice close server, but only if the list was not ordered */ + if (!list_ordered && (count > 1) ) { qsort(ip_list, count, sizeof(struct in_addr), QSORT_CAST ip_compare); } |