query_imsg
struct query_imsg query_imsg;
strlcpy(query_imsg.qname, dname, sizeof(query_imsg.qname));
query_imsg.id = pq->imsg_id;
query_imsg.t = LDNS_RR_TYPE_A;
query_imsg.c = pq->qinfo.qclass;
if (frontend_imsg_compose_resolver(IMSG_QUERY, 0, &query_imsg,
sizeof(query_imsg)) == -1) {
struct query_imsg query_imsg;
memset(&query_imsg, 0, sizeof (query_imsg));
if (strlcpy(query_imsg.qname, dname, sizeof(query_imsg.qname)) >=
sizeof(query_imsg.qname)) {
query_imsg.id = pq->imsg_id;
query_imsg.t = pq->qinfo.qtype;
query_imsg.c = pq->qinfo.qclass;
if (frontend_imsg_compose_resolver(IMSG_QUERY, 0, &query_imsg,
sizeof(query_imsg)) == -1) {
query_imsg2str(query_imsg), rcode_buf, result->rcode, ms,
force_acceptbogus = find_force(&resolver_conf->force, query_imsg->qname,
query_imsg2str(query_imsg));
free(rq->query_imsg);
free(query_imsg);
struct query_imsg *query_imsg;
void setup_query(struct query_imsg *);
const char *query_imsg2str(struct query_imsg *);
query_imsg2str(struct query_imsg *query_imsg)
static char buf[sizeof(query_imsg->qname) + 1 + 16 + 1 + 16];
sldns_wire2str_class_buf(query_imsg->c, qclass_buf, sizeof(qclass_buf));
sldns_wire2str_type_buf(query_imsg->t, qtype_buf, sizeof(qtype_buf));
snprintf(buf, sizeof(buf), "%s %s %s", query_imsg->qname, qclass_buf,
struct query_imsg *query_imsg;
if (IMSG_DATA_SIZE(imsg) != sizeof(*query_imsg))
if ((query_imsg = malloc(sizeof(*query_imsg))) ==
memcpy(query_imsg, imsg.data, sizeof(*query_imsg));
if (query_imsg->qname[NI_MAXHOST - 1] != '\0')
setup_query(query_imsg);
setup_query(struct query_imsg *query_imsg)
if (find_running_query(query_imsg->id) != NULL) {
free(query_imsg);
free(query_imsg);
rq->query_imsg = query_imsg;
find_force(&resolver_conf->force, query_imsg->qname, &res);
free(rq->query_imsg);
if (rq->query_imsg->id == id)
struct query_imsg *query_imsg = NULL;
query_imsg2str(rq->query_imsg));
if ((query_imsg = malloc(sizeof(*query_imsg))) == NULL) {
memcpy(query_imsg, rq->query_imsg, sizeof(*query_imsg));
clock_gettime(CLOCK_MONOTONIC, &query_imsg->tp);
if (resolve(res, query_imsg->qname, query_imsg->t,
query_imsg->c, query_imsg, resolve_done) != 0) {
free(query_imsg);
free(rq->query_imsg);
struct query_imsg *query_imsg;
query_imsg = (struct query_imsg *)arg;
answer_header->id = query_imsg->id;
timespecsub(&tp, &query_imsg->tp, &elapsed);
if ((rq = find_running_query(query_imsg->id)) == NULL)
query_imsg2str(query_imsg));