mirror of
https://github.com/samba-team/samba.git
synced 2025-12-06 16:23:49 +03:00
r18015: Try and detect network failures immediately in
set_dc_type_and_flags(). Fix problem when DC is down in ads_connect, where we fall back to NetBIOS and try exactly the same IP addresses we just put in the negative connection cache.... We can never succeed, so don't try lookups a second time. Jeremy.
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
9c93abf25e
commit
2d28f3e94a
@@ -286,6 +286,26 @@ again:
|
||||
|
||||
if ( !NT_STATUS_IS_OK(check_negative_conn_cache(realm, server)) )
|
||||
continue;
|
||||
|
||||
if (!got_realm) {
|
||||
/* realm in this case is a workgroup name. We need
|
||||
to ignore any IP addresses in the negative connection
|
||||
cache that match ip addresses returned in the ad realm
|
||||
case. It sucks that I have to reproduce the logic above... */
|
||||
c_realm = ads->server.realm;
|
||||
if ( !c_realm || !*c_realm ) {
|
||||
if ( !ads->server.workgroup || !*ads->server.workgroup ) {
|
||||
c_realm = lp_realm();
|
||||
}
|
||||
}
|
||||
if (c_realm && *c_realm &&
|
||||
!NT_STATUS_IS_OK(check_negative_conn_cache(c_realm, server))) {
|
||||
/* Ensure we add the workgroup name for this
|
||||
IP address as negative too. */
|
||||
add_failed_connection_entry( realm, server, NT_STATUS_UNSUCCESSFUL );
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ads_try_connect(ads, server) ) {
|
||||
SAFE_FREE(ip_list);
|
||||
|
||||
Reference in New Issue
Block a user