Lines Matching refs:data
215 } data; member
271 void *data; /* The contents of the RR */ member
798 cb->reply.data.a.addrcount, cb->ttl, in reply_run_callback()
799 cb->reply.data.a.addresses, in reply_run_callback()
806 char *name = cb->reply.data.ptr.name; in reply_run_callback()
816 cb->reply.data.aaaa.addrcount, cb->ttl, in reply_run_callback()
817 cb->reply.data.aaaa.addresses, in reply_run_callback()
1133 addrtocopy = MIN(MAX_V4_ADDRS - reply.data.a.addrcount, (unsigned)addrcount); in reply_parse()
1138 memcpy(&reply.data.a.addresses[reply.data.a.addrcount], in reply_parse()
1141 reply.data.a.addrcount += addrtocopy; in reply_parse()
1143 if (reply.data.a.addrcount == MAX_V4_ADDRS) break; in reply_parse()
1148 if (name_parse(packet, length, &j, reply.data.ptr.name, in reply_parse()
1149 sizeof(reply.data.ptr.name))<0) in reply_parse()
1171 addrtocopy = MIN(MAX_V6_ADDRS - reply.data.aaaa.addrcount, (unsigned)addrcount); in reply_parse()
1176 memcpy(&reply.data.aaaa.addresses[reply.data.aaaa.addrcount], in reply_parse()
1178 reply.data.aaaa.addrcount += addrtocopy; in reply_parse()
1181 if (reply.data.aaaa.addrcount == MAX_V6_ADDRS) break; in reply_parse()
1775 …ection, const char *name, int type, int class, int ttl, int datalen, int is_name, const char *data) in evdns_server_request_add_reply() argument
1818 item->data = NULL; in evdns_server_request_add_reply()
1819 if (data) { in evdns_server_request_add_reply()
1821 if (!(item->data = mm_strdup(data))) { in evdns_server_request_add_reply()
1828 if (!(item->data = mm_malloc(datalen))) { in evdns_server_request_add_reply()
1834 memcpy(item->data, data, datalen); in evdns_server_request_add_reply()
1967 r = dnsname_to_labels(buf, buf_len, j, item->data, strlen(item->data), &table); in evdns_server_request_format_response()
1977 memcpy(buf+j, item->data, item->datalen); in evdns_server_request_format_response()
2078 if (victim->data) in server_request_free_answers()
2079 mm_free(victim->data); in server_request_free_answers()
4364 free_getaddrinfo_request(struct evdns_getaddrinfo_request *data) in free_getaddrinfo_request() argument
4368 if (data->pending_result) in free_getaddrinfo_request()
4369 evutil_freeaddrinfo(data->pending_result); in free_getaddrinfo_request()
4370 if (data->cname_result) in free_getaddrinfo_request()
4371 mm_free(data->cname_result); in free_getaddrinfo_request()
4372 event_del(&data->timeout); in free_getaddrinfo_request()
4373 mm_free(data); in free_getaddrinfo_request()
4378 add_cname_to_reply(struct evdns_getaddrinfo_request *data, in add_cname_to_reply() argument
4381 if (data->cname_result && ai) { in add_cname_to_reply()
4382 ai->ai_canonname = data->cname_result; in add_cname_to_reply()
4383 data->cname_result = NULL; in add_cname_to_reply()
4395 struct evdns_getaddrinfo_request *data = ptr; in evdns_getaddrinfo_timeout_cb() local
4398 if (data->ipv4_request.r) { in evdns_getaddrinfo_timeout_cb()
4401 evdns_cancel_request(NULL, data->ipv4_request.r); in evdns_getaddrinfo_timeout_cb()
4403 EVDNS_LOCK(data->evdns_base); in evdns_getaddrinfo_timeout_cb()
4404 ++data->evdns_base->getaddrinfo_ipv4_timeouts; in evdns_getaddrinfo_timeout_cb()
4405 EVDNS_UNLOCK(data->evdns_base); in evdns_getaddrinfo_timeout_cb()
4407 if (data->ipv6_request.r) { in evdns_getaddrinfo_timeout_cb()
4410 evdns_cancel_request(NULL, data->ipv6_request.r); in evdns_getaddrinfo_timeout_cb()
4412 EVDNS_LOCK(data->evdns_base); in evdns_getaddrinfo_timeout_cb()
4413 ++data->evdns_base->getaddrinfo_ipv6_timeouts; in evdns_getaddrinfo_timeout_cb()
4414 EVDNS_UNLOCK(data->evdns_base); in evdns_getaddrinfo_timeout_cb()
4422 if (data->pending_result) { in evdns_getaddrinfo_timeout_cb()
4423 add_cname_to_reply(data, data->pending_result); in evdns_getaddrinfo_timeout_cb()
4424 data->user_cb(0, data->pending_result, data->user_data); in evdns_getaddrinfo_timeout_cb()
4425 data->pending_result = NULL; in evdns_getaddrinfo_timeout_cb()
4427 int e = data->pending_error; in evdns_getaddrinfo_timeout_cb()
4430 data->user_cb(e, NULL, data->user_data); in evdns_getaddrinfo_timeout_cb()
4433 data->user_cb = NULL; /* prevent double-call if evdns callbacks are in evdns_getaddrinfo_timeout_cb()
4439 free_getaddrinfo_request(data); in evdns_getaddrinfo_timeout_cb()
4445 struct evdns_getaddrinfo_request *data) in evdns_getaddrinfo_set_timeout() argument
4447 return event_add(&data->timeout, &evdns_base->global_getaddrinfo_allow_skew); in evdns_getaddrinfo_set_timeout()
4464 struct evdns_getaddrinfo_request *data; in evdns_getaddrinfo_gotresolve() local
4478 data = EVUTIL_UPCAST(req, struct evdns_getaddrinfo_request, ipv4_request); in evdns_getaddrinfo_gotresolve()
4479 other_req = &data->ipv6_request; in evdns_getaddrinfo_gotresolve()
4481 data = EVUTIL_UPCAST(req, struct evdns_getaddrinfo_request, ipv6_request); in evdns_getaddrinfo_gotresolve()
4482 other_req = &data->ipv4_request; in evdns_getaddrinfo_gotresolve()
4487 EVDNS_LOCK(data->evdns_base); in evdns_getaddrinfo_gotresolve()
4490 ++data->evdns_base->getaddrinfo_ipv4_answered; in evdns_getaddrinfo_gotresolve()
4492 ++data->evdns_base->getaddrinfo_ipv6_answered; in evdns_getaddrinfo_gotresolve()
4494 user_canceled = data->user_canceled; in evdns_getaddrinfo_gotresolve()
4496 data->request_done = 1; in evdns_getaddrinfo_gotresolve()
4497 EVDNS_UNLOCK(data->evdns_base); in evdns_getaddrinfo_gotresolve()
4499 data->evdns_base = NULL; in evdns_getaddrinfo_gotresolve()
4500 user_canceled = data->user_canceled; in evdns_getaddrinfo_gotresolve()
4509 free_getaddrinfo_request(data); in evdns_getaddrinfo_gotresolve()
4513 if (data->user_cb == NULL) { in evdns_getaddrinfo_gotresolve()
4516 free_getaddrinfo_request(data); in evdns_getaddrinfo_gotresolve()
4536 evdns_getaddrinfo_set_timeout(data->evdns_base, data); in evdns_getaddrinfo_gotresolve()
4538 data->pending_error = err; in evdns_getaddrinfo_gotresolve()
4543 data->user_cb(EVUTIL_EAI_CANCEL, NULL, data->user_data); in evdns_getaddrinfo_gotresolve()
4544 } else if (data->pending_result) { in evdns_getaddrinfo_gotresolve()
4547 add_cname_to_reply(data, data->pending_result); in evdns_getaddrinfo_gotresolve()
4548 data->user_cb(0, data->pending_result, data->user_data); in evdns_getaddrinfo_gotresolve()
4549 data->pending_result = NULL; in evdns_getaddrinfo_gotresolve()
4551 if (data->pending_error) in evdns_getaddrinfo_gotresolve()
4553 data->pending_error); in evdns_getaddrinfo_gotresolve()
4554 data->user_cb(err, NULL, data->user_data); in evdns_getaddrinfo_gotresolve()
4556 free_getaddrinfo_request(data); in evdns_getaddrinfo_gotresolve()
4565 data->user_cb(EVUTIL_EAI_CANCEL, NULL, data->user_data); in evdns_getaddrinfo_gotresolve()
4566 free_getaddrinfo_request(data); in evdns_getaddrinfo_gotresolve()
4577 sin.sin_port = htons(data->port); in evdns_getaddrinfo_gotresolve()
4586 sin6.sin6_port = htons(data->port); in evdns_getaddrinfo_gotresolve()
4598 ai = evutil_new_addrinfo_(sa, socklen, &data->hints); in evdns_getaddrinfo_gotresolve()
4603 data->user_cb(EVUTIL_EAI_MEMORY, NULL, data->user_data); in evdns_getaddrinfo_gotresolve()
4608 free_getaddrinfo_request(data); in evdns_getaddrinfo_gotresolve()
4617 evdns_getaddrinfo_set_timeout(data->evdns_base, data); in evdns_getaddrinfo_gotresolve()
4618 data->pending_result = res; in evdns_getaddrinfo_gotresolve()
4623 if (data->pending_result) { in evdns_getaddrinfo_gotresolve()
4626 data->pending_result); in evdns_getaddrinfo_gotresolve()
4629 data->pending_result, res); in evdns_getaddrinfo_gotresolve()
4630 data->pending_result = NULL; in evdns_getaddrinfo_gotresolve()
4634 add_cname_to_reply(data, res); in evdns_getaddrinfo_gotresolve()
4635 data->user_cb(0, res, data->user_data); in evdns_getaddrinfo_gotresolve()
4638 free_getaddrinfo_request(data); in evdns_getaddrinfo_gotresolve()
4706 struct evdns_getaddrinfo_request *data; in evdns_getaddrinfo() local
4762 data = mm_calloc(1,sizeof(struct evdns_getaddrinfo_request)); in evdns_getaddrinfo()
4763 if (!data) { in evdns_getaddrinfo()
4768 memcpy(&data->hints, &hints, sizeof(data->hints)); in evdns_getaddrinfo()
4769 data->port = (ev_uint16_t)port; in evdns_getaddrinfo()
4770 data->ipv4_request.type = DNS_IPv4_A; in evdns_getaddrinfo()
4771 data->ipv6_request.type = DNS_IPv6_AAAA; in evdns_getaddrinfo()
4772 data->user_cb = cb; in evdns_getaddrinfo()
4773 data->user_data = arg; in evdns_getaddrinfo()
4774 data->evdns_base = dns_base; in evdns_getaddrinfo()
4795 nodename, &data->ipv4_request); in evdns_getaddrinfo()
4797 data->ipv4_request.r = evdns_base_resolve_ipv4(dns_base, in evdns_getaddrinfo()
4799 &data->ipv4_request); in evdns_getaddrinfo()
4800 if (want_cname && data->ipv4_request.r) in evdns_getaddrinfo()
4801 data->ipv4_request.r->current_req->put_cname_in_ptr = in evdns_getaddrinfo()
4802 &data->cname_result; in evdns_getaddrinfo()
4806 nodename, &data->ipv6_request); in evdns_getaddrinfo()
4808 data->ipv6_request.r = evdns_base_resolve_ipv6(dns_base, in evdns_getaddrinfo()
4810 &data->ipv6_request); in evdns_getaddrinfo()
4811 if (want_cname && data->ipv6_request.r) in evdns_getaddrinfo()
4812 data->ipv6_request.r->current_req->put_cname_in_ptr = in evdns_getaddrinfo()
4813 &data->cname_result; in evdns_getaddrinfo()
4816 evtimer_assign(&data->timeout, dns_base->event_base, in evdns_getaddrinfo()
4817 evdns_getaddrinfo_timeout_cb, data); in evdns_getaddrinfo()
4819 started = (data->ipv4_request.r || data->ipv6_request.r); in evdns_getaddrinfo()
4824 return data; in evdns_getaddrinfo()
4826 mm_free(data); in evdns_getaddrinfo()
4833 evdns_getaddrinfo_cancel(struct evdns_getaddrinfo_request *data) in evdns_getaddrinfo_cancel() argument
4835 EVDNS_LOCK(data->evdns_base); in evdns_getaddrinfo_cancel()
4836 if (data->request_done) { in evdns_getaddrinfo_cancel()
4837 EVDNS_UNLOCK(data->evdns_base); in evdns_getaddrinfo_cancel()
4840 event_del(&data->timeout); in evdns_getaddrinfo_cancel()
4841 data->user_canceled = 1; in evdns_getaddrinfo_cancel()
4842 if (data->ipv4_request.r) in evdns_getaddrinfo_cancel()
4843 evdns_cancel_request(data->evdns_base, data->ipv4_request.r); in evdns_getaddrinfo_cancel()
4844 if (data->ipv6_request.r) in evdns_getaddrinfo_cancel()
4845 evdns_cancel_request(data->evdns_base, data->ipv6_request.r); in evdns_getaddrinfo_cancel()
4846 EVDNS_UNLOCK(data->evdns_base); in evdns_getaddrinfo_cancel()