MINOR: dns: automatic reduction of DNS accpeted payload size

RFC 6891 states that if a DNS client announces "big" payload size and
doesn't receive a response (because some equipments on the path may
block/drop UDP fragmented packets), then it should try asking for
smaller responses.
This commit is contained in:
Baptiste Assmann 2017-08-21 16:51:09 +02:00 committed by Willy Tarreau
parent 9d8dbbc56b
commit e70bc05b3a

View File

@ -2085,6 +2085,12 @@ struct task *dns_process_resolve(struct task *t)
LIST_DEL(&requester->list);
LIST_ADDQ(&resolution->requester.wait, &requester->list);
}
/* this might be triggered by too big UDP packets dropped
* somewhere on the network, so lowering the accepted_payload_size
* announced */
if (resolvers->accepted_payload_size > 1280)
resolvers->accepted_payload_size = 1280;
goto out;
}