From c0e54f87d70cd4b33b5e20e26d3ab454f0c0724f Mon Sep 17 00:00:00 2001 From: lamberete <74853880+lamberete@users.noreply.github.com> Date: Sat, 26 Mar 2022 13:45:49 +0100 Subject: [PATCH 1/2] Sorting ds records on report. When building the part of the report about the current DS records founded, they are added in the same order as they were received when calling query_dns(), which can differ from run to run. This was making the difflib.SequenceMatcher() method to find the same line removed and added one line later, and sending an Status Checks Change Notice email with the same line added and removed when there was actually no real changes. --- management/status_checks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/management/status_checks.py b/management/status_checks.py index d3c642c6..d45a2bcc 100755 --- a/management/status_checks.py +++ b/management/status_checks.py @@ -658,7 +658,7 @@ def check_dnssec(domain, env, output, dns_zonefiles, is_checking_primary=False): if len(ds) > 0: output.print_line("") output.print_line("The DS record is currently set to:") - for rr in ds: + for rr in sorted(ds): output.print_line("Key Tag: {0}, Algorithm: {1}, Digest Type: {2}, Digest: {3}".format(*rr)) def check_mail_domain(domain, env, output): From 6e40c69cb5e04b633384135417c451882dc594a9 Mon Sep 17 00:00:00 2001 From: lamberete <74853880+lamberete@users.noreply.github.com> Date: Sat, 26 Mar 2022 13:50:24 +0100 Subject: [PATCH 2/2] Error message using IPv4 instead of failing IPv6. One of the error messages around IPv6 was using the IPv4 for the output, making the error message confusing. --- management/status_checks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/management/status_checks.py b/management/status_checks.py index d45a2bcc..c66bf9b3 100755 --- a/management/status_checks.py +++ b/management/status_checks.py @@ -135,7 +135,7 @@ def check_service(i, service, env): # IPv4 ok but IPv6 failed. Try the PRIVATE_IPV6 address to see if the service is bound to the interface. elif service["port"] != 53 and try_connect(env["PRIVATE_IPV6"]): - output.print_error("%s is running (and available over IPv4 and the local IPv6 address), but it is not publicly accessible at %s:%d." % (service['name'], env['PUBLIC_IP'], service['port'])) + output.print_error("%s is running (and available over IPv4 and the local IPv6 address), but it is not publicly accessible at %s:%d." % (service['name'], env['PUBLIC_IPV6'], service['port'])) else: output.print_error("%s is running and available over IPv4 but is not accessible over IPv6 at %s port %d." % (service['name'], env['PUBLIC_IPV6'], service['port']))