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.
diff --git a/src/dns.c b/src/dns.c
index 62291fe..52e0202 100644
--- a/src/dns.c
+++ b/src/dns.c
@@ -2085,6 +2085,12 @@
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;
}