diff --git a/CHANGES b/CHANGES index d3c3d33ead..8f0d16abeb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2984. [bug] Don't run MX checks when the target of the MX record + is ".". [RT #22645] + 2983. [bug] Include "loadkeys" in rndc help output. [RT #22493] --- 9.8.0a1 released --- diff --git a/lib/dns/include/dns/zone.h b/lib/dns/include/dns/zone.h index 842370d04f..7cfcc001dc 100644 --- a/lib/dns/include/dns/zone.h +++ b/lib/dns/include/dns/zone.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: zone.h,v 1.178 2010/08/16 22:21:07 marka Exp $ */ +/* $Id: zone.h,v 1.179 2010/12/14 00:39:59 marka Exp $ */ #ifndef DNS_ZONE_H #define DNS_ZONE_H 1 @@ -1686,7 +1686,7 @@ void dns_zone_setcheckmx(dns_zone_t *zone, dns_checkmxfunc_t checkmx); /*%< * Set the post load integrity callback function 'checkmx'. - * 'checkmx' will be called if the MX is not within the zone. + * 'checkmx' will be called if the MX TARGET is not within the zone. * * Require: * 'zone' to be a valid zone. @@ -1705,8 +1705,8 @@ dns_zone_setchecksrv(dns_zone_t *zone, dns_checkmxfunc_t checksrv); void dns_zone_setcheckns(dns_zone_t *zone, dns_checknsfunc_t checkns); /*%< - * Set the post load integrity callback function 'checkmx'. - * 'checkmx' will be called if the MX is not within the zone. + * Set the post load integrity callback function 'checkns'. + * 'checkns' will be called if the NS TARGET is not within the zone. * * Require: * 'zone' to be a valid zone. diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 9ca32c01b7..5697953977 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: zone.c,v 1.577 2010/12/02 23:22:42 marka Exp $ */ +/* $Id: zone.c,v 1.578 2010/12/14 00:39:59 marka Exp $ */ /*! \file */ @@ -1750,6 +1750,12 @@ zone_check_mx(dns_zone_t *zone, dns_db_t *db, dns_name_t *name, dns_name_t *foundname; int level; + /* + * "." means the services does not exist. + */ + if (dns_name_equal(name, dns_rootname)) + return (ISC_TRUE); + /* * Outside of zone. */