mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 22:45:39 +00:00
alternative fix to 303. [RT #157]
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: xfrin.c,v 1.80 2000/07/03 13:33:05 marka Exp $ */
|
/* $Id: xfrin.c,v 1.81 2000/07/03 22:42:36 gson Exp $ */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -312,6 +312,12 @@ static isc_result_t
|
|||||||
ixfr_init(dns_xfrin_ctx_t *xfr) {
|
ixfr_init(dns_xfrin_ctx_t *xfr) {
|
||||||
isc_result_t result;
|
isc_result_t result;
|
||||||
|
|
||||||
|
if (xfr->reqtype != dns_rdatatype_ixfr) {
|
||||||
|
xfrin_log(xfr, ISC_LOG_ERROR,
|
||||||
|
"got incremental response to AXFR request");
|
||||||
|
return (DNS_R_FORMERR);
|
||||||
|
}
|
||||||
|
|
||||||
xfr->is_ixfr = ISC_TRUE;
|
xfr->is_ixfr = ISC_TRUE;
|
||||||
INSIST(xfr->db != NULL);
|
INSIST(xfr->db != NULL);
|
||||||
xfr->difflen = 0;
|
xfr->difflen = 0;
|
||||||
@@ -443,8 +449,7 @@ xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, isc_uint32_t ttl,
|
|||||||
* If the transfer begins with one SOA record, it is an AXFR,
|
* If the transfer begins with one SOA record, it is an AXFR,
|
||||||
* if it begins with two SOAs, it is an IXFR.
|
* if it begins with two SOAs, it is an IXFR.
|
||||||
*/
|
*/
|
||||||
if (xfr->reqtype == dns_rdatatype_ixfr &&
|
if (rdata->type == dns_rdatatype_soa &&
|
||||||
rdata->type == dns_rdatatype_soa &&
|
|
||||||
xfr->ixfr.request_serial == dns_soa_getserial(rdata)) {
|
xfr->ixfr.request_serial == dns_soa_getserial(rdata)) {
|
||||||
xfrin_log(xfr, ISC_LOG_DEBUG(3),
|
xfrin_log(xfr, ISC_LOG_DEBUG(3),
|
||||||
"got incremental response");
|
"got incremental response");
|
||||||
|
Reference in New Issue
Block a user