46#include <sys/socket.h>
76 struct sockaddr_storage
ip;
292 const unsigned char **dnptrs,
const unsigned char **lastdnptr);
#define ERR_MSG_LENGTH
Definition constants.h:228
#define DNS_RESPONSE_COMPRESSED_NAMES_MAX
Definition constants.h:238
#define RIP_NS_RESP_MAX_NS
Definition rip_ns_utils.h:73
#define RIP_NS_RESP_MAX_ANSW
Definition rip_ns_utils.h:70
#define RIP_NS_RESP_MAX_ADDL
Definition rip_ns_utils.h:78
int query_parse_request_rr_question(query_t *q)
Definition query_parse.c:342
void query_resolve(query_t *q)
Definition query_resolve.c:41
struct edns_client_subnet_s edns_client_subnet_t
int query_pack_rr(const unsigned char *name, rr_record_t *rr, unsigned char *buf, uint16_t buf_len, const unsigned char **dnptrs, const unsigned char **lastdnptr)
Definition query_pack.c:138
int query_parse_request_rr_additional_edns(query_t *q, unsigned char *ptr)
Definition query_parse.c:194
int query_parse_edns_ext_cs(edns_client_subnet_t *cs)
Definition query_parse.c:48
int query_tcp_response_buffer_increase(query_t *q)
Definition query.c:144
void query_reset(query_t *q)
Definition query.c:86
void query_log_rotate(query_log_t *query_log)
Definition query_log.c:40
struct query_log_loop_args_s query_log_loop_args_t
void query_parse(query_t *q)
Definition query_parse.c:385
void * query_log_loop(void *args)
Definition query_log_loop.c:84
int query_response_pack(query_t *q)
Definition query_pack.c:190
struct query_log_s query_log_t
int query_log(char *buf, size_t buf_len, query_t *q)
Definition query_log.c:97
int query_pack_edns(uint8_t *buf, uint16_t buf_len, edns_t *edns)
Definition query_pack.c:48
int query_parse_edns_ext(query_t *q, unsigned char *buf, unsigned char *eobuf)
Definition query_parse.c:147
void query_init(query_t *q, config_t *cfg, uint8_t protocol)
Definition query.c:39
void query_report_metrics(query_t *, metrics_t *metrics)
Definition query_report_metrics.c:37
void query_clean(query_t *q)
Definition query.c:120
uint8_t scope_mask
Definition query.h:87
bool edns_cs_valid
Definition query.h:70
struct sockaddr_storage ip
Definition query.h:76
uint16_t edns_cs_raw_buf_len
Definition query.h:65
uint16_t family
Definition query.h:73
unsigned char * edns_cs_raw_buf
Definition query.h:60
uint8_t source_mask
Definition query.h:81
uint8_t extended_rcode
Definition query.h:106
bool edns_valid
Definition query.h:103
edns_client_subnet_t client_subnet
Definition query.h:118
bool dnssec
Definition query.h:115
uint16_t edns_raw_buf_len
Definition query.h:98
uint8_t version
Definition query.h:109
unsigned char * edns_raw_buf
Definition query.h:93
uint16_t udp_resp_len
Definition query.h:112
metrics_t * metrics
Definition query.h:350
config_t * cfg
Definition query.h:338
channel_log_t * app_log_channel
Definition query.h:347
size_t query_log_channel_count
Definition query.h:344
channel_bss_t * query_log_channels
Definition query.h:341
char * buf
Definition query.h:329
char * b_buf
Definition query.h:324
size_t buf_len
Definition query.h:332
char * a_buf
Definition query.h:318
size_t buf_size
Definition query.h:315
size_t a_buf_len
Definition query.h:321
size_t b_buf_len
Definition query.h:326
uint16_t query_label_len
Definition query.h:162
size_t request_buffer_size
Definition query.h:137
struct sockaddr_storage * client_ip
Definition query.h:127
uint8_t answer_section_count
Definition query.h:210
struct sockaddr_storage * local_ip
Definition query.h:130
rr_record_t * answer_section[RIP_NS_RESP_MAX_ANSW]
Definition query.h:207
unsigned char * request_buffer
Definition query.h:134
unsigned char * query_label
Definition query.h:156
const unsigned char * dnptrs[DNS_RESPONSE_COMPRESSED_NAMES_MAX]
Definition query.h:273
uint8_t protocol
Definition query.h:124
unsigned char * response_buffer
Definition query.h:186
char error_message[ERR_MSG_LENGTH]
Definition query.h:270
struct timespec end_time
Definition query.h:232
rip_ns_header_t * response_hdr
Definition query.h:204
rr_record_t * additional_section[RIP_NS_RESP_MAX_ADDL]
Definition query.h:223
uint16_t query_q_type
Definition query.h:168
rip_ns_header_t * request_hdr
Definition query.h:148
size_t response_buffer_size
Definition query.h:189
size_t response_buffer_len
Definition query.h:196
edns_t edns
Definition query.h:177
int end_code
Definition query.h:265
uint16_t query_label_size
Definition query.h:159
uint8_t authority_section_count
Definition query.h:218
rr_record_t * authority_section[RIP_NS_RESP_MAX_NS]
Definition query.h:215
uint16_t query_q_class
Definition query.h:174
size_t request_buffer_len
Definition query.h:143
uint8_t additional_section_count
Definition query.h:226
struct timespec start_time
Definition query.h:229
Definition rr_record.h:35