From 8b7c63dd7369eff2262b6f2a2d574f46a67657a0 Mon Sep 17 00:00:00 2001 From: drebs Date: Thu, 23 Jan 2014 15:34:28 -0200 Subject: Handle upper and lowercase base64 encoded outgoing attachments. --- src/leap/mail/smtp/rfc3156.py | 5 +++-- 1 file 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) -- cgit v1.2.3