From 95f98a9c68aad0d125ede8c3cfb80c2b85c0d266 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 19 Jan 2023 16:45:21 +0100 Subject: [PATCH] ipexposuresetting: replace confusing negations with explicit 'in' --- src/diagnosers/21-web.py | 8 ++++---- src/diagnosers/24-mail.py | 4 ++-- src/dns.py | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/diagnosers/21-web.py b/src/diagnosers/21-web.py index 74e3ca483..25554fe9d 100644 --- a/src/diagnosers/21-web.py +++ b/src/diagnosers/21-web.py @@ -77,7 +77,7 @@ class MyDiagnoser(Diagnoser): ipversions = [] ipv4 = Diagnoser.get_cached_report("ip", item={"test": "ipv4"}) or {} - if ipv4.get("status") == "SUCCESS" and settings_get("misc.network.dns_exposure") != "ipv6": + if ipv4.get("status") == "SUCCESS" and settings_get("misc.network.dns_exposure") in ["both", "ipv4"]: ipversions.append(4) # To be discussed: we could also make this check dependent on the @@ -97,7 +97,7 @@ class MyDiagnoser(Diagnoser): # "curl --head the.global.ip" will simply timeout... if self.do_hairpinning_test: global_ipv4 = ipv4.get("data", {}).get("global", None) - if global_ipv4 and settings_get("misc.network.dns_exposure") != "ipv6": + if global_ipv4 and settings_get("misc.network.dns_exposure") in ["both", "ipv4"]: try: requests.head("http://" + global_ipv4, timeout=5) except requests.exceptions.Timeout: @@ -148,7 +148,7 @@ class MyDiagnoser(Diagnoser): if all( results[ipversion][domain]["status"] == "ok" for ipversion in ipversions ): - if 4 in ipversions and settings_get("misc.network.dns_exposure") != "ipv6": + if 4 in ipversions and settings_get("misc.network.dns_exposure") in ["both", "ipv4"]: self.do_hairpinning_test = True yield dict( meta={"domain": domain}, @@ -186,7 +186,7 @@ class MyDiagnoser(Diagnoser): ) AAAA_status = dnsrecords.get("data", {}).get("AAAA:@") - return AAAA_status in ["OK", "WRONG"] or settings_get("misc.network.dns_exposure") != "ipv4" + return AAAA_status in ["OK", "WRONG"] or settings_get("misc.network.dns_exposure") in ["both", "ipv6"] if failed == 4 or ipv6_is_important_for_this_domain(): yield dict( diff --git a/src/diagnosers/24-mail.py b/src/diagnosers/24-mail.py index 283f80681..1ae1da885 100644 --- a/src/diagnosers/24-mail.py +++ b/src/diagnosers/24-mail.py @@ -302,13 +302,13 @@ class MyDiagnoser(Diagnoser): outgoing_ipversions = [] outgoing_ips = [] ipv4 = Diagnoser.get_cached_report("ip", {"test": "ipv4"}) or {} - if ipv4.get("status") == "SUCCESS" and settings_get("misc.network.dns_exposure") != "ipv6": + if ipv4.get("status") == "SUCCESS" and settings_get("misc.network.dns_exposure") in ["both", "ipv4"]: outgoing_ipversions.append(4) global_ipv4 = ipv4.get("data", {}).get("global", {}) if global_ipv4: outgoing_ips.append(global_ipv4) - if settings_get("email.smtp.smtp_allow_ipv6") or settings_get("misc.network.dns_exposure") != "ipv4": + if settings_get("email.smtp.smtp_allow_ipv6") or settings_get("misc.network.dns_exposure") in ["both", "ipv6"]: ipv6 = Diagnoser.get_cached_report("ip", {"test": "ipv6"}) or {} if ipv6.get("status") == "SUCCESS": outgoing_ipversions.append(6) diff --git a/src/dns.py b/src/dns.py index 9d81391e5..d56e8e625 100644 --- a/src/dns.py +++ b/src/dns.py @@ -186,7 +186,7 @@ def _build_dns_conf(base_domain, include_empty_AAAA_if_no_ipv6=False): ########################### # Basic ipv4/ipv6 records # ########################### - if ipv4 and settings_get("misc.network.dns_exposure") != "ipv6": + if ipv4 and settings_get("misc.network.dns_exposure") in ["both", "ipv4"]: basic.append([basename, ttl, "A", ipv4]) if ipv6: @@ -241,7 +241,7 @@ def _build_dns_conf(base_domain, include_empty_AAAA_if_no_ipv6=False): # Only recommend wildcard and CAA for the top level if domain == base_domain: - if ipv4 and settings_get("misc.network.dns_exposure") != "ipv6": + if ipv4 and settings_get("misc.network.dns_exposure") in ["both", "ipv4"]: extra.append([f"*{suffix}", ttl, "A", ipv4]) if ipv6: