You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by ke...@apache.org on 2017/09/28 19:24:01 UTC

allura git commit: fixup! [#8160] Fixes unicode acceptance in handle_artifact_message

Repository: allura
Updated Branches:
  refs/heads/kt/8160 d5bc91c8f -> 5c45dde62


fixup! [#8160] Fixes unicode acceptance in handle_artifact_message


Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/5c45dde6
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/5c45dde6
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/5c45dde6

Branch: refs/heads/kt/8160
Commit: 5c45dde628b49e703b92b046a9e8c8fc2ab5e88a
Parents: d5bc91c
Author: Kenton Taylor <kt...@slashdotmedia.com>
Authored: Thu Sep 28 19:21:19 2017 +0000
Committer: Kenton Taylor <kt...@slashdotmedia.com>
Committed: Thu Sep 28 19:21:19 2017 +0000

----------------------------------------------------------------------
 Allura/allura/app.py            |  2 +-
 Allura/allura/tests/test_app.py | 29 ++++++++++++++++++++++++++++-
 2 files changed, 29 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/allura/blob/5c45dde6/Allura/allura/app.py
----------------------------------------------------------------------
diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index e7c1f1e..937702e 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -712,7 +712,7 @@ class Application(object):
 
             try:
                 fp = StringIO(message['payload'].encode('utf-8'))
-            except UnicodeDecodeError as ex:
+            except UnicodeDecodeError:
                 fp = StringIO(message['payload'])
 
             post.attach(

http://git-wip-us.apache.org/repos/asf/allura/blob/5c45dde6/Allura/allura/tests/test_app.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/test_app.py b/Allura/allura/tests/test_app.py
index 95ef371..926a71b 100644
--- a/Allura/allura/tests/test_app.py
+++ b/Allura/allura/tests/test_app.py
@@ -26,6 +26,7 @@ from formencode import validators as fev
 from alluratest.controller import setup_unit_test
 from allura import app
 from allura.lib.app_globals import Icon
+from allura.lib import mail_util
 
 
 def setUp():
@@ -147,4 +148,30 @@ def test_handle_artifact_unicode(qg):
 
     msg = dict(payload="\x94my quote\x94", message_id=1, headers={})
     a.handle_artifact_message(ticket, msg)
-    assert_equal(post.attach.call_args[0][1].getvalue(), '\x94my quote\x94')
\ No newline at end of file
+    assert_equal(post.attach.call_args[0][1].getvalue(), '\x94my quote\x94')
+
+    # assert against prod example
+    msg_raw = """Message-Id: <15...@webmail.messagingengine.com>
+From: foo <fo...@bar.com>
+To: "[forge:site-support]" <15...@site-support.forge.p.re.sf.net>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Type: multipart/alternative; boundary="_----------=_150235203132168580"
+Date: Thu, 10 Aug 2017 10:00:31 +0200
+Subject: Re: [forge:site-support] #15391 Unable to join (my own) mailing list
+This is a multi-part message in MIME format.
+--_----------=_150235203132168580
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain; charset="utf-8"
+Hi
+--_----------=_150235203132168580
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/html; charset="utf-8"
+<!DOCTYPE html>
+<html><body>Hi</body></html>
+--_----------=_150235203132168580--
+    """
+    msg = mail_util.parse_message(msg_raw)
+    for p in filter(lambda p: p['payload'] != None, msg['parts']):
+        # filter here mimics logic in `route_email`
+        a.handle_artifact_message(ticket, p)