summaryrefslogtreecommitdiffstats
path: root/bin/named/xfrout.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/named/xfrout.c')
-rw-r--r--bin/named/xfrout.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/bin/named/xfrout.c b/bin/named/xfrout.c
index 6cda658..0363500 100644
--- a/bin/named/xfrout.c
+++ b/bin/named/xfrout.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2011, 2013 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -833,14 +833,6 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
FAILQ(DNS_R_NOTAUTH, "non-authoritative zone",
question_name, question_class);
is_dlz = ISC_TRUE;
- /*
- * DLZ only support full zone transfer, not incremental
- */
- if (reqtype != dns_rdatatype_axfr) {
- mnemonic = "AXFR-style IXFR";
- reqtype = dns_rdatatype_axfr;
- }
-
} else {
/*
* not DLZ and not in normal zone table, we are
@@ -852,12 +844,14 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
} else {
/* zone table has a match */
switch(dns_zone_gettype(zone)) {
+ /* Master and slave zones are OK for transfer. */
case dns_zone_master:
case dns_zone_slave:
case dns_zone_dlz:
- break; /* Master and slave zones are OK for transfer. */
+ break;
default:
- FAILQ(DNS_R_NOTAUTH, "non-authoritative zone", question_name, question_class);
+ FAILQ(DNS_R_NOTAUTH, "non-authoritative zone",
+ question_name, question_class);
}
CHECK(dns_zone_getdb(zone, &db));
dns_db_currentversion(db, &ver);
@@ -992,7 +986,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
is_poll = ISC_TRUE;
goto have_stream;
}
- journalfile = dns_zone_getjournal(zone);
+ journalfile = is_dlz ? NULL : dns_zone_getjournal(zone);
if (journalfile != NULL)
result = ixfr_rrstream_create(mctx,
journalfile,
OpenPOWER on IntegriCloud