diff --git a/CHANGELOG.md b/CHANGELOG.md index f110b91..c351ec6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ +3.9.3 +----- + +- Fix crash when forensic recorts are missing `Arrival-Date` + 3.9.2 ------- +----- - Fix PEP 8 spacing - Update build script to fail when CI tests fail diff --git a/parsedmarc/__init__.py b/parsedmarc/__init__.py index 2b833e0..bc53ab6 100644 --- a/parsedmarc/__init__.py +++ b/parsedmarc/__init__.py @@ -43,7 +43,7 @@ import imapclient.exceptions import dateparser import mailparser -__version__ = "3.9.2" +__version__ = "3.9.3" logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) @@ -744,6 +744,9 @@ def parse_forensic_report(feedback_report, sample, sample_headers_only, arrival_utc = arrival_utc.strftime("%Y-%m-%d %H:%M:%S") parsed_report["arrival_date_utc"] = arrival_utc + if "arrival_date_utc" not in parsed_report: + raise InvalidForensicReport("Missing Arrival-Date") + ip_address = parsed_report["source_ip"] parsed_report["source"] = _get_ip_address_info(ip_address, nameservers=nameservers, diff --git a/setup.py b/setup.py index a7b51b7..7d65c58 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ from setuptools import setup from codecs import open from os import path -__version__ = "3.9.2" +__version__ = "3.9.3" description = "A Python package and CLI for parsing aggregate and " \ "forensic DMARC reports"