resolve: synthesize null address, IPv4 broadcast address, or invalid domain

These are filtered in `dns_scope_good_domain()`, but not synthesized.

Fixes #22229.
This commit is contained in:
Yu Watanabe
2022-01-24 06:46:50 +09:00
parent 3b2ac14ac4
commit 46b53e8035
+8
View File
@@ -397,6 +397,14 @@ int dns_synthesize_answer(
if (dns_name_is_empty(name)) {
/* Do nothing. */
} else if (dns_name_endswith(name, "0.in-addr.arpa") > 0 ||
dns_name_equal(name, "255.255.255.255.in-addr.arpa") > 0 ||
dns_name_equal(name, "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa") > 0 ||
dns_name_endswith(name, "invalid") > 0) {
nxdomain = true;
continue;
} else if (is_localhost(name)) {
r = synthesize_localhost_rr(m, key, ifindex, &answer);