unbound: query_info Struct Reference

unbound 0.1

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.
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_rrset * | local_alias
| Alias local answer(s) for the qname.

## 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(), answer_notify(), apply_respip_action(), auth_zone_delegpt(), auth_zone_generate_answer(), auth_zonemd_dnskey_lookup_callback(), auth_zones_answer(), az_empty_nonterminal(), az_find_candidate_ce(), az_find_domain(), az_find_wildcard(), az_generate_dname_answer(), az_generate_notype_answer(), az_generate_nxdomain_answer(), az_generate_referral_answer(), az_generate_wildcard_answer(), az_nsec3_findnode(), az_nsec_wildcard_denial(), causes_cycle(), delegpt_add_neg_msg(), dns64_adjust_ptr(), dns64_always_synth_for_qname(), dns_cache_lookup(), dns_cache_prefetch_adjust(), dns_cache_store(), dns_copy_msg(), dns_msg_create(), do_cache_remove(), do_dump_requestlist(), ds_response_to_ke(), dstest_entry(), dump_msg(), errinf_to_str_bogus(), errinf_to_str_servfail(), error_encode(), error_response_cache(), error_supers(), fill_res(), filter_init(), forward_request(), gen_dns_msg(), generate_a_aaaa_check(), generate_dnskey_prefetch(), generate_ns_check(), generate_request(), generate_sub_request(), get_mesh_status(), handle_cname_response(), handle_event_pass(), handle_ipv6_ptr(), handle_newq(), infra_ratelimit_inc(), insert_query(), is_caps_whitelisted(), iter_dp_cangodown(), iter_dp_is_useless(), iter_ds_toolow(), iter_operate(), iter_qname_indicates_dnssec(), iter_store_parentside_neg(), iter_stub_fwd_no_cache(), libworker_attach_mesh(), libworker_fg(), load_qinfo(), load_ref(), local_data_answer(), local_data_find_tag_datas(), local_zone_does_not_cover(), local_zones_answer(), local_zones_zone_answer(), log_query_info(), log_reply_info(), log_rpz_apply(), lz_inform_print(), mesh_make_new_space(), mesh_send_reply(), mesh_serve_expired_callback(), mesh_state_add_reply(), mesh_state_create(), msg_cache_lookup(), msg_cache_remove(), msg_create(), msg_del_servfail(), nsec3_do_prove_nodata(), nsec3_find_closest_encloser(), nsec3_hash_test_entry(), nsec3_prove_closest_encloser(), nsec3_prove_nods(), nsec3_prove_wildcard(), nsec_proves_nodata(), outnet_serviced_query(), parse_create_qinfo(), probe_anchor(), process_dnskey_response(), process_ds_response(), processCollectClass(), processDSNSFind(), processDSNSResponse(), processFindKey(), processFinished(), processInit(), processInitRequest(), processInitRequest2(), processLastResort(), processPrimeResponse(), processQueryResponse(), processQueryTargets(), processTargetResponse(), qinfo_query_encode(), qlist_parse_line(), query_for_targets(), query_info_clear(), query_info_compare(), query_info_entrysetup(), query_info_hash(), query_info_parse(), reply_check_cname_chain(), reply_find_answer_rrset(), reply_find_final_cname_target(), reply_info_parse(), respip_data_answer(), respip_rewrite_reply(), response_type_from_cache(), response_type_from_server(), rpz_callback_from_iterator_cname(), rpz_callback_from_worker_request(), scrub_message(), scrub_normalize(), scrub_sanitize(), setup_qinfo_edns(), should_be_bogus(), synth_dname_msg(), val_chase_cname(), val_classify_response(), 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(), validate_cname_noanswer_response(), validate_nameerror_response(), validate_nodata_response(), worker_handle_request(), write_q(), xfr_create_ixfr_packet(), xfr_create_soa_probe_packet(), xfr_probe_lookup_host(), xfr_transfer_lookup_host(), zone_del_msg(), and zonemd_lookup_dnskey().

## ◆ 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(), local_data_answer(), local_zones_answer(), mesh_send_reply(), mesh_state_add_reply(), mesh_state_create(), msg_cache_lookup(), msg_cache_remove(), msg_create(), parse_create_qinfo(), probe_anchor(), processQueryTargets(), qinfo_query_encode(), qlist_parse_line(), query_info_entrysetup(), query_info_parse(), reply_info_answer_encode(), reply_info_encode(), reply_info_parse(), setup_qinfo_edns(), val_find_DS(), worker_handle_request(), write_q(), xfr_probe_lookup_host(), xfr_transfer_lookup_host(), and zonemd_lookup_dnskey().

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

- util/data/msgreply.h