Lines Matching refs:qinfo
552 answer_norec_from_cache(struct worker* worker, struct query_info* qinfo,
574 dp = dns_cache_find_delegation(&worker->env, qinfo->qname,
575 qinfo->qname_len, qinfo->qtype, qinfo->qclass,
583 msg->qinfo.local_alias = qinfo->local_alias;
597 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL,
609 &msg->qinfo, id, flags, edns);
637 if(!inplace_cb_reply_cache_call(&worker->env, qinfo, NULL, msg->rep,
652 if(!reply_info_answer_encode(&msg->qinfo, msg->rep, id, flags,
655 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL, NULL,
660 &msg->qinfo, id, flags, edns);
675 apply_respip_action(struct worker* worker, const struct query_info* qinfo,
684 if(qinfo->qtype != LDNS_RR_TYPE_A &&
685 qinfo->qtype != LDNS_RR_TYPE_AAAA &&
686 qinfo->qtype != LDNS_RR_TYPE_ANY)
689 if(!respip_rewrite_reply(qinfo, cinfo, rep, encode_repp, &actinfo,
705 respip_inform_print(&actinfo, qinfo->qname,
706 qinfo->qtype, qinfo->qclass, qinfo->local_alias,
732 answer_from_cache(struct worker* worker, struct query_info* qinfo,
785 if(!reply_check_cname_chain(qinfo, rep)) {
801 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL, rep,
812 qinfo, id, flags, edns);
845 !partial_rep && !apply_respip_action(worker, qinfo, cinfo, rep,
850 !respip_merge_cname(partial_rep, qinfo, rep, cinfo,
887 if(!inplace_cb_reply_cache_call(&worker->env, qinfo, NULL, encode_rep,
891 if(!reply_info_answer_encode(qinfo, encode_rep, id, flags,
895 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo,
900 qinfo, id, flags, edns);
918 reply_and_prefetch(struct worker* worker, struct query_info* qinfo,
940 mesh_new_prefetch(worker->env.mesh, qinfo, flags, leeway +
950 mesh_new_prefetch(worker->env.mesh, qinfo, flags, leeway +
1083 * @param qinfo: query info. Pointer into packet buffer.
1090 answer_chaos(struct worker* w, struct query_info* qinfo,
1094 if(qinfo->qtype != LDNS_RR_TYPE_ANY && qinfo->qtype != LDNS_RR_TYPE_TXT)
1096 if(query_dname_compare(qinfo->qname,
1098 query_dname_compare(qinfo->qname,
1116 if(query_dname_compare(qinfo->qname,
1118 query_dname_compare(qinfo->qname,
1128 if(query_dname_compare(qinfo->qname,
1145 * @param qinfo: query info. Pointer into packet buffer.
1152 answer_notify(struct worker* w, struct query_info* qinfo,
1162 if(auth_zones_notify(w->env.auth_zones, &w->env, qinfo->qname,
1163 qinfo->qname_len, qinfo->qclass, addr,
1176 dname_str(qinfo->qname, zname);
1195 error_encode(pkt, rcode, qinfo,
1455 struct query_info qinfo;
1472 struct query_info* lookup_qinfo = &qinfo;
1477 memset(&qinfo, 0, sizeof(qinfo));
1516 if(!query_info_parse(&qinfo, c->buffer)) {
1524 dname_str(qinfo.qname, buf);
1525 if(!(qinfo.qtype == LDNS_RR_TYPE_TXT &&
1531 sldns_rr_descript(qinfo.qtype)->_name,
1602 if(!query_info_parse(&qinfo, c->buffer)) {
1606 memset(&qinfo, 0, sizeof(qinfo)); /* zero qinfo.qname */
1620 log_query_in(ip, qinfo.qname, qinfo.qtype, qinfo.qclass);
1622 if(qinfo.qtype == LDNS_RR_TYPE_AXFR ||
1623 qinfo.qtype == LDNS_RR_TYPE_IXFR) {
1632 worker->stats.qtype[qinfo.qtype]++;
1636 if(qinfo.qtype == LDNS_RR_TYPE_OPT ||
1637 qinfo.qtype == LDNS_RR_TYPE_TSIG ||
1638 qinfo.qtype == LDNS_RR_TYPE_TKEY ||
1639 qinfo.qtype == LDNS_RR_TYPE_MAILA ||
1640 qinfo.qtype == LDNS_RR_TYPE_MAILB ||
1641 (qinfo.qtype >= 128 && qinfo.qtype <= 248)) {
1654 worker->stats.qtype[qinfo.qtype]++;
1669 error_encode(c->buffer, ret, &qinfo,
1683 extended_error_encode(c->buffer, EDNS_RCODE_BADVERS, &qinfo,
1728 LDNS_EXT_RCODE_BADCOOKIE, &qinfo,
1745 (LDNS_RCODE_REFUSED|BIT_TC), &qinfo,
1779 server_stats_insquery(&worker->stats, c, qinfo.qtype,
1780 qinfo.qclass, &edns, repinfo);
1783 if(qinfo.qclass == LDNS_RR_CLASS_CH && answer_chaos(worker, &qinfo,
1790 answer_notify(worker, &qinfo, &edns, c->buffer,
1795 if(local_zones_answer(worker->daemon->local_zones, &worker->env, &qinfo,
1810 &worker->env, &qinfo, &edns, c->buffer, worker->scratchpad,
1822 &qinfo, &edns, repinfo, c->buffer, worker->scratchpad)) {
1862 error_encode(c->buffer, LDNS_RCODE_REFUSED, &qinfo,
1874 if(qinfo.local_alias) {
1875 struct ub_packed_rrset_key* rrset = qinfo.local_alias->rrset;
1880 if(qinfo.local_alias->next ||
1887 qinfo.qname = d->rr_data[0] + 2;
1888 qinfo.qname_len = d->rr_len[0] - 2;
1895 (qinfo.qtype == LDNS_RR_TYPE_A ||
1896 qinfo.qtype == LDNS_RR_TYPE_AAAA ||
1897 qinfo.qtype == LDNS_RR_TYPE_ANY)) {
1917 * each pass. We should still pass the original qinfo to
1926 if(answer_from_cache(worker, &qinfo, cinfo, &need_drop,
1967 * alias. Replace the lookup qinfo for the
1980 qinfo_tmp.qtype = qinfo.qtype;
1981 qinfo_tmp.qclass = qinfo.qclass;
1990 if(answer_norec_from_cache(worker, &qinfo,
2013 mesh_new_client(worker->env.mesh, &qinfo, cinfo,
2049 if(qinfo.local_alias && qinfo.local_alias->rrset &&
2050 qinfo.local_alias->rrset->rk.dname) {
2053 qinfo.qname = qinfo.local_alias->rrset->rk.dname;
2054 log_reply_info(NO_VERBOSE, &qinfo,
2060 log_reply_info(NO_VERBOSE, &qinfo,
2463 worker_send_query(struct query_info* qinfo, uint16_t flags, int dnssec,
2475 e->qsent = outnet_serviced_query(worker->back, qinfo, flags, dnssec,
2521 struct query_info* ATTR_UNUSED(qinfo),