aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/dnsmasq/patches/0007-Retry-SERVFAIL-DNSSEC-queries-to-a-different-server-.patch
diff options
context:
space:
mode:
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2018-07-28 10:47:32 +0100
committerKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2018-07-28 11:16:41 +0100
commit1e93ef84981f2722138824413a1b197fdab7fb6c (patch)
tree1e5df132478e543d3adf2ee0936ffa1221959d00 /package/network/services/dnsmasq/patches/0007-Retry-SERVFAIL-DNSSEC-queries-to-a-different-server-.patch
parent2a598bbaa3f75b7051c2453a6ccf706191cf2153 (diff)
downloadupstream-1e93ef84981f2722138824413a1b197fdab7fb6c.tar.gz
upstream-1e93ef84981f2722138824413a1b197fdab7fb6c.tar.bz2
upstream-1e93ef84981f2722138824413a1b197fdab7fb6c.zip
dnsmasq: bump to dnsmasq v2.80test3
Refresh patches Upstream commits since last bump: 3b6eb19 Log DNSSEC trust anchors at startup. f3e5787 Trivial comment change. c851c69 Log failure to confirm an address in DHCPv6. a3bd7e7 Fix missing fatal errors when parsing some command-line/config options. ab5ceaf Document the --help option in the french manual 1f2f69d Fix recurrent minor spelling mistake in french manual f361b39 Fix some mistakes in french translation of the manual eb1fe15 When replacing cache entries, preserve CNAMES which target them. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Diffstat (limited to 'package/network/services/dnsmasq/patches/0007-Retry-SERVFAIL-DNSSEC-queries-to-a-different-server-.patch')
-rw-r--r--package/network/services/dnsmasq/patches/0007-Retry-SERVFAIL-DNSSEC-queries-to-a-different-server-.patch100
1 files changed, 0 insertions, 100 deletions
diff --git a/package/network/services/dnsmasq/patches/0007-Retry-SERVFAIL-DNSSEC-queries-to-a-different-server-.patch b/package/network/services/dnsmasq/patches/0007-Retry-SERVFAIL-DNSSEC-queries-to-a-different-server-.patch
deleted file mode 100644
index 3ceaf523e6..0000000000
--- a/package/network/services/dnsmasq/patches/0007-Retry-SERVFAIL-DNSSEC-queries-to-a-different-server-.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 1f60a18ea1c64beb8b6cffa0650a2bfad95ac352 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 11 May 2018 16:44:16 +0100
-Subject: [PATCH 07/17] Retry SERVFAIL DNSSEC queries to a different server, if
- possible.
-
-Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
----
- src/forward.c | 53 ++++++++++++++++++++++++++++++++++++++++++-----------
- 1 file changed, 42 insertions(+), 11 deletions(-)
-
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -825,9 +825,12 @@ void reply_query(int fd, int family, tim
- size_t plen;
- int is_sign;
-
-+#ifdef HAVE_DNSSEC
- /* For DNSSEC originated queries, just retry the query to the same server. */
- if (forward->flags & (FREC_DNSKEY_QUERY | FREC_DS_QUERY))
- {
-+ struct server *start;
-+
- blockdata_retrieve(forward->stash, forward->stash_len, (void *)header);
- plen = forward->stash_len;
-
-@@ -839,26 +842,54 @@ void reply_query(int fd, int family, tim
- else
- log_query(F_NOEXTRA | F_DNSSEC | F_IPV6, "retry", (struct all_addr *)&forward->sentto->addr.in6.sin6_addr, "dnssec");
- #endif
--
-- if (forward->sentto->sfd)
-- fd = forward->sentto->sfd->fd;
-+
-+ start = forward->sentto;
-+
-+ /* for non-domain specific servers, see if we can find another to try. */
-+ if ((forward->sentto->flags & SERV_TYPE) == 0)
-+ while (1)
-+ {
-+ if (!(start = start->next))
-+ start = daemon->servers;
-+ if (start == forward->sentto)
-+ break;
-+
-+ if ((start->flags & SERV_TYPE) == 0 &&
-+ (start->flags & SERV_DO_DNSSEC))
-+ break;
-+ }
-+
-+
-+ if (start->sfd)
-+ fd = start->sfd->fd;
- else
- {
- #ifdef HAVE_IPV6
-- if (forward->sentto->addr.sa.sa_family == AF_INET6)
-- fd = forward->rfd6->fd;
-+ if (start->addr.sa.sa_family == AF_INET6)
-+ {
-+ /* may have changed family */
-+ if (!forward->rfd6)
-+ forward->rfd6 = allocate_rfd(AF_INET6);
-+ fd = forward->rfd6->fd;
-+ }
- else
- #endif
-- fd = forward->rfd4->fd;
-+ {
-+ /* may have changed family */
-+ if (!forward->rfd4)
-+ forward->rfd4 = allocate_rfd(AF_INET);
-+ fd = forward->rfd4->fd;
-+ }
- }
--
-+
- while (retry_send(sendto(fd, (char *)header, plen, 0,
-- &forward->sentto->addr.sa,
-- sa_len(&forward->sentto->addr))));
-+ &start->addr.sa,
-+ sa_len(&start->addr))));
-
- return;
- }
--
-+#endif
-+
- /* In strict order mode, there must be a server later in the chain
- left to send to, otherwise without the forwardall mechanism,
- code further on will cycle around the list forwever if they
-@@ -1024,7 +1055,7 @@ void reply_query(int fd, int family, tim
- while (1)
- {
- if (type == (start->flags & (SERV_TYPE | SERV_DO_DNSSEC)) &&
-- (type != SERV_HAS_DOMAIN || hostname_isequal(domain, start->domain)) &&
-+ ((type & SERV_TYPE) != SERV_HAS_DOMAIN || hostname_isequal(domain, start->domain)) &&
- !(start->flags & (SERV_LITERAL_ADDRESS | SERV_LOOP)))
- {
- new_server = start;