Lines Matching defs:qinfo

227 	cmp = query_info_compare(&a->s.qinfo, &b->s.qinfo);
339 m->s.qinfo.qname, m->s.qinfo.qtype,
340 m->s.qinfo.qclass);
352 /* restore the query - note that the qinfo ptr to
453 void mesh_new_client(struct mesh_area* mesh, struct query_info* qinfo,
469 s = mesh_area_find(mesh, cinfo, qinfo, qflags&(BIT_RD|BIT_CD), 0, 0);
496 s = mesh_state_create(mesh->env, qinfo, cinfo,
500 if(!inplace_cb_reply_servfail_call(mesh->env, qinfo, NULL, NULL,
504 qinfo, qid, qflags, edns);
516 if(!inplace_cb_reply_servfail_call(mesh->env, qinfo, NULL,
520 qinfo, qid, qflags, edns);
544 if(!mesh_state_add_reply(s, edns, rep, qid, qflags, qinfo)) {
589 if(!inplace_cb_reply_servfail_call(mesh->env, qinfo, &s->s,
593 qinfo, qid, qflags, edns);
601 mesh_new_callback(struct mesh_area* mesh, struct query_info* qinfo,
613 s = mesh_area_find(mesh, NULL, qinfo, qflags&(BIT_RD|BIT_CD), 0, 0);
622 s = mesh_state_create(mesh->env, qinfo, NULL,
683 struct query_info* qinfo, uint16_t qflags, time_t leeway, int run)
685 struct mesh_state* s = mesh_area_find(mesh, NULL, qinfo,
706 s = mesh_state_create(mesh->env, qinfo, NULL,
753 void mesh_new_prefetch(struct mesh_area* mesh, struct query_info* qinfo,
756 mesh_schedule_prefetch(mesh, qinfo, qflags, leeway, 1);
773 mesh_state_create(struct module_env* env, struct query_info* qinfo,
801 mstate->s.qinfo.qtype = qinfo->qtype;
802 mstate->s.qinfo.qclass = qinfo->qclass;
803 mstate->s.qinfo.local_alias = NULL;
804 mstate->s.qinfo.qname_len = qinfo->qname_len;
805 mstate->s.qinfo.qname = regional_alloc_init(region, qinfo->qname,
806 qinfo->qname_len);
807 if(!mstate->s.qinfo.qname) {
1004 int mesh_add_sub(struct module_qstate* qstate, struct query_info* qinfo,
1010 *sub = mesh_area_find(mesh, NULL, qinfo, qflags,
1021 *sub = mesh_state_create(qstate->env, qinfo, NULL, qflags, prime,
1050 int mesh_attach_sub(struct module_qstate* qstate, struct query_info* qinfo,
1056 if(!mesh_add_sub(qstate, qinfo, qflags, prime, valrec, newq, &sub))
1140 if(!inplace_cb_reply_servfail_call(m->s.env, &m->s.qinfo, &m->s,
1144 if(!inplace_cb_reply_call(m->s.env, &m->s.qinfo, &m->s, rep, rcode,
1159 if(!inplace_cb_reply_call(m->s.env, &m->s.qinfo, &m->s, rep,
1161 !reply_info_answer_encode(&m->s.qinfo, rep, r->qid,
1252 m->s.qinfo.qname_len);
1257 m->s.qinfo.qname = r->qname;
1258 m->s.qinfo.local_alias = r->local_alias;
1260 if(!inplace_cb_reply_servfail_call(m->s.env, &m->s.qinfo, &m->s,
1264 if(!inplace_cb_reply_call(m->s.env, &m->s.qinfo, &m->s, rep, rcode,
1268 error_encode(r_buffer, rcode, &m->s.qinfo, r->qid,
1279 m->s.qinfo.qname = r->qname;
1280 m->s.qinfo.local_alias = r->local_alias;
1281 if(!inplace_cb_reply_call(m->s.env, &m->s.qinfo, &m->s, rep,
1286 !reply_info_answer_encode(&m->s.qinfo, rep, r->qid,
1291 if(!inplace_cb_reply_servfail_call(m->s.env, &m->s.qinfo, &m->s,
1295 &m->s.qinfo, r->qid, r->qflags, &r->edns);
1322 log_reply_info(NO_VERBOSE, &m->s.qinfo, &r->query_reply.addr,
1362 r->qname, mstate->s.qinfo.qtype,
1363 mstate->s.qinfo.qclass, r->local_alias,
1451 struct respip_client_info* cinfo, struct query_info* qinfo,
1460 key.s.qinfo = *qinfo;
1501 const struct query_info* qinfo)
1519 r->qname = regional_alloc_init(s->s.region, qinfo->qname,
1520 s->s.qinfo.qname_len);
1526 /* Data related to local alias stored in 'qinfo' (if any) is ephemeral
1530 if(qinfo->local_alias) {
1534 sizeof(*qinfo->local_alias));
1538 qinfo->local_alias->rrset,
1539 sizeof(*qinfo->local_alias->rrset));
1542 dsrc = qinfo->local_alias->rrset->entry.data;
1546 log_assert(!qinfo->local_alias->next && dsrc->count == 1 &&
1547 qinfo->local_alias->rrset->rk.type ==
1552 qinfo->local_alias->rrset->rk.dname_len;
1554 s->s.region, qinfo->local_alias->rrset->rk.dname,
1555 qinfo->local_alias->rrset->rk.dname_len);
1583 struct query_info* qinfo;
1585 qinfo = regional_alloc_init(region, &mstate->s.qinfo, sizeof(*qinfo));
1586 if(!qinfo)
1588 qinfo->qname = regional_alloc_init(region, qinfo->qname,
1589 qinfo->qname_len);
1590 if(!qinfo->qname)
1592 *qinfop = qinfo;
1621 &mstate->s.qinfo);
1630 &mstate->s.qinfo);
1652 &mstate->s.qinfo);
1667 struct query_info* qinfo = NULL;
1678 mesh_copy_qinfo(mstate, &qinfo, &qflags);
1681 if(qinfo) {
1682 mesh_schedule_prefetch(mesh, qinfo, qflags,
1748 log_query_info(VERB_ALGO, buf, &m->s.qinfo);
1811 mesh_detect_cycle(struct module_qstate* qstate, struct query_info* qinfo,
1817 dep_m = mesh_area_find(mesh, NULL, qinfo, flags, prime, valrec);
1883 const struct query_info* qinfo, struct respip_client_info* cinfo,
1888 if(qinfo->qtype != LDNS_RR_TYPE_A &&
1889 qinfo->qtype != LDNS_RR_TYPE_AAAA &&
1890 qinfo->qtype != LDNS_RR_TYPE_ANY)
1893 if(!respip_rewrite_reply(qinfo, cinfo, rep, encode_repp, actinfo,
1923 struct query_info* lookup_qinfo = &qstate->qinfo;
1954 !partial_rep && !apply_respip_action(qstate, &qstate->qinfo,
1959 !respip_merge_cname(partial_rep, &qstate->qinfo, msg->rep,
1974 * alias. Replace the lookup qinfo for the
1987 qinfo_tmp.qtype = qstate->qinfo.qtype;
1988 qinfo_tmp.qclass = qstate->qinfo.qclass;
1996 log_dns_msg("Serve expired lookup", &qstate->qinfo, msg->rep);
2005 qstate->qinfo.qtype, qstate->qinfo.qclass,