1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

r25032: Contact an off site DC if non is available on site.

(This used to be commit 50879e6de5101b6c5ab8b3fb954f1d2a48530716)
This commit is contained in:
Lars Müller 2007-09-08 14:56:11 +00:00 committed by Gerald (Jerry) Carter
parent 9fa56b9ae9
commit a747e8bdcf
2 changed files with 33 additions and 18 deletions

View File

@ -98,15 +98,22 @@ static BOOL ads_dc_name(const char *domain,
}
#ifdef HAVE_KRB5
if (is_our_primary_domain(domain) && (ads->config.flags & ADS_KDC) && ads_closest_dc(ads)) {
/* We're going to use this KDC for this realm/domain.
If we are using sites, then force the krb5 libs
to use this KDC. */
if (is_our_primary_domain(domain) && (ads->config.flags & ADS_KDC)) {
if (ads_closest_dc(ads)) {
/* We're going to use this KDC for this realm/domain.
If we are using sites, then force the krb5 libs
to use this KDC. */
create_local_private_krb5_conf_for_domain(realm,
domain,
sitename,
ads->ldap.ip);
create_local_private_krb5_conf_for_domain(realm,
domain,
sitename,
ads->ldap.ip);
} else {
create_local_private_krb5_conf_for_domain(realm,
domain,
NULL,
ads->ldap.ip);
}
}
#endif
break;

View File

@ -1084,21 +1084,29 @@ static BOOL dcip_to_name(const struct winbindd_domain *domain, struct in_addr ip
DEBUG(10,("dcip_to_name: flags = 0x%x\n", (unsigned int)ads->config.flags));
if (domain->primary && (ads->config.flags & ADS_KDC) && ads_closest_dc(ads)) {
char *sitename = sitename_fetch(ads->config.realm);
if (domain->primary && (ads->config.flags & ADS_KDC)) {
if (ads_closest_dc(ads)) {
char *sitename = sitename_fetch(ads->config.realm);
/* We're going to use this KDC for this realm/domain.
If we are using sites, then force the krb5 libs
to use this KDC. */
/* We're going to use this KDC for this realm/domain.
If we are using sites, then force the krb5 libs
to use this KDC. */
create_local_private_krb5_conf_for_domain(domain->alt_name,
domain->name,
sitename,
ip);
create_local_private_krb5_conf_for_domain(domain->alt_name,
domain->name,
sitename,
ip);
SAFE_FREE(sitename);
} else {
/* use an off site KDC */
create_local_private_krb5_conf_for_domain(domain->alt_name,
domain->name,
NULL,
ip);
}
winbindd_set_locator_kdc_envs(domain);
SAFE_FREE(sitename);
/* Ensure we contact this DC also. */
saf_store( domain->name, name);
saf_store( domain->alt_name, name);