Apply suggestions from code review

Co-authored-by: Willem Toorop <willem@nlnetlabs.nl>
This commit is contained in:
tcarpay 2021-11-08 11:02:54 +01:00 committed by GitHub
parent cb48d9e4a1
commit fa73142b79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 17 deletions

View file

@ -1003,9 +1003,6 @@ answer_notify(struct worker* w, struct query_info* qinfo,
edns->udp_size = EDNS_ADVERTISED_SIZE;
edns->ext_rcode = 0;
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,
*(uint16_t*)(void *)sldns_buffer_begin(pkt),
sldns_buffer_read_u16_at(pkt, 2), edns);

View file

@ -831,6 +831,10 @@ attach_edns_record_max_msg_sz(sldns_buffer* pkt, struct edns_data* edns,
sldns_buffer_write_u16(pkt, 0); /* rdatalen */
/* write rdata */
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_len);
if(opt->opt_len != 0)

View file

@ -968,7 +968,6 @@ parse_edns_options(uint8_t* rdata_ptr, size_t rdata_len,
log_err("out of memory");
return LDNS_RCODE_SERVFAIL;
}
c->tcp_keepalive = 1;
}
/* 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;
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;
}
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_len -= opt_len;
}
return 0;
return LDNS_RCODE_NOERROR;
}
int
@ -1109,7 +1108,7 @@ parse_extract_edns(struct msg_parse* msg, struct edns_data* edns,
rdata_len = found->rr_first->size-2;
rdata_ptr = found->rr_first->ttl_data+6;
if(parse_edns_options(rdata_ptr, rdata_len, edns, NULL, NULL, region))
return 0;
return LDNS_RCODE_NOERROR;
/* ignore rrsigs */
@ -1187,12 +1186,8 @@ parse_edns_from_pkt(sldns_buffer* pkt, struct edns_data* edns,
if(sldns_buffer_remaining(pkt) < rdata_len)
return LDNS_RCODE_FORMERR;
rdata_ptr = sldns_buffer_current(pkt);
rcode = parse_edns_options(rdata_ptr, rdata_len, edns, cfg, c, region);
if(rcode)
return rcode;
/* ignore rrsigs */
return parse_edns_options(rdata_ptr, rdata_len, edns, cfg, c, region);
return 0;
}

View file

@ -235,7 +235,7 @@ struct edns_data {
struct edns_option* opt_list_out;
/** rdata element list of outgoing edns options from modules
* or NULL if none */
struct edns_option* opt_list_modules_out;
struct edns_option* opt_list_inplace_cb_out;
/** block size to pad */
uint16_t padding_block_size;
};