/*%
* 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.
int exitline;
isc_time_t start;
uint64_t duration;
- bool logged;
+ bool logged;
unsigned int querysent;
unsigned int referrals;
unsigned int lamecount;
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;
fctx_increference(fctx);
- fctx->client = client;
-
fetch->magic = DNS_FETCH_MAGIC;
fetch->private = fctx;
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;
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;
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;