remove validator link form fetchctx

struct fetchctx does have a list of pending validators as well as a
pointer to the HEAD validator. Remove the validator pointer to avoid
confusion, as there is no perticular reasons to have it directly
accessible outside of the list.
This commit is contained in:
Colin Vidal 2025-01-09 12:01:28 +01:00
parent 87b0c1c1a0
commit 93e6e72eb6
2 changed files with 6 additions and 13 deletions

View file

@ -633,4 +633,4 @@ dns_resolver_freefresp(dns_fetchresponse_t **frespp);
*
* Requires:
* \li 'frespp' is valid. No-op if *frespp == NULL
*/
*/

View file

@ -381,7 +381,6 @@ struct fetchctx {
isc_sockaddrlist_t bad;
ISC_LIST(struct tried) edns;
isc_sockaddrlist_t bad_edns;
dns_validator_t *validator;
ISC_LIST(dns_validator_t) validators;
dns_db_t *cache;
dns_adb_t *adb;
@ -983,10 +982,6 @@ valcreate(fetchctx_t *fctx, dns_message_t *message, dns_adbaddrinfo_t *addrinfo,
&fctx->nfails, fctx->qc, fctx->gqc, &validator);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
inc_stats(fctx->res, dns_resstatscounter_val);
if ((valoptions & DNS_VALIDATOR_DEFER) == 0) {
INSIST(fctx->validator == NULL);
fctx->validator = validator;
}
ISC_LIST_APPEND(fctx->validators, validator, link);
return ISC_R_SUCCESS;
}
@ -5174,6 +5169,7 @@ has_000_label(dns_rdataset_t *nsecset) {
static void
validated(void *arg) {
dns_validator_t *val = (dns_validator_t *)arg;
dns_validator_t *nextval = NULL;
dns_adbaddrinfo_t *addrinfo = NULL;
dns_dbnode_t *node = NULL;
dns_dbnode_t *nsnode = NULL;
@ -5219,7 +5215,6 @@ validated(void *arg) {
LOCK(&fctx->lock);
ISC_LIST_UNLINK(fctx->validators, val, link);
fctx->validator = NULL;
UNLOCK(&fctx->lock);
/*
@ -5346,11 +5341,9 @@ validated(void *arg) {
UNLOCK(&fctx->lock);
INSIST(fctx->validator == NULL);
fctx->validator = ISC_LIST_HEAD(fctx->validators);
if (fctx->validator != NULL) {
dns_validator_send(fctx->validator);
nextval = ISC_LIST_HEAD(fctx->validators);
if (nextval != NULL) {
dns_validator_send(nextval);
goto cleanup_fetchctx;
} else if (sentresponse) {
done = true;
@ -11078,4 +11071,4 @@ dns_resolver_freefresp(dns_fetchresponse_t **frespp) {
*frespp = NULL;
dns_ede_unlinkall(fresp->mctx, &fresp->edelist);
isc_mem_putanddetach(&fresp->mctx, fresp, sizeof(*fresp));
}
}