]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch
dnsmasq: again - latest upstream patches
[ipfire-2.x.git] / src / patches / dnsmasq / 0090-Tweak-EDNS-timeout-code.patch
1 From 86fa1046920dedc8134136a6244ca96e8a37e9d8 Mon Sep 17 00:00:00 2001
2 From: Simon Kelley <simon@thekelleys.org.uk>
3 Date: Sun, 10 May 2015 13:50:59 +0100
4 Subject: [PATCH] Tweak EDNS timeout code.
5
6 ---
7 src/forward.c | 6 ++++--
8 1 file changed, 4 insertions(+), 2 deletions(-)
9
10 diff --git a/src/forward.c b/src/forward.c
11 index 592243f..74e5ab6 100644
12 --- a/src/forward.c
13 +++ b/src/forward.c
14 @@ -799,8 +799,10 @@ void reply_query(int fd, int family, time_t now)
15 }
16
17 /* We tried resending to this server with a smaller maximum size and got an answer.
18 - Make that permanent. */
19 - if (server && (forward->flags & FREC_TEST_PKTSZ))
20 + Make that permanent. To avoid reduxing the packet size for an single dropped packet,
21 + only do this when we get a truncated answer, or one larger than the safe size. */
22 + if (server && (forward->flags & FREC_TEST_PKTSZ) &&
23 + ((header->hb3 & HB3_TC) || n >= SAFE_PKTSZ))
24 server->edns_pktsz = SAFE_PKTSZ;
25
26 /* If the answer is an error, keep the forward record in place in case
27 --
28 1.7.10.4
29