2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 14:35:26 +00:00

replace some INSISTs that theoretically could occur with normal failures

This commit is contained in:
Brian Wellington
2000-12-05 18:53:43 +00:00
parent c87a3af2d6
commit c70908209e

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: validator.c,v 1.85 2000/11/08 00:51:24 bwelling Exp $ */
/* $Id: validator.c,v 1.86 2000/12/05 18:53:43 bwelling Exp $ */
#include <config.h>
@@ -364,7 +364,11 @@ nxtprovesnonexistence(dns_validator_t *val, dns_name_t *nxtname,
isc_result_t result;
result = dns_rdataset_first(nxtset);
INSIST(result == ISC_R_SUCCESS);
if (result != ISC_R_SUCCESS) {
validator_log(val, ISC_LOG_DEBUG(3),
"failure processing NXT set");
return (ISC_FALSE);
}
dns_rdataset_current(nxtset, &rdata);
validator_log(val, ISC_LOG_DEBUG(3),
@@ -393,8 +397,9 @@ nxtprovesnonexistence(dns_validator_t *val, dns_name_t *nxtname,
* The NXT owner name is less than the nonexistent name.
*/
result = dns_rdata_tostruct(&rdata, &nxt, NULL);
if (result != ISC_R_SUCCESS)
return (ISC_FALSE);
dns_rdata_reset(&rdata);
INSIST(result == ISC_R_SUCCESS);
order = dns_name_compare(val->event->name, &nxt.next);
if (order >= 0) {
/*
@@ -404,10 +409,20 @@ nxtprovesnonexistence(dns_validator_t *val, dns_name_t *nxtname,
*/
dns_rdata_sig_t siginfo;
result = dns_rdataset_first(signxtset);
INSIST (result == ISC_R_SUCCESS);
if (result != ISC_R_SUCCESS) {
validator_log(val, ISC_LOG_DEBUG(3),
"failure processing SIG NXT set");
dns_rdata_freestruct(&nxt);
return (ISC_FALSE);
}
dns_rdataset_current(signxtset, &rdata);
result = dns_rdata_tostruct(&rdata, &siginfo, NULL);
INSIST (result == ISC_R_SUCCESS);
if (result != ISC_R_SUCCESS) {
validator_log(val, ISC_LOG_DEBUG(3),
"failure processing SIG NXT set");
dns_rdata_freestruct(&nxt);
return (ISC_FALSE);
}
if (!dns_name_equal(&siginfo.signer, &nxt.next)) {
validator_log(val, ISC_LOG_DEBUG(3),
"next name is not greater");
@@ -1069,7 +1084,12 @@ validate(dns_validator_t *val, isc_boolean_t resume) {
"verify failure: %s",
isc_result_totext(result));
}
INSIST(result == ISC_R_NOMORE);
if (result != ISC_R_NOMORE) {
validator_log(val, ISC_LOG_DEBUG(3),
"failed to iterate signatures: %s",
isc_result_totext(result));
return (result);
}
validator_log(val, ISC_LOG_INFO, "no valid signature found");
return (DNS_R_NOVALIDSIG);
@@ -1145,7 +1165,8 @@ nxtvalidate(dns_validator_t *val, isc_boolean_t resume) {
continue;
result = dns_rdataset_first(rdataset);
INSIST(result == ISC_R_SUCCESS);
if (result != ISC_R_SUCCESS)
return (result);
dns_rdataset_current(rdataset, &nxt);
if (dns_nxt_typepresent(&nxt,
dns_rdatatype_soa))