]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Remove support for silently ignoring 'no-change' deltas from BIND 8 when processing...
authorMark Andrews <marka@isc.org>
Thu, 28 Jun 2018 02:21:43 +0000 (12:21 +1000)
committerEvan Hunt <each@isc.org>
Wed, 11 Jul 2018 02:20:09 +0000 (19:20 -0700)
CHANGES
doc/arm/notes.xml
lib/dns/journal.c

diff --git a/CHANGES b/CHANGES
index 5954a389e8eae409f9083c795aa7fc54102531f7..7aebc442e8fdac2be70cb3f11a310063aef1ebda 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+4993.  [cleanup]       Remove support for silently ignoring 'no-change' deltas
+                       from BIND 8 when processing an IXFR stream. 'no-change'
+                       deltas will now trigger a fallback to AXFR as the
+                       recovery mechanism. [GL #369]
+
 4992.  [bug]           The wrong address was being logged for trust anchor
                        telemetry queries. [GL #379]
 
index b6c3fdbfc7b776996df2b758057f1bb57e702c30..6f30ff9e682f7e10bd5dd2bcc706e1b4fafff3a2 100644 (file)
          abundance of caution. DNS COOKIE is an important security mechanism,
          and should not be disabled unless absolutely necessary.
        </para>
+       <para>
+         Remove support for silently ignoring 'no-change' deltas from
+         BIND 8 when processing an IXFR stream.  'no-change' deltas
+         will now trigger a fallback to AXFR as the recovery mechanism.
+       </para>
       </listitem>
     </itemizedlist>
   </section>
index ff974cfb780d83c662d33e7b4f8f8758edbeaa1e..409b3957a80a7a31dbc9de7f128576b0373053d5 100644 (file)
  *     the "end" position in the header.  The latter will
  *     be overwritten when new transactions are added.
  */
-/*%
- * When true, accept IXFR difference sequences where the
- * SOA serial number does not change (BIND 8 sends such
- * sequences).
- */
-static isc_boolean_t bind8_compat = ISC_TRUE; /* XXX config */
 
 /**************************************************************************/
 /*
@@ -1130,13 +1124,10 @@ dns_journal_commit(dns_journal_t *j) {
                              j->filename, j->x.n_soa);
                return (ISC_R_UNEXPECTED);
        }
-       if (! (DNS_SERIAL_GT(j->x.pos[1].serial, j->x.pos[0].serial) ||
-              (bind8_compat &&
-               j->x.pos[1].serial == j->x.pos[0].serial)))
-       {
+       if (! DNS_SERIAL_GT(j->x.pos[1].serial, j->x.pos[0].serial)) {
                isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR,
                              "%s: malformed transaction: serial number "
-                             "would decrease", j->filename);
+                             "did not increase", j->filename);
                return (ISC_R_UNEXPECTED);
        }
        if (! JOURNAL_EMPTY(&j->header)) {