mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-24 00:29:58 -05:00
Apply suggestions from code review
Co-authored-by: Willem Toorop <willem@nlnetlabs.nl>
This commit is contained in:
parent
cb48d9e4a1
commit
fa73142b79
4 changed files with 13 additions and 17 deletions
|
|
@ -1003,9 +1003,6 @@ answer_notify(struct worker* w, struct query_info* qinfo,
|
||||||
edns->udp_size = EDNS_ADVERTISED_SIZE;
|
edns->udp_size = EDNS_ADVERTISED_SIZE;
|
||||||
edns->ext_rcode = 0;
|
edns->ext_rcode = 0;
|
||||||
edns->bits &= EDNS_DO;
|
edns->bits &= EDNS_DO;
|
||||||
edns->opt_list_in = NULL;
|
|
||||||
edns->opt_list_out = NULL;
|
|
||||||
edns->opt_list_modules_out = NULL;
|
|
||||||
error_encode(pkt, rcode, qinfo,
|
error_encode(pkt, rcode, qinfo,
|
||||||
*(uint16_t*)(void *)sldns_buffer_begin(pkt),
|
*(uint16_t*)(void *)sldns_buffer_begin(pkt),
|
||||||
sldns_buffer_read_u16_at(pkt, 2), edns);
|
sldns_buffer_read_u16_at(pkt, 2), edns);
|
||||||
|
|
|
||||||
|
|
@ -831,6 +831,10 @@ attach_edns_record_max_msg_sz(sldns_buffer* pkt, struct edns_data* edns,
|
||||||
sldns_buffer_write_u16(pkt, 0); /* rdatalen */
|
sldns_buffer_write_u16(pkt, 0); /* rdatalen */
|
||||||
/* write rdata */
|
/* write rdata */
|
||||||
for(opt=edns->opt_list_modules_out; opt; opt=opt->next) {
|
for(opt=edns->opt_list_modules_out; opt; opt=opt->next) {
|
||||||
|
if (opt->opt_code == LDNS_EDNS_PADDING) {
|
||||||
|
padding_option = opt;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
sldns_buffer_write_u16(pkt, opt->opt_code);
|
sldns_buffer_write_u16(pkt, opt->opt_code);
|
||||||
sldns_buffer_write_u16(pkt, opt->opt_len);
|
sldns_buffer_write_u16(pkt, opt->opt_len);
|
||||||
if(opt->opt_len != 0)
|
if(opt->opt_len != 0)
|
||||||
|
|
|
||||||
|
|
@ -968,7 +968,6 @@ parse_edns_options(uint8_t* rdata_ptr, size_t rdata_len,
|
||||||
log_err("out of memory");
|
log_err("out of memory");
|
||||||
return LDNS_RCODE_SERVFAIL;
|
return LDNS_RCODE_SERVFAIL;
|
||||||
}
|
}
|
||||||
c->tcp_keepalive = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* while still more options, and have code+len to read */
|
/* while still more options, and have code+len to read */
|
||||||
|
|
@ -1031,17 +1030,17 @@ parse_edns_options(uint8_t* rdata_ptr, size_t rdata_len,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if(!edns_opt_list_append(&edns->opt_list_in,
|
|
||||||
opt_code, opt_len, rdata_ptr, region)) {
|
|
||||||
log_err("out of memory");
|
|
||||||
return LDNS_RCODE_SERVFAIL;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if(!edns_opt_list_append(&edns->opt_list_in,
|
||||||
|
opt_code, opt_len, rdata_ptr, region)) {
|
||||||
|
log_err("out of memory");
|
||||||
|
return LDNS_RCODE_SERVFAIL;
|
||||||
|
}
|
||||||
rdata_ptr += opt_len;
|
rdata_ptr += opt_len;
|
||||||
rdata_len -= opt_len;
|
rdata_len -= opt_len;
|
||||||
}
|
}
|
||||||
return 0;
|
return LDNS_RCODE_NOERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
@ -1109,7 +1108,7 @@ parse_extract_edns(struct msg_parse* msg, struct edns_data* edns,
|
||||||
rdata_len = found->rr_first->size-2;
|
rdata_len = found->rr_first->size-2;
|
||||||
rdata_ptr = found->rr_first->ttl_data+6;
|
rdata_ptr = found->rr_first->ttl_data+6;
|
||||||
if(parse_edns_options(rdata_ptr, rdata_len, edns, NULL, NULL, region))
|
if(parse_edns_options(rdata_ptr, rdata_len, edns, NULL, NULL, region))
|
||||||
return 0;
|
return LDNS_RCODE_NOERROR;
|
||||||
|
|
||||||
/* ignore rrsigs */
|
/* ignore rrsigs */
|
||||||
|
|
||||||
|
|
@ -1187,12 +1186,8 @@ parse_edns_from_pkt(sldns_buffer* pkt, struct edns_data* edns,
|
||||||
if(sldns_buffer_remaining(pkt) < rdata_len)
|
if(sldns_buffer_remaining(pkt) < rdata_len)
|
||||||
return LDNS_RCODE_FORMERR;
|
return LDNS_RCODE_FORMERR;
|
||||||
rdata_ptr = sldns_buffer_current(pkt);
|
rdata_ptr = sldns_buffer_current(pkt);
|
||||||
rcode = parse_edns_options(rdata_ptr, rdata_len, edns, cfg, c, region);
|
|
||||||
if(rcode)
|
|
||||||
return rcode;
|
|
||||||
|
|
||||||
/* ignore rrsigs */
|
/* ignore rrsigs */
|
||||||
|
return parse_edns_options(rdata_ptr, rdata_len, edns, cfg, c, region);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -235,7 +235,7 @@ struct edns_data {
|
||||||
struct edns_option* opt_list_out;
|
struct edns_option* opt_list_out;
|
||||||
/** rdata element list of outgoing edns options from modules
|
/** rdata element list of outgoing edns options from modules
|
||||||
* or NULL if none */
|
* or NULL if none */
|
||||||
struct edns_option* opt_list_modules_out;
|
struct edns_option* opt_list_inplace_cb_out;
|
||||||
/** block size to pad */
|
/** block size to pad */
|
||||||
uint16_t padding_block_size;
|
uint16_t padding_block_size;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue