mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 14:53:15 -05:00
Modules have their own outgoing ends options list
But nothing happens with it yet
This commit is contained in:
parent
ecb0b44ba8
commit
3e6eeb504d
6 changed files with 13 additions and 0 deletions
|
|
@ -1012,6 +1012,7 @@ answer_notify(struct worker* w, struct query_info* qinfo,
|
|||
edns->ext_rcode = 0;
|
||||
edns->bits &= EDNS_DO;
|
||||
edns->opt_list = NULL;
|
||||
edns->opt_list_modules_out = NULL;
|
||||
error_encode(pkt, rcode, qinfo,
|
||||
*(uint16_t*)(void *)sldns_buffer_begin(pkt),
|
||||
sldns_buffer_read_u16_at(pkt, 2), edns);
|
||||
|
|
@ -1270,6 +1271,7 @@ worker_handle_request(struct comm_point* c, void* arg, int error,
|
|||
edns.udp_size = EDNS_ADVERTISED_SIZE;
|
||||
edns.bits &= EDNS_DO;
|
||||
edns.opt_list = NULL;
|
||||
edns.opt_list_modules_out = NULL;
|
||||
edns.padding_block_size = 0;
|
||||
verbose(VERB_ALGO, "query with bad edns version.");
|
||||
log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen);
|
||||
|
|
@ -1297,6 +1299,7 @@ worker_handle_request(struct comm_point* c, void* arg, int error,
|
|||
edns.udp_size = EDNS_ADVERTISED_SIZE;
|
||||
edns.bits &= EDNS_DO;
|
||||
edns.opt_list = NULL;
|
||||
edns.opt_list_modules_out = NULL;
|
||||
verbose(VERB_ALGO, "query with bad edns keepalive.");
|
||||
log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen);
|
||||
error_encode(c->buffer, LDNS_RCODE_FORMERR, &qinfo,
|
||||
|
|
|
|||
|
|
@ -601,6 +601,7 @@ setup_qinfo_edns(struct libworker* w, struct ctx_query* q,
|
|||
edns->edns_version = 0;
|
||||
edns->bits = EDNS_DO;
|
||||
edns->opt_list = NULL;
|
||||
edns->opt_list_modules_out = NULL;
|
||||
edns->padding_block_size = 0;
|
||||
if(sldns_buffer_capacity(w->back->udp_buff) < 65535)
|
||||
edns->udp_size = (uint16_t)sldns_buffer_capacity(
|
||||
|
|
|
|||
|
|
@ -5359,6 +5359,7 @@ xfr_transfer_lookup_host(struct auth_xfer* xfr, struct module_env* env)
|
|||
edns.edns_version = 0;
|
||||
edns.bits = EDNS_DO;
|
||||
edns.opt_list = NULL;
|
||||
edns.opt_list_modules_out = NULL;
|
||||
edns.padding_block_size = 0;
|
||||
if(sldns_buffer_capacity(buf) < 65535)
|
||||
edns.udp_size = (uint16_t)sldns_buffer_capacity(buf);
|
||||
|
|
@ -6548,6 +6549,7 @@ xfr_probe_lookup_host(struct auth_xfer* xfr, struct module_env* env)
|
|||
edns.edns_version = 0;
|
||||
edns.bits = EDNS_DO;
|
||||
edns.opt_list = NULL;
|
||||
edns.opt_list_modules_out = NULL;
|
||||
edns.padding_block_size = 0;
|
||||
if(sldns_buffer_capacity(buf) < 65535)
|
||||
edns.udp_size = (uint16_t)sldns_buffer_capacity(buf);
|
||||
|
|
@ -8323,6 +8325,7 @@ zonemd_lookup_dnskey(struct auth_zone* z, struct module_env* env)
|
|||
edns.edns_version = 0;
|
||||
edns.bits = EDNS_DO;
|
||||
edns.opt_list = NULL;
|
||||
edns.opt_list_modules_out = NULL;
|
||||
if(sldns_buffer_capacity(buf) < 65535)
|
||||
edns.udp_size = (uint16_t)sldns_buffer_capacity(buf);
|
||||
else edns.udp_size = 65535;
|
||||
|
|
|
|||
|
|
@ -1020,6 +1020,7 @@ parse_extract_edns(struct msg_parse* msg, struct edns_data* edns,
|
|||
edns->bits = sldns_read_uint16(&found->rr_last->ttl_data[2]);
|
||||
edns->udp_size = ntohs(found->rrset_class);
|
||||
edns->opt_list = NULL;
|
||||
edns->opt_list_modules_out = NULL;
|
||||
edns->padding_block_size = 0;
|
||||
|
||||
/* take the options */
|
||||
|
|
@ -1094,6 +1095,7 @@ parse_edns_from_pkt(sldns_buffer* pkt, struct edns_data* edns,
|
|||
edns->edns_version = sldns_buffer_read_u8(pkt);
|
||||
edns->bits = sldns_buffer_read_u16(pkt);
|
||||
edns->opt_list = NULL;
|
||||
edns->opt_list_modules_out = NULL;
|
||||
edns->padding_block_size = 0;
|
||||
|
||||
/* take the options */
|
||||
|
|
|
|||
|
|
@ -227,6 +227,9 @@ struct edns_data {
|
|||
uint16_t udp_size;
|
||||
/** rdata element list, or NULL if none */
|
||||
struct edns_option* opt_list;
|
||||
/** rdata element list of outgoing edns options from modules
|
||||
* or NULL if none */
|
||||
struct edns_option* opt_list_modules_out;
|
||||
/** block size to pad */
|
||||
uint16_t padding_block_size;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2378,6 +2378,7 @@ probe_anchor(struct module_env* env, struct trust_anchor* tp)
|
|||
edns.edns_version = 0;
|
||||
edns.bits = EDNS_DO;
|
||||
edns.opt_list = NULL;
|
||||
edns.opt_list_modules_out = NULL;
|
||||
edns.padding_block_size = 0;
|
||||
if(sldns_buffer_capacity(buf) < 65535)
|
||||
edns.udp_size = (uint16_t)sldns_buffer_capacity(buf);
|
||||
|
|
|
|||
Loading…
Reference in a new issue