mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-14 21:30:02 -04:00
2950. [bug] named failed to perform a SOA up to date check when
falling back to TCP on UDP timeouts when
ixfr-from-differences was set. [RT #21595]
This commit is contained in:
parent
02a211f4c4
commit
e588bfe689
2 changed files with 16 additions and 5 deletions
4
CHANGES
4
CHANGES
|
|
@ -1,3 +1,7 @@
|
|||
2950. [bug] named failed to perform a SOA up to date check when
|
||||
falling back to TCP on UDP timeouts when
|
||||
ixfr-from-differences was set. [RT #21595]
|
||||
|
||||
2949. [bug] dns_view_setnewzones() contained a memory leak if
|
||||
it was called multiple times. [RT #21942]
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zone.c,v 1.573 2010/09/05 12:14:26 fdupont Exp $ */
|
||||
/* $Id: zone.c,v 1.574 2010/09/06 04:41:13 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
|
|
@ -11915,6 +11915,7 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) {
|
|||
isc_sockaddr_t sourceaddr;
|
||||
isc_sockaddr_t masteraddr;
|
||||
isc_time_t now;
|
||||
const char *soa_before = "";
|
||||
|
||||
UNUSED(task);
|
||||
|
||||
|
|
@ -11942,6 +11943,8 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) {
|
|||
isc_netaddr_fromsockaddr(&masterip, &zone->masteraddr);
|
||||
(void)dns_peerlist_peerbyaddr(zone->view->peers, &masterip, &peer);
|
||||
|
||||
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SOABEFOREAXFR))
|
||||
soa_before = "SOA before ";
|
||||
/*
|
||||
* Decide whether we should request IXFR or AXFR.
|
||||
*/
|
||||
|
|
@ -11952,8 +11955,12 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) {
|
|||
xfrtype = dns_rdatatype_axfr;
|
||||
} else if (DNS_ZONE_OPTION(zone, DNS_ZONEOPT_IXFRFROMDIFFS)) {
|
||||
dns_zone_log(zone, ISC_LOG_DEBUG(1), "ixfr-from-differences "
|
||||
"set, requesting AXFR from %s", master);
|
||||
xfrtype = dns_rdatatype_axfr;
|
||||
"set, requesting %sAXFR from %s", soa_before,
|
||||
master);
|
||||
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SOABEFOREAXFR))
|
||||
xfrtype = dns_rdatatype_soa;
|
||||
else
|
||||
xfrtype = dns_rdatatype_axfr;
|
||||
} else if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_FORCEXFER)) {
|
||||
dns_zone_log(zone, ISC_LOG_DEBUG(1),
|
||||
"forced reload, requesting AXFR of "
|
||||
|
|
@ -11978,8 +11985,8 @@ got_transfer_quota(isc_task_t *task, isc_event_t *event) {
|
|||
}
|
||||
if (use_ixfr == ISC_FALSE) {
|
||||
dns_zone_log(zone, ISC_LOG_DEBUG(1),
|
||||
"IXFR disabled, requesting AXFR from %s",
|
||||
master);
|
||||
"IXFR disabled, requesting %sAXFR from %s",
|
||||
soa_before, master);
|
||||
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SOABEFOREAXFR))
|
||||
xfrtype = dns_rdatatype_soa;
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in a new issue