From 9650bc0171a7b387c96f19881acf4dd7af12c79b Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 17 Oct 2018 17:56:01 +0200 Subject: [PATCH 1/2] A or AAAA record might not be available. see #1596 --- modoboa/admin/lib.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modoboa/admin/lib.py b/modoboa/admin/lib.py index 9d1b11aef..ea5c54f4f 100644 --- a/modoboa/admin/lib.py +++ b/modoboa/admin/lib.py @@ -204,6 +204,8 @@ def get_domain_mx_list(domain): logger.error( _("No {type} record found for MX {mx}").format( type=rtype, mx=domain), exc_info=e) + except dns.resolver.NoAnswer: + pass else: for ip_answer in ip_answers: try: From 23865090e9d21d0e939583a373fc2f65bea1c0ed Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Thu, 18 Oct 2018 08:51:49 +0200 Subject: [PATCH 2/2] Fixed coverage. --- modoboa/admin/tests/test_mx.py | 1 + modoboa/admin/tests/utils.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/modoboa/admin/tests/test_mx.py b/modoboa/admin/tests/test_mx.py index 7d39dec24..1823be334 100644 --- a/modoboa/admin/tests/test_mx.py +++ b/modoboa/admin/tests/test_mx.py @@ -129,6 +129,7 @@ class MXTestCase(ModoTestCase): get_domain_mx_list("no-ns-servers.example.com") get_domain_mx_list("timeout.example.com") get_domain_mx_list("no-lookup.example.com") + get_domain_mx_list("no-answer.example.Com") get_domain_mx_list("bad-response.example.com") log.check( ("modoboa.admin", "ERROR", diff --git a/modoboa/admin/tests/utils.py b/modoboa/admin/tests/utils.py index 2c6cee995..6a586a3c1 100644 --- a/modoboa/admin/tests/utils.py +++ b/modoboa/admin/tests/utils.py @@ -45,12 +45,14 @@ _POSSIBLE_DNS_RESULTS = { "no-ns-servers.example.com": NoNameservers(), "bad-response.example.com": [_BAD_MX_RECORD], "no-lookup.example.com": [_DNE_MX_RECORD], + "no-answer.example.com": [_DNE_MX_RECORD], } _POSSIBLE_DNS_RESULTS_NO_MX = { "does-not-exist.example.com": NXDOMAIN(), "mx2.example.com": NXDOMAIN(), "no-lookup.example.com": NXDOMAIN(), + "no-answer.example.com": NoAnswer(), "bad-response.example.com": [RRsetInvalid()], } _POSSIBLE_IP_RESULTS = {