From 62419c327c7bcc29a7ee0ab9299dd1d1f50f7937 Mon Sep 17 00:00:00 2001
From: Matthieu Baechler <matthieu.baechler@gmail.com>
Date: Thu, 17 Sep 2015 10:41:16 +0200
Subject: [PATCH] JAMES-1593 unit test to show geronimo bug

---
 .../apache/james/core/MimeMessageWrapperTest.java  |  31 ++++--
 .../test/java/org/apache/james/core/problem_1.eml  | 106 +++++++++++++++++++++
 2 files changed, 129 insertions(+), 8 deletions(-)
 create mode 100644 container/core/src/test/java/org/apache/james/core/problem_1.eml

diff --git a/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java b/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java
index 8757266..082a575 100644
--- a/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java
+++ b/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java
@@ -18,12 +18,10 @@
  ****************************************************************/
 package org.apache.james.core;
 
-import org.apache.james.lifecycle.api.LifecycleUtil;
-import org.apache.mailet.base.RFC2822Headers;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import javax.mail.util.SharedByteArrayInputStream;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.BufferedReader;
 import java.io.ByteArrayOutputStream;
@@ -31,9 +29,16 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.util.Enumeration;
-import org.junit.After;
+import java.util.Properties;
+
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.internet.MimeMessage;
+import javax.mail.util.SharedByteArrayInputStream;
 
-import static org.junit.Assert.*;
+import org.apache.james.lifecycle.api.LifecycleUtil;
+import org.apache.mailet.base.RFC2822Headers;
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -327,4 +332,14 @@ public class MimeMessageWrapperTest extends MimeMessageFromStreamTest {
         mw.saveChanges();
         assertEquals(body.length(), mw.getSize());
     }
+    
+    @Test
+    public void jiraJames1593() throws MessagingException, IOException {
+        Properties props = System.getProperties();
+        Session session = Session.getDefaultInstance(props);
+        InputStream stream = getClass().getResourceAsStream("problem_1.eml");
+        MimeMessage message = new MimeMessage(session, stream);
+        MimeMessageWrapper wrapper = new MimeMessageWrapper(message);
+        assertEquals("\"base64\"", wrapper.getEncoding());
+    }
 }
diff --git a/container/core/src/test/java/org/apache/james/core/problem_1.eml b/container/core/src/test/java/org/apache/james/core/problem_1.eml
new file mode 100644
index 0000000..c1c39d7
--- /dev/null
+++ b/container/core/src/test/java/org/apache/james/core/problem_1.eml
@@ -0,0 +1,106 @@
+Return-Path: <c@yahoo.com>
+Received: from 10.6.1.81 (EHLO ws1.comp.us/127.0.0.1) ([10.6.1.81])
+          by ws1.comp.us (JAMES SMTP Server ) with ESMTP ID 273836343
+          for <s@yahoo.com>;
+          Fri, 10 Jul 2015 19:30:01 +0000 (UTC)
+Delivered-To: d@f.com
+Received: from 10.6.1.53 (EHLO egate3.comp.us) ([10.6.1.53])
+          by ws1.comp.us (JAMES SMTP Server ) with ESMTP ID 18268234
+          for <d@f.com>;
+          Wed, 08 Jul 2015 19:35:41 +0000 (UTC)
+Received: from nm2-vm2.bullet.mail.ne1.yahoo.com (nm2-vm2.bullet.mail.ne1.yahoo.com [98.138.91.18])
+	(using TLSv1 with cipher RC4-SHA (128/128 bits))
+	(No client certificate requested)
+	by egate3.comp.us (Postfix) with ESMTPS id 5CA816007B
+	for <d@f.com>; Wed,  8 Jul 2015 19:35:28 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1436384127; bh=FSXIN3+naGGGcYCXqSW4VRdVxpAgX6l36HzbsAmcUMs=; h=To:Date:From:Subject:From:Subject; b=aoCPczTdZENebjurWW5X8+IOGzgTp2AJ2TF0Cg5Zr0wCGPnNa3pzLN7XtpcCkQAaHpzpvSn/WLxVosJiV9ylnDyFTJg/i+ik1937k2LTaCP7Dc9bjqLSrZAjFd+u2YalXanSOXrKIz6L05xrwEeIgBV+IvarvleEZ4/mSRtAwKJJ2w8nZOKX1hxJ1uN/rYMUAhNaNnafHKZ9ZTj6Bb2PWQLKylHy98dq48PJYOe757Ns3I5DhxyS1swVvuNv7ROj1ix+wIK5vgchMliF5C50IAF4HZ9GZwlBCSUUV6C0fiyp7p2MbtDO1cdNGzUUAyrSt9UiwBX/OyIkPcya7Bzxjg==
+Received: from [98.138.226.176] by nm2.bullet.mail.ne1.yahoo.com with NNFMP; 08 Jul 2015 19:35:27 -0000
+Received: from [98.138.226.56] by tm11.bullet.mail.ne1.yahoo.com with NNFMP; 08 Jul 2015 19:35:27 -0000
+Received: from [127.0.0.1] by smtp207.mail.ne1.yahoo.com with NNFMP; 08 Jul 2015 19:35:27 -0000
+X-Yahoo-Newman-Id: 948689.21253.bm@smtp207.mail.ne1.yahoo.com
+Message-ID: <948689.21253.bm@smtp207.mail.ne1.yahoo.com>
+X-Yahoo-Newman-Property: ymail-5
+X-YMail-OSG: PKdW3f0VM1mqo5bJtNcAn9nrmSrO6somPjt3dkTFZefq.k9
+ 8mtErk2hfr0pzo.g4.3D1TYDy1yPA52CEt1K7yWtY4G54.wVaqrTbNsp1SHi
+ YOVrR_WNprH82OItTUXOWs4b6tIZjrnQwhvgiYNQ0v0y.5mavYexI7V7vHjE
+ AQau2gFnHDMI4VkGKk5VtkVYo7m9kyLljxFn6JBpDfm2BHCQ6nB44vr_KEGb
+ fu4siLPPBgE3DD2x1jPSgZuePniFPh94ohDe_ZDsbYXPM4Fy1udmEuial5Me
+ lrgOmh8mjeybAFdj_y4kbpHb.xjlxg_AgrZEY5LjdL2_xp8JljEZyvKo5ccA
+ CTVQSOEe5m8qlhRIWMGLqqp3DLOBwgQ4lKfOXyt3.MaFgClF1yPm5aSFxG.g
+ O52rSXRe9QwcFLgeLk3U6h2fuUGnH4Ejw75ni0rPKFEBQn9y0X3vVtjgQPbc
+ K3fZUXI48vD3IjhR4ZdnoRfuJDmdgjmV_MbGVQ_IglrFNWe5dKb0WmCr455A
+ E.B_E_RcROdsq06R72Be7Nap1ySUo
+X-Yahoo-SMTP: P5ZpI6KswBDOCixizgOFZTojz9DhLg.Dm91rJ0th
+To: <d@f.com>
+Date: Wed, 8 Jul 2015 12:35:24 -0700
+From: =?UTF-8?B?QmV2ZXJseSBIaWxscyBNRA0==?=  <c@yahoo.com>
+Subject: =?ISO-8859-1?Q?How=20to=20lift=20saggy=20skin,=20without=20surgery=20(Video)?=
+Msg-Id: <993367577.OlyOp7onoD1vcPAHU+z/IXX2rD.secm@nycaptrentals.com>
+MIME-Version: 1.0
+Content-Type: multipart/alternative;
+              boundary="----=_NextPart_000_0000_047F21AD.5CEFB1C0"
+Content-Transfer-Encoding: "base64"
+X-comp-Information: Please contact administrator@comp.com for more information
+X-comp-ID: 5CA816007B.A1BA5
+X-comp-general: Clean
+X-comp-SpamCheck: spam, SpamAssassin (not cached, score=12.4,
+	required 3, autolearn=disabled, BASE64_LENGTH_79_INF 2.02,
+	BODY_URI_ONLY 1.00, DKIM_ADSP_CUSTOM_MED 0.00, DKIM_SIGNED 0.10,
+	FREEMAIL_FROM 0.00, FROM_EXCESS_BASE64 0.10, HTML_IMAGE_ONLY_12 1.63,
+	HTML_MESSAGE 0.00, HTML_SHORT_LINK_IMG_1 0.14, MIME_HTML_MOSTLY 0.00,
+	MPART_ALT_DIFF 0.72, NML_ADSP_CUSTOM_MED 1.20,
+	RCVD_IN_DNSWL_NONE -0.00, RCVD_IN_MSPIKE_H3 -0.01,
+	RCVD_IN_MSPIKE_WL -0.01, T_DKIM_INVALID 1.50, T_REMOTE_IMAGE 1.00,
+	URIBL_BLOCKED 0.00, URIBL_JP_SURBL 3.00)
+X-comp-SpamScore: 12
+X-comp-MS-From: c@yahoo.com
+X-comp-MS-To: d@f.com
+X-comp-MailScanner-EFA-Watermark: 1436988933.03787@tgm7N3HAp9LNVdYDmYEALA
+X-Spam-Status: Yes
+
+This is a multi-part message in MIME format.
+
+------=_NextPart_000_0000_047F21AD.5CEFB1C0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 8bit
+
+d
+
+
+------=_NextPart_000_0000_047F21AD.5CEFB1C0
+Content-Type: text/html; charset=ISO-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: Base64
+
+PHRpdGxlPiB3YXRlcm1lbG9uIGJlc291Z2h0IHRvd2FyZCBkeW5hbWl0ZSBz
+YW5hdG9yaWEuPC90aXRsZT4NCjxjZW50ZXI+DQo8YSBocmVmPSJodHRwOi8v
+RUozOXFkaGVUNjVDNGowMHEubnljYXB0cmVudGFscy5jb20vNlJXNDdBRVkw
+QW9Pb0FzVTEvcmVmZXIyNTUzNTMtMTI0NzYuYXNwP2U9ZG9uc2hlbGJAZmlk
+bmV0LmNvbSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7Zm9udC1m
+YW1pbHk6REVTREVNT05BO2NvbG9yOkdyZXk7dGV4dC1kZWNvcmF0aW9uOm5v
+bmUiPg0KPGltZyBib3JkZXI9IjAiIGFsdD0iTm8gc3VyZ2VyeSBzYWdneSBz
+a2luIHJlZHVjdGlvbiBhdCBob21lIiBzcmM9Imh0dHA6Ly9UYmw3cjFuODhq
+ay5ueWNhcHRyZW50YWxzLmNvbS80MDBKeTFXNDdPMTNlL205Nzg0Ni0xMjQ3
+Ni5hc3AiPjwvYT48L3NwYW4+PGJyPg0KPGEgaHJlZj0iaHR0cDovL0w5dkdv
+eDh1S2wzLm55Y2FwdHJlbnRhbHMuY29tL3d5azZibGFjM0EvdTE0MzA1ODQt
+MTI0NzYuYXNwIj4gDQo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vTDgx
+VTVndGdsRHVpaXAxZzZZYi5ueWNhcHRyZW50YWxzLmNvbS9Jb3BFTmhzOTIy
+L2YxMjgtMTI0NzYuYXNwIj48L2E+PGJyPg0KPGIgc3R5bGU9ImNvbG9yOiNm
+ZmZmZmY7IGZvbnQtc2l6ZTowLjA5bW07IGxpbmUtaGVpZ2h0OjAuMDYybW0i
+Pg0KPGEgaHJlZj0iaHR0cDovL255Y2FwdHJlbnRhbHMuY29tLzhkTE1iRjdD
+dGUvcmVmZXI2MzIxOTEtMTI0NzYuYXNwP2U9ZG9uc2hlbGJAZmlkbmV0LmNv
+bSZ0PXgiPjwvQT48IS0tICJueWNhcHRyZW50YWxzLmNvbSIgLS0+PEEgaHJl
+Zj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iaWYgKGNvbmZpcm0o
+J1RoZSBmb2xsb3dpbmcgbGluayBtYXkgbm90IGJlIGxlZ2l0aW1hdGUgYmVj
+YXVzZSBpdHMgZGVzdGluYXRpb24gZG9lcyBub3QgbWF0Y2ggdGhlIGxpbmsg
+dGhhdCBpcyBiZWluZyBkaXNwbGF5ZWQuIEFyZSB5b3Ugc3VyZSB5b3Ugd2Fu
+dCB0byBlbmFibGUgdGhpcyBsaW5rPyBOb3RlOiBZb3Ugd2lsbCBuZWVkIHRv
+IGNsaWNrIHRoZSBsaW5rIGFnYWluIHRvIHByb2NlZWQuJykpIHsgdGhpcy5w
+cmV2aW91c1NpYmxpbmcucHJldmlvdXNTaWJsaW5nLmlubmVySFRNTD10aGlz
+LmlubmVySFRNTDsgdGhpcy5pbm5lckhUTUw9Jyc7IH0iPiANCjxpbWcgc3Jj
+PSJodHRwOi8vbnljYXB0cmVudGFscy5jb20vRDZvUVFRUi9yZWZlcjQxMjA4
+NC0xMjQ3Ni5hc3A/ZT1kb25zaGVsYkBmaWRuZXQuY29tJnQ9diIgYm9yZGVy
+PSIwIjwvYT48L2I+PGJyPg0KPC9jZW50ZXI+DQogCg==
+
+------=_NextPart_000_0000_047F21AD.5CEFB1C0--
-- 
2.5.1

