Lines Matching defs:qinfo

470 answer_norec_from_cache(struct worker* worker, struct query_info* qinfo,
492 dp = dns_cache_find_delegation(&worker->env, qinfo->qname,
493 qinfo->qname_len, qinfo->qtype, qinfo->qclass,
501 msg->qinfo.local_alias = qinfo->local_alias;
515 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL,
520 &msg->qinfo, id, flags, edns);
547 if(!inplace_cb_reply_cache_call(&worker->env, qinfo, NULL, msg->rep,
554 !reply_info_answer_encode(&msg->qinfo, msg->rep, id, flags,
557 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL, NULL,
562 &msg->qinfo, id, flags, edns);
577 apply_respip_action(struct worker* worker, const struct query_info* qinfo,
585 if(qinfo->qtype != LDNS_RR_TYPE_A &&
586 qinfo->qtype != LDNS_RR_TYPE_AAAA &&
587 qinfo->qtype != LDNS_RR_TYPE_ANY)
590 if(!respip_rewrite_reply(qinfo, cinfo, rep, encode_repp, &actinfo,
604 respip_inform_print(&actinfo, qinfo->qname,
605 qinfo->qtype, qinfo->qclass, qinfo->local_alias,
631 answer_from_cache(struct worker* worker, struct query_info* qinfo,
675 if(!reply_check_cname_chain(qinfo, rep)) {
689 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL, rep,
694 qinfo, id, flags, edns);
724 if(!inplace_cb_reply_cache_call(&worker->env, qinfo, NULL, rep,
730 !partial_rep && !apply_respip_action(worker, qinfo, cinfo, rep,
735 !respip_merge_cname(partial_rep, qinfo, rep, cinfo,
758 !reply_info_answer_encode(qinfo, encode_rep, id, flags,
761 if(!inplace_cb_reply_servfail_call(&worker->env, qinfo, NULL, NULL,
766 qinfo, id, flags, edns);
783 reply_and_prefetch(struct worker* worker, struct query_info* qinfo,
802 mesh_new_prefetch(worker->env.mesh, qinfo, flags, leeway +
928 * @param qinfo: query info. Pointer into packet buffer.
935 answer_chaos(struct worker* w, struct query_info* qinfo,
939 if(qinfo->qtype != LDNS_RR_TYPE_ANY && qinfo->qtype != LDNS_RR_TYPE_TXT)
941 if(query_dname_compare(qinfo->qname,
943 query_dname_compare(qinfo->qname,
961 if(query_dname_compare(qinfo->qname,
963 query_dname_compare(qinfo->qname,
973 if(query_dname_compare(qinfo->qname,
990 * @param qinfo: query info. Pointer into packet buffer.
996 answer_notify(struct worker* w, struct query_info* qinfo,
1005 if(auth_zones_notify(w->env.auth_zones, &w->env, qinfo->qname,
1006 qinfo->qname_len, qinfo->qclass, &repinfo->addr,
1019 dname_str(qinfo->qname, zname);
1039 error_encode(pkt, rcode, qinfo,
1101 struct query_info qinfo;
1114 struct query_info* lookup_qinfo = &qinfo;
1117 memset(&qinfo, 0, sizeof(qinfo));
1141 if(!query_info_parse(&qinfo, c->buffer)) {
1149 dname_str(qinfo.qname, buf);
1150 if(!(qinfo.qtype == LDNS_RR_TYPE_TXT &&
1156 sldns_rr_descript(qinfo.qtype)->_name,
1217 if(!query_info_parse(&qinfo, c->buffer)) {
1220 memset(&qinfo, 0, sizeof(qinfo)); /* zero qinfo.qname */
1234 log_query_in(ip, qinfo.qname, qinfo.qtype, qinfo.qclass);
1236 if(qinfo.qtype == LDNS_RR_TYPE_AXFR ||
1237 qinfo.qtype == LDNS_RR_TYPE_IXFR) {
1245 worker->stats.qtype[qinfo.qtype]++;
1249 if(qinfo.qtype == LDNS_RR_TYPE_OPT ||
1250 qinfo.qtype == LDNS_RR_TYPE_TSIG ||
1251 qinfo.qtype == LDNS_RR_TYPE_TKEY ||
1252 qinfo.qtype == LDNS_RR_TYPE_MAILA ||
1253 qinfo.qtype == LDNS_RR_TYPE_MAILB ||
1254 (qinfo.qtype >= 128 && qinfo.qtype <= 248)) {
1266 worker->stats.qtype[qinfo.qtype]++;
1278 error_encode(c->buffer, ret, &qinfo,
1295 error_encode(c->buffer, EDNS_RCODE_BADVERS&0xf, &qinfo,
1321 error_encode(c->buffer, LDNS_RCODE_FORMERR, &qinfo,
1355 server_stats_insquery(&worker->stats, c, qinfo.qtype,
1356 qinfo.qclass, &edns, repinfo);
1359 if(qinfo.qclass == LDNS_RR_CLASS_CH && answer_chaos(worker, &qinfo,
1366 answer_notify(worker, &qinfo, &edns, c->buffer, repinfo);
1370 if(local_zones_answer(worker->daemon->local_zones, &worker->env, &qinfo,
1385 &worker->env, &qinfo, &edns, c->buffer, worker->scratchpad,
1396 &qinfo, &edns, repinfo, c->buffer, worker->scratchpad)) {
1431 error_encode(c->buffer, LDNS_RCODE_REFUSED, &qinfo,
1442 if(qinfo.local_alias) {
1443 struct ub_packed_rrset_key* rrset = qinfo.local_alias->rrset;
1448 if(qinfo.local_alias->next ||
1455 qinfo.qname = d->rr_data[0] + 2;
1456 qinfo.qname_len = d->rr_len[0] - 2;
1463 (qinfo.qtype == LDNS_RR_TYPE_A ||
1464 qinfo.qtype == LDNS_RR_TYPE_AAAA ||
1465 qinfo.qtype == LDNS_RR_TYPE_ANY)) {
1480 * each pass. We should still pass the original qinfo to
1488 if(answer_from_cache(worker, &qinfo,
1528 * alias. Replace the lookup qinfo for the
1541 qinfo_tmp.qtype = qinfo.qtype;
1542 qinfo_tmp.qclass = qinfo.qclass;
1550 if(answer_norec_from_cache(worker, &qinfo,
1573 mesh_new_client(worker->env.mesh, &qinfo, cinfo,
1603 if(qinfo.local_alias && qinfo.local_alias->rrset &&
1604 qinfo.local_alias->rrset->rk.dname) {
1607 qinfo.qname = qinfo.local_alias->rrset->rk.dname;
1608 log_reply_info(NO_VERBOSE, &qinfo, &repinfo->addr, repinfo->addrlen,
1611 log_reply_info(NO_VERBOSE, &qinfo, &repinfo->addr, repinfo->addrlen,
1998 worker_send_query(struct query_info* qinfo, uint16_t flags, int dnssec,
2009 e->qsent = outnet_serviced_query(worker->back, qinfo, flags, dnssec,
2053 struct query_info* ATTR_UNUSED(qinfo),