diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index 9fba6ca6630a5a2f47a9b0a8686a8d7f683f2405..9b89c0aa5a43558ad05066e4c4a978834fe619a8 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -359,8 +359,8 @@ struct fetchctx { /*% * Random numbers to use for mixing up server addresses. */ - uint32_t rand_buf; - uint32_t rand_bits; + uint32_t rand_buf; + uint32_t rand_bits; /*% * Fetch-local statistics for detailed logging. @@ -370,7 +370,7 @@ struct fetchctx { int exitline; isc_time_t start; uint64_t duration; - bool logged; + bool logged; unsigned int querysent; unsigned int referrals; unsigned int lamecount; @@ -380,7 +380,7 @@ struct fetchctx { unsigned int adberr; unsigned int findfail; unsigned int valfail; - bool timeout; + bool timeout; dns_adbaddrinfo_t *addrinfo; const isc_sockaddr_t *client; dns_messageid_t id; @@ -4692,8 +4692,6 @@ fctx_join(fetchctx_t *fctx, isc_task_t *task, const isc_sockaddr_t *client, fctx_increference(fctx); - fctx->client = client; - fetch->magic = DNS_FETCH_MAGIC; fetch->private = fctx; @@ -4717,8 +4715,9 @@ log_ns_ttl(fetchctx_t *fctx, const char *where) { static isc_result_t fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, const dns_name_t *domain, dns_rdataset_t *nameservers, - unsigned int options, unsigned int bucketnum, unsigned int depth, - isc_counter_t *qc, fetchctx_t **fctxp) + const isc_sockaddr_t *client, unsigned int options, + unsigned int bucketnum, unsigned int depth, isc_counter_t *qc, + fetchctx_t **fctxp) { fetchctx_t *fctx; isc_result_t result; @@ -4830,7 +4829,7 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type, fctx->rand_bits = 0; fctx->timeout = false; fctx->addrinfo = NULL; - fctx->client = NULL; + fctx->client = client; fctx->ns_ttl = 0; fctx->ns_ttl_ok = false; @@ -10569,7 +10568,8 @@ dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t *name, if (fctx == NULL) { result = fctx_create(res, name, type, domain, nameservers, - options, bucketnum, depth, qc, &fctx); + client, options, bucketnum, depth, qc, + &fctx); if (result != ISC_R_SUCCESS) goto unlock; new_fctx = true;