From 0ec7027662b6fda1c9969846e6a937e9f98cc7b7 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Tue, 15 Aug 2017 18:35:48 +0200 Subject: [bug] encode pgp/mime parts as 7bit encoding We were encoding some parts as base64 and others with our manual encoders. Let's not do base64 and use the email standard library encoders instead. - Resolves: #8957 --- src/leap/bitmask/mail/rfc3156.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/leap/bitmask/mail/rfc3156.py') diff --git a/src/leap/bitmask/mail/rfc3156.py b/src/leap/bitmask/mail/rfc3156.py index cb592689..7f719f63 100644 --- a/src/leap/bitmask/mail/rfc3156.py +++ b/src/leap/bitmask/mail/rfc3156.py @@ -24,6 +24,7 @@ from StringIO import StringIO from twisted.logger import Logger +from email.encoders import encode_7or8bit from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart from email import errors @@ -361,7 +362,8 @@ class PGPEncrypted(MIMEApplication): def __init__(self, version=1): data = "Version: %d" % version - MIMEApplication.__init__(self, data, 'pgp-encrypted') + MIMEApplication.__init__(self, data, 'pgp-encrypted', + _encoder=encode_7or8bit) class PGPSignature(MIMEApplication): @@ -375,7 +377,7 @@ class PGPSignature(MIMEApplication): """ def __init__(self, _data, name='signature.asc'): MIMEApplication.__init__(self, _data, 'pgp-signature', - _encoder=lambda x: x, name=name) + _encoder=encode_7or8bit, name=name) self.add_header('Content-Description', 'OpenPGP Digital Signature') @@ -390,4 +392,5 @@ class PGPKeys(MIMEApplication): """ def __init__(self, _data): - MIMEApplication.__init__(self, _data, 'pgp-keys') + MIMEApplication.__init__(self, _data, 'pgp-keys', + _encoder=encode_7or8bit) -- cgit v1.2.3