From 209ad116618249acfaa7f3e7abc4e3f5aa544ab3 Mon Sep 17 00:00:00 2001 From: Scott Kitterman Date: Mon, 23 Sep 2019 10:28:43 -0400 Subject: [PATCH] Catch more ascii encoding errors to improve resilience against bad data (LP: #1844189) --- dkimpy_milter/__init__.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/dkimpy_milter/__init__.py b/dkimpy_milter/__init__.py index 6bc567d..8ef5eb1 100644 --- a/dkimpy_milter/__init__.py +++ b/dkimpy_milter/__init__.py @@ -305,6 +305,8 @@ class dkimMilter(Milter.Base): self.dkim_comment = str(x) if milterconfig.get('Syslog'): syslog.syslog("check_dkim: {0}".format(x)) + if not self.header_a: + self.header_a = 'rsa-sha256' if res: if (milterconfig.get('Syslog') and (milterconfig.get('SyslogSuccess') or @@ -324,14 +326,20 @@ class dkimMilter(Milter.Base): syslog.syslog('DKIM: Fail (saved as {0})' .format(fname)) else: - syslog.syslog('DKIM: Fail ({0})'.format(d.domain.lower())) + if milterconfig.get('Syslog'): + if d.domain: + syslog.syslog('DKIM: Fail ({0})' + .format(d.domain.lower())) + else: + syslog.syslog('DKIM: Fail, unextractable domain') if res: result = 'pass' else: result = 'fail' res = False - self.arresults.append( - authres.DKIMAuthenticationResult(result=result, + if self.header_d: + self.arresults.append( + authres.DKIMAuthenticationResult(result=result, header_i=self.header_i, header_d=self.header_d, header_a=self.header_a,