From 3262d020646fbddc8ced8b00d57d29edaa73b9bb Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 18 Jan 2019 18:29:41 +0100 Subject: [PATCH] dnstools: ignore extra spaces in records. --- modoboa/dnstools/lib.py | 6 ++++++ modoboa/dnstools/tests.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modoboa/dnstools/lib.py b/modoboa/dnstools/lib.py index b8f8f0901..e66b35283 100644 --- a/modoboa/dnstools/lib.py +++ b/modoboa/dnstools/lib.py @@ -165,6 +165,8 @@ def check_spf_syntax(record): modifiers = [] mechanisms = [] for part in parts: + if part == "": + continue qualifier = None if part[0] in ["+", "-", "~", "?"]: qualifier = part[0] @@ -200,6 +202,8 @@ def check_dkim_syntax(record): key = None for tag in record.split(";")[1:]: tag = tag.strip(" ") + if tag == "": + continue parts = tag.split("=", 1) if len(parts) != 2: raise DNSSyntaxError(_("Invalid tag {}").format(tag)) @@ -250,6 +254,8 @@ def check_dmarc_syntax(record): raise DNSSyntaxError(_("Not a valid DMARC record")) tags = {} for tag in record.split(";")[1:]: + if tag == "": + continue tag = tag.strip(" ") parts = tag.split("=") if len(parts) != 2: diff --git a/modoboa/dnstools/tests.py b/modoboa/dnstools/tests.py index f2c2a296c..8e061e242 100644 --- a/modoboa/dnstools/tests.py +++ b/modoboa/dnstools/tests.py @@ -44,7 +44,7 @@ GOOD_SPF_RECORDS = [ "v=spf1 ptr -all", "v=spf1 ptr:otherdomain.com -all", "v=spf1 exists:example.com -all", - "v=spf1 include:example.com -all", + "v=spf1 include:example.com -all", "v=spf1 ?include:example.com -all", "v=spf1 redirect=example.com", "v=spf1 exp=example.com",