Improve resilience to malformed email addresses
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
1.2.2
|
1.2.2
|
||||||
|
- Improve resilience to malformed email addresses
|
||||||
- Improve README.md formating for markdown display on pypi
|
- Improve README.md formating for markdown display on pypi
|
||||||
- Improve documentation in dkimpy-milter.conf (5) and README.md for signing
|
- Improve documentation in dkimpy-milter.conf (5) and README.md for signing
|
||||||
for multiple domains (Thanks to Stefano Rivera)
|
for multiple domains (Thanks to Stefano Rivera)
|
||||||
|
|||||||
@@ -141,6 +141,8 @@ class dkimMilter(Milter.Base):
|
|||||||
self.fdomain = self.author.split('@')[1].lower()
|
self.fdomain = self.author.split('@')[1].lower()
|
||||||
except IndexError as er:
|
except IndexError as er:
|
||||||
pass # self.author was not a proper email address
|
pass # self.author was not a proper email address
|
||||||
|
# This keeps non-ascii characters out of the From domain
|
||||||
|
self.fdomain = str(codecs.encode(self.fdomain, 'ascii', 'replace'), 'ascii', 'ignore')
|
||||||
if (self.conf.get('Syslog') and
|
if (self.conf.get('Syslog') and
|
||||||
self.conf.get('debugLevel') >= 1):
|
self.conf.get('debugLevel') >= 1):
|
||||||
syslog.syslog("{0}: {1}".format(name, val))
|
syslog.syslog("{0}: {1}".format(name, val))
|
||||||
@@ -148,6 +150,10 @@ class dkimMilter(Milter.Base):
|
|||||||
self.arheaders.append(val)
|
self.arheaders.append(val)
|
||||||
if self.fp:
|
if self.fp:
|
||||||
try:
|
try:
|
||||||
|
if lname == 'from':
|
||||||
|
# Non-ascii in email address localpart is legal, so this is a special case
|
||||||
|
self.fp.write(b"%s: %s\n" % (codecs.encode(name, 'ascii'), codecs.encode(val, 'UTF-8', 'replace')))
|
||||||
|
else:
|
||||||
self.fp.write(b"%s: %s\n" % (codecs.encode(name, 'ascii'), codecs.encode(val, 'ascii')))
|
self.fp.write(b"%s: %s\n" % (codecs.encode(name, 'ascii'), codecs.encode(val, 'ascii')))
|
||||||
except:
|
except:
|
||||||
# Don't choke on header fields with non-ascii garbage in them.
|
# Don't choke on header fields with non-ascii garbage in them.
|
||||||
|
|||||||
Reference in New Issue
Block a user