mirror of
https://git.freebsd.org/ports.git
synced 2025-06-05 12:56:28 -04:00
all from dnsmasq's Git repository hosted by Simon Kelley: + Fix DHCPv6 "use multicast" response + Avoid undefined behaviour with the ctype(3) functions. + Document suppressing default options in --dhcp-option. + Fix --rev-server option. + Set the default maximum DNS UDP packet size to 1232. + Generalise cached NXDOMAIN replies. + Fix possible SEGV when no servers defined. and bump PORTREVISION. This is so we can let it mature for two weeks before 2023Q2 and because the upstream release schedule is unforeseeable. Obtained from: Simon Kelley <simon@thekelleys.org.uk> Obtained from: Dominik Derigs <dl6er@dl6er.de> Obtained from: Taylor R Campbell <campbell+dnsmasq@mumble.net>
41 lines
1.4 KiB
Text
41 lines
1.4 KiB
Text
From 997982f78bd3f8c311b9557e1ef825555e7290bb Mon Sep 17 00:00:00 2001
|
|
From: Dominik Derigs <dl6er@dl6er.de>
|
|
Date: Fri, 3 Mar 2023 18:05:26 +0100
|
|
Subject: [PATCH] Fix --rev-server option. It was broken in
|
|
1db9943c6879c160a5fbef885d5ceadd3668b74d when resolving upstream servers by
|
|
name was extended to --rev-server without accounting for the fact that
|
|
re-using one and the same upstream server for each of the x.y.z.in-addr.arpa
|
|
is actually a wanted feature
|
|
|
|
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
|
---
|
|
src/option.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/src/option.c b/src/option.c
|
|
index 1090bca..2e208ba 100644
|
|
--- a/src/option.c
|
|
+++ b/src/option.c
|
|
@@ -1159,6 +1159,9 @@ static char *domain_rev4(int from_file, char *server, struct in_addr *addr4, int
|
|
}
|
|
else
|
|
{
|
|
+ /* Always reset server as valid here, so we can add the same upstream
|
|
+ server address multiple times for each x.y.z.in-addr.arpa */
|
|
+ sdetails.valid = 1;
|
|
while (parse_server_next(&sdetails))
|
|
{
|
|
if ((string = parse_server_addr(&sdetails)))
|
|
@@ -1244,6 +1247,9 @@ static char *domain_rev6(int from_file, char *server, struct in6_addr *addr6, in
|
|
}
|
|
else
|
|
{
|
|
+ /* Always reset server as valid here, so we can add the same upstream
|
|
+ server address multiple times for each x.y.z.ip6.arpa */
|
|
+ sdetails.valid = 1;
|
|
while (parse_server_next(&sdetails))
|
|
{
|
|
if ((string = parse_server_addr(&sdetails)))
|
|
--
|
|
2.20.1
|
|
|