summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2014-01-23 15:34:28 -0200
committerdrebs <drebs@leap.se>2014-01-23 15:40:00 -0200
commit8b7c63dd7369eff2262b6f2a2d574f46a67657a0 (patch)
tree895998d9db94fbe44bbc0efd763d5ce075bbfadd /src
parent47cf90aee363c8ab3e7181355d4a61cfc3612ec7 (diff)
Handle upper and lowercase base64 encoded outgoing attachments.
Diffstat (limited to 'src')
-rw-r--r--src/leap/mail/smtp/rfc3156.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/leap/mail/smtp/rfc3156.py b/src/leap/mail/smtp/rfc3156.py
index 2c6d4a7..62a0675 100644
--- a/src/leap/mail/smtp/rfc3156.py
+++ b/src/leap/mail/smtp/rfc3156.py
@@ -147,14 +147,15 @@ def encode_base64(msg):
:type msg: email.message.Message
"""
encoding = msg.get('Content-Transfer-Encoding', None)
+ if encoding is not None:
+ encoding = encoding.lower()
# XXX Python's email module can only decode quoted-printable, base64 and
# uuencoded data, so we might have to implement other decoding schemes in
# order to support RFC 3156 properly and correctly calculate signatures
# for multipart attachments (eg. 7bit or 8bit encoded attachments). For
# now, if content is already encoded as base64 or if it is encoded with
# some unknown encoding, we just pass.
- if encoding is None or encoding.lower() in ['quoted-printable',
- 'x-uuencode', 'uue', 'x-uue']:
+ if encoding in [None, 'quoted-printable', 'x-uuencode', 'uue', 'x-uue']:
orig = msg.get_payload(decode=True)
encdata = _bencode(orig)
msg.set_payload(encdata)