1649. [bug] Silence "unexpected non-minimal diff" message.

[RT #11206]
This commit is contained in:
Mark Andrews
2004-06-04 03:45:45 +00:00
parent 30966c9ac0
commit 673d278aa3
2 changed files with 16 additions and 9 deletions

View File

@@ -1,3 +1,6 @@
1649. [bug] Silence "unexpected non-minimal diff" message.
[RT #11206]
1648. [func] Update dnssec-lookaside named.conf syntax to support
multiple dnssec-lookaside namespaces (not yet
implemented).

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: update.c,v 1.109.18.3 2004/05/12 06:39:15 marka Exp $ */
/* $Id: update.c,v 1.109.18.4 2004/06/04 03:45:45 marka Exp $ */
#include <config.h>
@@ -1102,14 +1102,16 @@ add_rr_prepare_action(void *data, rr_t *rr) {
isc_result_t result = ISC_R_SUCCESS;
add_rr_prepare_ctx_t *ctx = data;
dns_difftuple_t *tuple = NULL;
isc_boolean_t equal;
/*
* If the update RR is a "duplicate" of the update RR,
* the update should be silently ignored.
*/
if (dns_rdata_compare(&rr->rdata, ctx->update_rr) == 0 &&
rr->ttl == ctx->update_rr_ttl) {
equal = ISC_TF(dns_rdata_compare(&rr->rdata, ctx->update_rr) == 0);
if (equal && rr->ttl == ctx->update_rr_ttl) {
ctx->ignore_add = ISC_TRUE;
return (ISC_R_SUCCESS);
}
/*
@@ -1137,12 +1139,14 @@ add_rr_prepare_action(void *data, rr_t *rr) {
&rr->rdata,
&tuple));
dns_diff_append(&ctx->del_diff, &tuple);
CHECK(dns_difftuple_create(ctx->add_diff.mctx,
DNS_DIFFOP_ADD, ctx->name,
ctx->update_rr_ttl,
&rr->rdata,
&tuple));
dns_diff_append(&ctx->add_diff, &tuple);
if (!equal) {
CHECK(dns_difftuple_create(ctx->add_diff.mctx,
DNS_DIFFOP_ADD, ctx->name,
ctx->update_rr_ttl,
&rr->rdata,
&tuple));
dns_diff_append(&ctx->add_diff, &tuple);
}
}
failure:
return (result);