mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
- Fix for EDNS EDE size calculation.
This commit is contained in:
parent
11f12bc981
commit
990b12bc8e
2 changed files with 7 additions and 2 deletions
|
|
@ -4,6 +4,9 @@
|
||||||
- For #911: Try to trim EXTRA-TEXT (and LDNS_EDE_OTHER options
|
- For #911: Try to trim EXTRA-TEXT (and LDNS_EDE_OTHER options
|
||||||
altogether) before giving up on attaching EDE options.
|
altogether) before giving up on attaching EDE options.
|
||||||
|
|
||||||
|
1 August 2023: Wouter
|
||||||
|
- Fix for EDNS EDE size calculation.
|
||||||
|
|
||||||
31 July 2023: George
|
31 July 2023: George
|
||||||
- Merge #790 from Tom Carpay: Add support for EDE caching in cachedb
|
- Merge #790 from Tom Carpay: Add support for EDE caching in cachedb
|
||||||
and subnetcache.
|
and subnetcache.
|
||||||
|
|
|
||||||
|
|
@ -833,22 +833,24 @@ calc_ede_option_size(struct edns_data* edns, uint16_t* txt_size)
|
||||||
if(!edns || !edns->edns_present)
|
if(!edns || !edns->edns_present)
|
||||||
return 0;
|
return 0;
|
||||||
for(opt = edns->opt_list_inplace_cb_out; opt; opt = opt->next) {
|
for(opt = edns->opt_list_inplace_cb_out; opt; opt = opt->next) {
|
||||||
if(opt->opt_code == LDNS_EDNS_EDE)
|
if(opt->opt_code == LDNS_EDNS_EDE) {
|
||||||
rdatalen += 4 + opt->opt_len;
|
rdatalen += 4 + opt->opt_len;
|
||||||
if(opt->opt_len > 2)
|
if(opt->opt_len > 2)
|
||||||
*txt_size += opt->opt_len - 2;
|
*txt_size += opt->opt_len - 2;
|
||||||
if(opt->opt_len >= 2 && sldns_read_uint16(
|
if(opt->opt_len >= 2 && sldns_read_uint16(
|
||||||
opt->opt_data) == LDNS_EDE_OTHER)
|
opt->opt_data) == LDNS_EDE_OTHER)
|
||||||
*txt_size += 4 + 2;
|
*txt_size += 4 + 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for(opt = edns->opt_list_out; opt; opt = opt->next) {
|
for(opt = edns->opt_list_out; opt; opt = opt->next) {
|
||||||
if(opt->opt_code == LDNS_EDNS_EDE)
|
if(opt->opt_code == LDNS_EDNS_EDE) {
|
||||||
rdatalen += 4 + opt->opt_len;
|
rdatalen += 4 + opt->opt_len;
|
||||||
if(opt->opt_len > 2)
|
if(opt->opt_len > 2)
|
||||||
*txt_size += opt->opt_len - 2;
|
*txt_size += opt->opt_len - 2;
|
||||||
if(opt->opt_len >= 2 && sldns_read_uint16(
|
if(opt->opt_len >= 2 && sldns_read_uint16(
|
||||||
opt->opt_data) == LDNS_EDE_OTHER)
|
opt->opt_data) == LDNS_EDE_OTHER)
|
||||||
*txt_size += 4 + 2;
|
*txt_size += 4 + 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return rdatalen;
|
return rdatalen;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue