mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
try tcp axfr/ixfr even if refresh fails/refused.
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: zone.c,v 1.389 2003/05/14 02:41:17 marka Exp $ */
|
/* $Id: zone.c,v 1.390 2003/05/21 14:15:32 marka Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -3402,6 +3402,8 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
|
|||||||
"refresh: retry limit for "
|
"refresh: retry limit for "
|
||||||
"master %s exceeded (source %s)",
|
"master %s exceeded (source %s)",
|
||||||
master, source);
|
master, source);
|
||||||
|
/* Try with TCP. */
|
||||||
|
goto tcp_transfer;
|
||||||
} else
|
} else
|
||||||
dns_zone_log(zone, ISC_LOG_INFO,
|
dns_zone_log(zone, ISC_LOG_INFO,
|
||||||
"refresh: failure trying master "
|
"refresh: failure trying master "
|
||||||
@@ -3449,6 +3451,11 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
|
|||||||
"refresh: unexpected rcode (%.*s) from "
|
"refresh: unexpected rcode (%.*s) from "
|
||||||
"master %s (source %s)", (int)rb.used, rcode,
|
"master %s (source %s)", (int)rb.used, rcode,
|
||||||
master, source);
|
master, source);
|
||||||
|
/*
|
||||||
|
* Perhaps AXFR/IXFR is allowed even if SOA queries arn't.
|
||||||
|
*/
|
||||||
|
if (msg->rcode == dns_rcode_refused)
|
||||||
|
goto tcp_transfer;
|
||||||
goto next_master;
|
goto next_master;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user