diff options
author | Dominik Derigs <dl6er@dl6er.de> | 2023-03-03 18:05:26 +0100 |
---|---|---|
committer | Simon Kelley <simon@thekelleys.org.uk> | 2023-03-06 17:32:18 +0000 |
commit | 997982f78bd3f8c311b9557e1ef825555e7290bb (patch) | |
tree | 17bc1e64df7310519c87f7093586be256402d39e | |
parent | 7d6b68c5d7016aca5372f12e9f0c25f0a108644d (diff) | |
download | dnsmasq-997982f78bd3f8c311b9557e1ef825555e7290bb.tar.gz |
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>
-rw-r--r-- | src/option.c | 6 |
1 files changed, 6 insertions, 0 deletions
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))) |