Commit da53179d authored by Mark Andrews's avatar Mark Andrews
Browse files

1855. [bug] ixfr-from-differences was failing to detect changes

                        of ttl due to dns_diff_subtract() was ignoring the ttl
                        of records.  [RT #14616]
parent 16b9ee24
......@@ -45,7 +45,9 @@
1856. [doc] Switch Docbook toolchain from DSSSL to XSL.
[RT #11398]
1855. [placeholder] rt14616
1855. [bug] ixfr-from-differences was failing to detect changes
of ttl due to dns_diff_subtract() was ignoring the ttl
of records. [RT #14616]
1854. [bug] lwres also needs to know the print format for
(long long). [RT #13754]
......
......@@ -33,7 +33,7 @@ rt13606 open marka // TSIG SHA256
rt13662 open marka // rrset-order fixed
rt13753 review
rt13771 review
rt14616 review
rt14616 closed
rt14673 closed
rt14695 review
rt14775 review
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: journal.c,v 1.91 2005/04/29 00:22:47 marka Exp $ */
/* $Id: journal.c,v 1.92 2005/06/07 02:02:05 marka Exp $ */
#include <config.h>
......@@ -1746,6 +1746,8 @@ dns_diff_subtract(dns_diff_t diff[2], dns_diff_t *r) {
isc_result_t result;
dns_difftuple_t *p[2];
int i, t;
isc_boolean_t append;
CHECK(dns_diff_sort(&diff[0], rdata_order));
CHECK(dns_diff_sort(&diff[1], rdata_order));
......@@ -1774,11 +1776,17 @@ dns_diff_subtract(dns_diff_t diff[2], dns_diff_t *r) {
}
INSIST(t == 0);
/*
* Identical RRs in both databases; skip them both.
* Identical RRs in both databases; skip them both
* if the ttl differs.
*/
append = ISC_TF(p[0]->ttl != p[1]->ttl);
for (i = 0; i < 2; i++) {
ISC_LIST_UNLINK(diff[i].tuples, p[i], link);
dns_difftuple_free(&p[i]);
if (append) {
ISC_LIST_APPEND(r->tuples, p[i], link);
} else {
dns_difftuple_free(&p[i]);
}
}
next: ;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment