From 3262d020646fbddc8ced8b00d57d29edaa73b9bb Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 18 Jan 2019 18:29:41 +0100 Subject: [PATCH 1/3] 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", From b12411459fa800a3586e30032a09b06ac5440cdb Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 21 Jan 2019 10:40:14 +0100 Subject: [PATCH 2/3] Do not use mysqlclient 1.4.x until we move to Django 2. --- mysql-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-requirements.txt b/mysql-requirements.txt index 8498237ca..8786ce81c 100644 --- a/mysql-requirements.txt +++ b/mysql-requirements.txt @@ -1 +1 @@ -mysqlclient>=1.3.11 +mysqlclient<=1.3.99 From c04d85d265fb1fdaec453b322a66a3230c832b14 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 21 Jan 2019 11:21:06 +0100 Subject: [PATCH 3/3] Improve coverage. --- modoboa/dnstools/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modoboa/dnstools/tests.py b/modoboa/dnstools/tests.py index 8e061e242..8febafc12 100644 --- a/modoboa/dnstools/tests.py +++ b/modoboa/dnstools/tests.py @@ -65,7 +65,7 @@ BAD_DMARC_RECORDS = [ ] GOOD_DMARC_RECORDS = [ - "v=DMARC1; p=reject; pct=100", + "v=DMARC1; p=reject;; pct=100", "v=DMARC1; p=quarantine; sp=none; adkim=s; aspf=s; " "rua=mailto:dmarc-aggrep@ngyn.org; ruf=mailto:toto@test.com!24m; " "rf=afrf; pct=100; ri=86400" @@ -74,7 +74,7 @@ GOOD_DMARC_RECORDS = [ BAD_DKIM_RECORDS = [ ("", "Not a valid DKIM record"), ("v=DKIM1; toto;p=XXX", "Invalid tag toto"), - ("v=DKIM1;k=rsa", "No key found in record"), + ("v=DKIM1;;k=rsa", "No key found in record"), ]