From: Brian Wellington Date: Wed, 19 Sep 2001 21:52:14 +0000 (+0000) Subject: pullup: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=feca45e0ecb8ca3632e533c2b542028a6594f49e;p=thirdparty%2Fbind9.git pullup: 1006. [bug] If a KEY RR was found missing during DNSSEC validation, an assertion failure could subsequently be triggered in the resolver. [RT #1763] --- diff --git a/CHANGES b/CHANGES index bf65cd353c1..0c7e6dd6f80 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,8 @@ +1006. [bug] If a KEY RR was found missing during DNSSEC validation, + an assertion failure could subsequently be triggered + in the resolver. [RT #1763] + 1005. [bug] Don't copy nonzero RCODEs from request to response. [RT #1765] diff --git a/lib/dns/include/dns/result.h b/lib/dns/include/dns/result.h index 426fdae97b5..2da6e97534f 100644 --- a/lib/dns/include/dns/result.h +++ b/lib/dns/include/dns/result.h @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: result.h,v 1.76.2.3 2001/05/14 03:22:08 marka Exp $ */ +/* $Id: result.h,v 1.76.2.4 2001/09/19 21:52:14 bwelling Exp $ */ #ifndef DNS_RESULT_H #define DNS_RESULT_H 1 @@ -114,8 +114,10 @@ #define DNS_R_UNKNOWNPROTO (ISC_RESULTCLASS_DNS + 75) #define DNS_R_CLOCKSKEW (ISC_RESULTCLASS_DNS + 76) #define DNS_R_BADIXFR (ISC_RESULTCLASS_DNS + 77) +/* #define DNS_R_unused (ISC_RESULTCLASS_DNS + 78) */ +#define DNS_R_NOVALIDKEY (ISC_RESULTCLASS_DNS + 79) -#define DNS_R_NRESULTS 78 /* Number of results */ +#define DNS_R_NRESULTS 80 /* Number of results */ /* * DNS wire format rcodes. diff --git a/lib/dns/result.c b/lib/dns/result.c index 7fcfd293680..8c0c09b4ff8 100644 --- a/lib/dns/result.c +++ b/lib/dns/result.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: result.c,v 1.84.2.4 2001/06/08 19:38:59 bwelling Exp $ */ +/* $Id: result.c,v 1.84.2.5 2001/09/19 21:52:11 bwelling Exp $ */ #include @@ -118,7 +118,9 @@ static const char *text[DNS_R_NRESULTS] = { "unknown protocol", /* 75 DNS_R_UNKNOWNPROTO */ "clocks are unsynchronized", /* 76 DNS_R_CLOCKSKEW */ - "IXFR failed" /* 77 DNS_R_BADIXFR */ + "IXFR failed", /* 77 DNS_R_BADIXFR */ + "", /* 78 unused */ + "no valid KEY" /* 79 DNS_R_NOVALIDKEY */ }; static const char *rcode_text[DNS_R_NRCODERESULTS] = { diff --git a/lib/dns/validator.c b/lib/dns/validator.c index 271b35d5bfd..3d4ff9820ec 100644 --- a/lib/dns/validator.c +++ b/lib/dns/validator.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: validator.c,v 1.87.2.1 2001/01/09 22:44:26 bwelling Exp $ */ +/* $Id: validator.c,v 1.87.2.2 2001/09/19 21:52:12 bwelling Exp $ */ #include @@ -164,7 +164,7 @@ fetch_callback_validator(isc_task_t *task, isc_event_t *event) { validator_log(val, ISC_LOG_DEBUG(3), "fetch_callback_validator: got %s", dns_result_totext(eresult)); - validator_done(val, eresult); + validator_done(val, DNS_R_NOVALIDKEY); } out: @@ -283,7 +283,7 @@ fetch_callback_nullkey(isc_task_t *task, isc_event_t *event) { validator_log(val, ISC_LOG_DEBUG(3), "fetch_callback_nullkey: got %s", dns_result_totext(eresult)); - validator_done(val, eresult); + validator_done(val, DNS_R_NOVALIDKEY); } UNLOCK(&val->lock);