You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/03/24 13:03:19 UTC

svn commit: r927023 - /james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java

Author: norman
Date: Wed Mar 24 12:03:19 2010
New Revision: 927023

URL: http://svn.apache.org/viewvc?rev=927023&view=rev
Log:
Use a parser with no line length limit when append messages. Limit the line length should be handled by an smtpserver not the mailboxmanager (IMAP-122)

Modified:
    james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java

Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java?rev=927023&r1=927022&r2=927023&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java Wed Mar 24 12:03:19 2010
@@ -57,6 +57,7 @@ import org.apache.james.imap.store.mail.
 import org.apache.james.imap.store.transaction.TransactionalMapper;
 import org.apache.james.mime4j.MimeException;
 import org.apache.james.mime4j.descriptor.MaximalBodyDescriptor;
+import org.apache.james.mime4j.parser.MimeEntityConfig;
 import org.apache.james.mime4j.parser.MimeTokenStream;
 
 /**
@@ -151,8 +152,13 @@ public abstract class StoreMailbox<Id> i
                 final long uid = mailbox.getLastUid();
                 final int size = messageBytes.length;
                 final int bodyStartOctet = bodyStartOctet(messageBytes);
-                
-                final MimeTokenStream parser = MimeTokenStream.createMaximalDescriptorStream();
+
+                // Disable line length... This should be handled by the smtp server component and not the parser itself
+                // https://issues.apache.org/jira/browse/IMAP-122
+                MimeEntityConfig config = new MimeEntityConfig();
+                config.setMaximalBodyDescriptor(true);
+                config.setMaxLineLen(-1);
+                final ConfigurableMimeTokenStream parser = new ConfigurableMimeTokenStream(config);
                
                 parser.setRecursionMode(MimeTokenStream.M_NO_RECURSE);
                 parser.parse(new ByteArrayInputStream(messageBytes));
@@ -619,4 +625,12 @@ public abstract class StoreMailbox<Id> i
         return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen, isWriteable());
     }
     
+    
+    private final class ConfigurableMimeTokenStream extends MimeTokenStream {
+        
+        public ConfigurableMimeTokenStream(MimeEntityConfig config) {
+            super(config);
+        }
+    }
+    
 }



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