]> git.kaiwu.me - haproxy.git/commit
MEDIUM: resolvers: accept full-size DNS messages over streams
authorManu Nicolas <e.nicolas@criteo.com>
Tue, 1 Sep 2026 10:44:50 +0000 (10:44 +0000)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 2 Sep 2026 11:40:53 +0000 (13:40 +0200)
commit9909d634c5f7113c959e882ed336854ba86e6dd2
tree7776acc00de2a4392ff21235a4def6be407ba93b
parent2f6aabe9cdcf520d339ac72cb568f6f972a5c0e5
MEDIUM: resolvers: accept full-size DNS messages over streams

accepted_payload_size is both the EDNS UDP advertisement and the
response size limit. A complete stream response larger than this value
is therefore discarded even though DNS stream framing can carry it. It
also makes it impossible to advertise a conservative UDP size while
accepting the complete response after a transport switch.

The stream code already rejects messages above the DNS protocol limit
and buffers the message before the resolver checks its size. Accepting
up to DNS_MAX_MSG_SIZE in the resolver therefore does not increase the
stream allocation.

Keep accepted_payload_size as the UDP advertisement and receive limit,
and use the protocol maximum for stream responses. Configurations that
used it to reject large stream responses will now accept those valid
messages.
doc/configuration.txt
include/haproxy/resolvers-t.h
src/resolvers.c