- Fix#524: max-udp-size not effective to non-EDNS0 queries, from

Daisuke HIGASHI.


git-svn-id: file:///svn/unbound/trunk@2955 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2013-09-16 09:07:08 +00:00
parent 427d0d75bf
commit 68e58ee194
2 changed files with 10 additions and 5 deletions

View file

@ -830,15 +830,16 @@ worker_handle_request(struct comm_point* c, void* arg, int error,
(int)edns.udp_size); (int)edns.udp_size);
log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen); log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen);
edns.udp_size = NORMAL_UDP_SIZE; edns.udp_size = NORMAL_UDP_SIZE;
} else if(edns.edns_present && }
edns.udp_size > worker->daemon->cfg->max_udp_size && if(edns.udp_size > worker->daemon->cfg->max_udp_size &&
c->type == comm_udp) { c->type == comm_udp) {
verbose(VERB_QUERY, "worker request: EDNS bufsize %d exceeds " verbose(VERB_QUERY,
"max-udp-size, fixed", (int)edns.udp_size); "worker request: max UDP reply size modified"
" (%d to max-udp-size)", (int)edns.udp_size);
log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen); log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen);
edns.udp_size = worker->daemon->cfg->max_udp_size; edns.udp_size = worker->daemon->cfg->max_udp_size;
} }
if(edns.edns_present && edns.udp_size < LDNS_HEADER_SIZE) { if(edns.udp_size < LDNS_HEADER_SIZE) {
verbose(VERB_ALGO, "worker request: edns is too small."); verbose(VERB_ALGO, "worker request: edns is too small.");
log_addr(VERB_CLIENT, "from", &repinfo->addr, repinfo->addrlen); log_addr(VERB_CLIENT, "from", &repinfo->addr, repinfo->addrlen);
LDNS_QR_SET(ldns_buffer_begin(c->buffer)); LDNS_QR_SET(ldns_buffer_begin(c->buffer));

View file

@ -1,3 +1,7 @@
16 Sep 2013: Wouter
- Fix#524: max-udp-size not effective to non-EDNS0 queries, from
Daisuke HIGASHI.
10 Sep 2013: Wouter 10 Sep 2013: Wouter
- MIN_TTL and MAX_TTL also in time_t. - MIN_TTL and MAX_TTL also in time_t.
- tag 1.4.21rc1 made again. - tag 1.4.21rc1 made again.