james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From b...@apache.org
Subject svn commit: r383945 - in /james/server/trunk/src: java/org/apache/james/transport/mailets/AddFooter.java test/org/apache/james/transport/mailets/AddFooterTest.java
Date Tue, 07 Mar 2006 17:58:14 GMT
Author: bago
Date: Tue Mar  7 09:58:13 2006
New Revision: 383945

URL: http://svn.apache.org/viewcvs?rev=383945&view=rev
Log:
Applied patch for JAMES-443 (thanks to Norman Maurer)
Also added a test to AddFooterTest as proof of the issue/patch.

Modified:
    james/server/trunk/src/java/org/apache/james/transport/mailets/AddFooter.java
    james/server/trunk/src/test/org/apache/james/transport/mailets/AddFooterTest.java

Modified: james/server/trunk/src/java/org/apache/james/transport/mailets/AddFooter.java
URL: http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/mailets/AddFooter.java?rev=383945&r1=383944&r2=383945&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/transport/mailets/AddFooter.java (original)
+++ james/server/trunk/src/java/org/apache/james/transport/mailets/AddFooter.java Tue Mar
 7 09:58:13 2006
@@ -214,9 +214,11 @@
             MimeMultipart multipart = (MimeMultipart)part.getContent();
             MimeBodyPart firstPart = (MimeBodyPart)multipart.getBodyPart(0);
             boolean isFooterAttached = attachFooter(firstPart);
-            //We have to do this because of a bug in JavaMail (ref id 4403733)
-            //http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4403733
-            part.setContent(multipart);
+            if (isFooterAttached) {
+                //We have to do this because of a bug in JavaMail (ref id 4403733)
+                //http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4403733
+                part.setContent(multipart);
+            }
             return isFooterAttached;
         } else if (part.isMimeType("multipart/alternative")) {
             MimeMultipart multipart = (MimeMultipart)part.getContent();
@@ -228,9 +230,11 @@
                 MimeBodyPart mimeBodyPart = (MimeBodyPart)multipart.getBodyPart(index);
                 isFooterAttached |= attachFooter(mimeBodyPart);
             }
-            //We have to do this because of a bug in JavaMail (ref id 4403733)
-            //http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4403733
-            part.setContent(multipart);
+            if (isFooterAttached) {
+                //We have to do this because of a bug in JavaMail (ref id 4403733)
+                //http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4403733
+                part.setContent(multipart);
+            }
             return isFooterAttached;
         } else {
             //Give up... we won't attach the footer to this MimePart

Modified: james/server/trunk/src/test/org/apache/james/transport/mailets/AddFooterTest.java
URL: http://svn.apache.org/viewcvs/james/server/trunk/src/test/org/apache/james/transport/mailets/AddFooterTest.java?rev=383945&r1=383944&r2=383945&view=diff
==============================================================================
--- james/server/trunk/src/test/org/apache/james/transport/mailets/AddFooterTest.java (original)
+++ james/server/trunk/src/test/org/apache/james/transport/mailets/AddFooterTest.java Tue
Mar  7 09:58:13 2006
@@ -103,6 +103,39 @@
     }
 
     /*
+     * Test for      JAMES-443
+     * This should not add the header and should leave the multipart/mixed Content-Type intact
+     */
+    public void testAddFooterMimeNestedUnsupportedMultipart() throws MessagingException,
IOException {
+
+        // quoted printable mimemessage text/plain
+        String asciisource = "MIME-Version: 1.0\r\n"
+            +"Content-Type: multipart/mixed; boundary=\"===============0204599088==\"\r\n"
+                +"\r\n"
+                +"This is a cryptographically signed message in MIME format.\r\n"
+                +"\r\n"
+                +"--===============0204599088==\r\n"
+                +"Content-Type: multipart/unsupported; boundary=\"------------ms050404020900070803030808\"\r\n"
+                +"\r\n"
+                +"--------------ms050404020900070803030808\r\n"
+                +"Content-Type: text/plain; charset=ISO-8859-1\r\n"
+                +"\r\n"
+                +"test\r\n"
+                +"\r\n"
+                +"--------------ms050404020900070803030808--\r\n"
+                +"\r\n"
+                +"--===============0204599088==--\r\n";
+        // String asciisource = "Subject: test\r\nContent-Type: multipart/mixed; boundary=\"===============0204599088==\"\r\nMIME-Version:
1.0\r\n\r\nThis is a cryptographically signed message in MIME format.\r\n\r\n--===============0204599088==\r\nContent-Type:
text/plain\r\n\r\ntest\r\n--===============0204599088==\r\nContent-Type: text/plain; charset=\"us-ascii\"\r\nMIME-Version:
1.0\r\nContent-Transfer-Encoding: 7bit\r\nContent-Disposition: inline\r\n\r\ntest\r\n--===============0204599088==--\r\n";
+
+        String footer = "------ my footer \u00E0/\u20AC ------";
+
+        String res = processAddFooter(asciisource, footer);
+
+        assertEquals(asciisource, res);
+
+    }
+
+    /*
      * Class under test for String getSubject()
      */
     public void testAddFooterTextPlainCP1252toISO8859() throws MessagingException, IOException
{



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message