Catch more ascii encoding errors to improve resilience against bad data
(LP: #1844189)
This commit is contained in:
@@ -305,6 +305,8 @@ class dkimMilter(Milter.Base):
|
|||||||
self.dkim_comment = str(x)
|
self.dkim_comment = str(x)
|
||||||
if milterconfig.get('Syslog'):
|
if milterconfig.get('Syslog'):
|
||||||
syslog.syslog("check_dkim: {0}".format(x))
|
syslog.syslog("check_dkim: {0}".format(x))
|
||||||
|
if not self.header_a:
|
||||||
|
self.header_a = 'rsa-sha256'
|
||||||
if res:
|
if res:
|
||||||
if (milterconfig.get('Syslog') and
|
if (milterconfig.get('Syslog') and
|
||||||
(milterconfig.get('SyslogSuccess') or
|
(milterconfig.get('SyslogSuccess') or
|
||||||
@@ -324,14 +326,20 @@ class dkimMilter(Milter.Base):
|
|||||||
syslog.syslog('DKIM: Fail (saved as {0})'
|
syslog.syslog('DKIM: Fail (saved as {0})'
|
||||||
.format(fname))
|
.format(fname))
|
||||||
else:
|
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:
|
if res:
|
||||||
result = 'pass'
|
result = 'pass'
|
||||||
else:
|
else:
|
||||||
result = 'fail'
|
result = 'fail'
|
||||||
res = False
|
res = False
|
||||||
self.arresults.append(
|
if self.header_d:
|
||||||
authres.DKIMAuthenticationResult(result=result,
|
self.arresults.append(
|
||||||
|
authres.DKIMAuthenticationResult(result=result,
|
||||||
header_i=self.header_i,
|
header_i=self.header_i,
|
||||||
header_d=self.header_d,
|
header_d=self.header_d,
|
||||||
header_a=self.header_a,
|
header_a=self.header_a,
|
||||||
|
|||||||
Reference in New Issue
Block a user