aboutsummaryrefslogtreecommitdiff
path: root/dns/dnsmasq/files/patch-src_network.c
diff options
context:
space:
mode:
Diffstat (limited to 'dns/dnsmasq/files/patch-src_network.c')
-rw-r--r--dns/dnsmasq/files/patch-src_network.c81
1 files changed, 0 insertions, 81 deletions
diff --git a/dns/dnsmasq/files/patch-src_network.c b/dns/dnsmasq/files/patch-src_network.c
deleted file mode 100644
index 53b6545ddff4..000000000000
--- a/dns/dnsmasq/files/patch-src_network.c
+++ /dev/null
@@ -1,81 +0,0 @@
-From 26bbf5a314d833beaf0f147d24409969f05f3dba Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 23 Sep 2021 10:54:46 +0100
-Subject: [PATCH] Fix --address=/#/...... which was lost in 2.86
-
-A victim of the domain-search rewrite. Apologies.
----
- CHANGELOG | 8 ++++++++
- src/network.c | 3 ++-
- src/option.c | 17 ++++++++++++-----
- 3 files changed, 22 insertions(+), 6 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 5e54df9..8652dd8 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -1,3 +1,11 @@
-+version 2.87
-+ Allow arbitrary prefix lengths in --rev-server and
-+ --domain=....,local
-+
-+ Replace --address=/#/..... functionality which got
-+ missed in the 2.86 domain search rewrite.
-+
-+
- version 2.86
- Handle DHCPREBIND requests in the DHCPv6 server code.
- Thanks to Aichun Li for spotting this omission, and the initial
-diff --git a/src/network.c b/src/network.c
-index 296c7bd..3c1c176 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -1626,7 +1626,8 @@ void check_servers(int no_loop_check)
- continue;
-
- if ((serv->flags & SERV_LITERAL_ADDRESS) &&
-- !(serv->flags & (SERV_6ADDR | SERV_4ADDR | SERV_ALL_ZEROS)))
-+ !(serv->flags & (SERV_6ADDR | SERV_4ADDR | SERV_ALL_ZEROS)) &&
-+ strlen(serv->domain))
- {
- count--;
- if (++locals <= LOCALS_LOGGED)
-diff --git a/src/option.c b/src/option.c
-index e64c3ab..54d89aa 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -2764,7 +2764,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-
- if (!arg || !*arg)
- flags = SERV_LITERAL_ADDRESS;
-- else if (option == 'A')
-+ else if (option != 'S')
- {
- /* # as literal address means return zero address for 4 and 6 */
- if (strcmp(arg, "#") == 0)
-@@ -2788,11 +2788,18 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
- while (1)
- {
- /* server=//1.2.3.4 is special. */
-- if (strlen(domain) == 0 && lastdomain)
-- flags |= SERV_FOR_NODOTS;
-- else
-- flags &= ~SERV_FOR_NODOTS;
-+ if (lastdomain)
-+ {
-+ if (strlen(domain) == 0)
-+ flags |= SERV_FOR_NODOTS;
-+ else
-+ flags &= ~SERV_FOR_NODOTS;
-
-+ /* address=/#/ matches the same as without domain */
-+ if (option != 'S' && domain[0] == '#' && domain[1] == 0)
-+ domain[0] = 0;
-+ }
-+
- if (!add_update_server(flags, &serv_addr, &source_addr, interface, domain, &addr))
- ret_err(gen_err);
-
---
-2.20.1
-