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:
@@ -633,4 +633,4 @@ dns_resolver_freefresp(dns_fetchresponse_t **frespp);
|
||||
*
|
||||
* Requires:
|
||||
* \li 'frespp' is valid. No-op if *frespp == NULL
|
||||
*/
|
||||
*/
|
||||
+5
-12
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user