From: Brian Wellington Date: Wed, 6 Jun 2001 00:11:57 +0000 (+0000) Subject: pullup: X-Git-Tag: v9.1.3rc2~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3dd35c54a21f53b5275d9997ac5ca4ea7eceeed5;p=thirdparty%2Fbind9.git pullup: 860. [func] Drop cross class glue in zone transfers. --- diff --git a/CHANGES b/CHANGES index 2c191e7d9c5..d7ce104063b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ + 860. [func] Drop cross class glue in zone transfers. + 850. [bug] dns_rbt_findnode() would not find nodes that were split on a bitstring label somewhere other than in the last label of the node. [RT #1351] diff --git a/lib/dns/xfrin.c b/lib/dns/xfrin.c index 0b5c6492b4b..1862672d203 100644 --- a/lib/dns/xfrin.c +++ b/lib/dns/xfrin.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: xfrin.c,v 1.109.2.3 2001/05/14 03:22:05 marka Exp $ */ +/* $Id: xfrin.c,v 1.109.2.4 2001/06/06 00:11:57 bwelling Exp $ */ #include @@ -526,6 +526,13 @@ xfr_rr(dns_xfrin_ctx_t *xfr, dns_name_t *name, isc_uint32_t ttl, break; case XFRST_AXFR: + /* + * Old BIND's sent cross class A records for non IN classes. + */ + if (rdata->type == dns_rdatatype_a && + rdata->rdclass != xfr->rdclass && + xfr->rdclass != dns_rdataclass_in) + break; CHECK(axfr_putdata(xfr, DNS_DIFFOP_ADD, name, ttl, rdata)); if (rdata->type == dns_rdatatype_soa) { CHECK(axfr_commit(xfr));