Data Fields
query_info Struct Reference

Structure to store query information that makes answers to queries different. More...

#include <msgreply.h>

Data Fields

uint8_t * qname
 Salient data on the query: qname, in wireformat. More...
size_t qname_len
 length of qname (including last 0 octet)
uint16_t qtype
 qtype, host byte order
uint16_t qclass
 qclass, host byte order
struct local_rrsetlocal_alias
 Alias local answer(s) for the qname. More...

Detailed Description

Structure to store query information that makes answers to queries different.

Field Documentation

◆ qname

uint8_t* query_info::qname

Salient data on the query: qname, in wireformat.

can be allocated or a pointer to outside buffer. User has to keep track on the status of this.

Referenced by answer_chaos(), answer_norec_from_cache(), apply_respip_action(), auth_zone_generate_answer(), auth_zones_find_zone(), az_empty_nonterminal(), az_find_candidate_ce(), az_find_domain(), az_find_wildcard(), az_generate_dname_answer(), az_generate_wildcard_answer(), az_nsec3_findnode(), az_nsec_wildcard_denial(), causes_cycle(), delegpt_add_neg_msg(), dns64_adjust_ptr(), dns_cache_lookup(), dns_cache_prefetch_adjust(), dns_cache_store(), dns_copy_msg(), dns_msg_create(), do_cache_remove(), do_dump_requestlist(), dump_msg(), errinf_to_str(), error_encode(), error_response_cache(), error_supers(), fill_res(), forward_request(), gen_dns_msg(), generate_a_aaaa_check(), generate_ns_check(), generate_request(), generate_sub_request(), get_mesh_status(), handle_cname_response(), handle_event_pass(), handle_ipv6_ptr(), handle_newq(), insert_query(), is_caps_whitelisted(), iter_dp_cangodown(), iter_dp_is_useless(), iter_ds_toolow(), iter_indicates_dnssec_fwd(), iter_operate(), iter_store_parentside_neg(), libworker_attach_mesh(), load_qinfo(), load_ref(), local_data_find_tag_datas(), local_zones_answer(), log_query_info(), lz_inform_print(), mesh_make_new_space(), mesh_state_add_reply(), mesh_state_create(), msg_cache_lookup(), msg_create(), nsec3_do_prove_nodata(), nsec3_find_closest_encloser(), nsec3_prove_closest_encloser(), nsec3_prove_nods(), nsec3_prove_wildcard(), nsec_proves_nodata(), outnet_serviced_query(), parse_create_qinfo(), probe_anchor(), process_ds_response(), processCollectClass(), processDSNSFind(), processInit(), processQueryResponse(), qinfo_query_encode(), qlist_parse_line(), query_for_targets(), query_info_clear(), query_info_compare(), query_info_entrysetup(), query_info_hash(), reply_check_cname_chain(), reply_find_answer_rrset(), reply_find_final_cname_target(), reply_info_parse(), respip_data_answer(), scrub_normalize(), setup_qinfo_edns(), should_be_bogus(), val_chase_cname(), val_dlv_init(), val_find_best_signer(), val_find_DS(), val_find_signer(), val_neg_getmsg(), val_nsec_prove_nodata_dsreply(), val_nsec_proves_insecuredelegation(), val_nsec_proves_positive_wildcard(), val_operate(), worker_handle_request(), write_q(), and zone_del_msg().

◆ local_alias

struct local_rrset* query_info::local_alias

Alias local answer(s) for the qname.

If 'qname' is an alias defined in a local zone, this field will be set to the corresponding local RRset when the alias is determined. In the initial implementation this can only be a single CNAME RR (or NULL), but it could possibly be extended to be a DNAME or a chain of aliases. Users of this structure are responsible to initialize this field to be NULL; otherwise other part of query handling code may be confused. Users also have to be careful about the lifetime of data. On return from local zone lookup, it may point to data derived from configuration that may be dynamically invalidated or data allocated in an ephemeral regional allocator. A deep copy of the data may have to be generated if it has to be kept during iterative resolution.

Referenced by answer_norec_from_cache(), apply_respip_action(), causes_cycle(), dns_cache_lookup(), dns_msg_create(), do_cache_remove(), error_encode(), generate_sub_request(), insert_query(), load_qinfo(), mesh_state_add_reply(), mesh_state_create(), msg_cache_lookup(), msg_create(), parse_create_qinfo(), qinfo_query_encode(), qlist_parse_line(), reply_info_answer_encode(), reply_info_parse(), setup_qinfo_edns(), val_find_DS(), and write_q().

The documentation for this struct was generated from the following file: