From 35a1d7c80e14927d124d6ea6926cc29c64232c80 Mon Sep 17 00:00:00 2001 From: Andreas Gustafsson Date: Fri, 20 Oct 2000 22:34:50 +0000 Subject: [PATCH] replaces_p() in bin/named/update.c should treat DNAME as a singleton type too. [RT #374] --- bin/named/update.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/bin/named/update.c b/bin/named/update.c index 82bc4fff79..e0e40b930e 100644 --- a/bin/named/update.c +++ b/bin/named/update.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: update.c,v 1.68 2000/10/20 13:29:29 marka Exp $ */ +/* $Id: update.c,v 1.69 2000/10/20 22:34:50 gson Exp $ */ #include @@ -928,6 +928,9 @@ rr_equal_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { /* * Return true iff 'update_rr' should replace 'db_rr' according * to the special RFC2136 rules for CNAME, SOA, and WKS records. + * + * RFC2136 does not mention NXT or DNAME, but multiple NXTs or DNAMEs + * make little sense, so we replace those, too. */ static isc_boolean_t replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { @@ -935,12 +938,10 @@ replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr) { return (ISC_FALSE); if (db_rr->type == dns_rdatatype_cname) return (ISC_TRUE); + if (db_rr->type == dns_rdatatype_dname) + return (ISC_TRUE); if (db_rr->type == dns_rdatatype_soa) return (ISC_TRUE); - /* - * RFC2136 does not mention NXT, but multiple NXTs make little - * sense, so we replace those, too. - */ if (db_rr->type == dns_rdatatype_nxt) return (ISC_TRUE); if (db_rr->type == dns_rdatatype_wks) {