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