From: Yasuma Takeda Date: Wed, 11 Feb 2009 22:10:21 +0000 (-0800) Subject: Fix bug #6098 - When the DNS server is invalid, the ads_find_dc() does not work corre... X-Git-Tag: samba-3.0.36~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a6f8e88150df48271fbe663b5702d725bcac3eb;p=thirdparty%2Fsamba.git Fix bug #6098 - When the DNS server is invalid, the ads_find_dc() does not work correctly with "security = domain" 1. If DNS server is invalid, the get_sorted_dc_list() is called with realm(FQDN) and it fails. 2. On the next step, the get_sorted_dc_list() is called with realm(FQDN) again. I think "again" is wrong place. On the 2nd step, get_sorted_dc_list() should be called with realm(WORKGROUP). (cherry picked from commit 58331a118dd6a7fb56e70afe6cf93ef7cfff7e81) --- diff --git a/source/libads/ldap.c b/source/libads/ldap.c index 36e86936180..65f13cd7810 100644 --- a/source/libads/ldap.c +++ b/source/libads/ldap.c @@ -275,6 +275,8 @@ static NTSTATUS ads_find_dc(ADS_STRUCT *ads) if (c_realm && *c_realm) got_realm = True; + again: + /* we need to try once with the realm name and fallback to the netbios domain name if we fail (if netbios has not been disabled */ @@ -326,8 +328,6 @@ static NTSTATUS ads_find_dc(ADS_STRUCT *ads) sitename = sitename_fetch(realm); - again: - DEBUG(6,("ads_find_dc: (cldap) looking for %s '%s'\n", (got_realm ? "realm" : "domain"), realm));