Author: norman
Date: Fri Feb 4 12:50:45 2011
New Revision: 1067173
URL: http://svn.apache.org/viewvc?rev=1067173&view=rev
Log:
Set a higher default for the max linelength when using imap. Related to
JAMES-1190
Modified:
james/server/trunk/container-spring/src/main/config/james/imapserver.xml
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
Modified:
james/server/trunk/container-spring/src/main/config/james/imapserver.xml
URL:
http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/config/james/imapserver.xml?rev=1067173&r1=1067172&r2=1067173&view=diff
==============================================================================
--- james/server/trunk/container-spring/src/main/config/james/imapserver.xml
(original)
+++ james/server/trunk/container-spring/src/main/config/james/imapserver.xml
Fri Feb 4 12:50:45 2011
@@ -27,6 +27,10 @@
</tls>
<!-- COMPRESS extension -->
<compress>false</compress>
+
+ <!-- Maximal allowed line-length before a BAD response will get returned to
the client -->
+ <!-- This should be set with caution as a to high value can make the server
a target for DOS! -->
+ <maxLineLength>65536</maxLineLength>
<handler>
<connectionLimit> 0 </connectionLimit>
<connectionLimitPerIP> 0 </connectionLimitPerIP>
Modified:
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java?rev=1067173&r1=1067172&r2=1067173&view=diff
==============================================================================
---
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
(original)
+++
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
Fri Feb 4 12:50:45 2011
@@ -58,6 +58,11 @@ public class IMAPServer extends Abstract
private boolean compress;
+ private int maxLineLength;
+
+ // Use a big default
+ public final static int DEFAULT_MAX_LINE_LENGTH = 65536;
+
@Resource(name="imapDecoder")
public void setImapDecoder(ImapDecoder decoder) {
this.decoder = decoder;
@@ -78,6 +83,7 @@ public class IMAPServer extends Abstract
super.doConfigure(configuration);
hello = softwaretype + " Server " + getHelloName() + " is ready.";
compress = configuration.getBoolean("compress", false);
+ maxLineLength = configuration.getInt("maxLineLength",
DEFAULT_MAX_LINE_LENGTH);
}
@@ -106,7 +112,6 @@ public class IMAPServer extends Abstract
// Timeout of 30 minutes See rfc2060 5.4 for details
private final static int TIMEOUT = 30 * 60;
- public final static int MAX_LINE_LENGTH = 8192;
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = pipeline();
@@ -119,7 +124,7 @@ public class IMAPServer extends Abstract
// Add the text line decoder which limit the max line length,
don't strip the delimiter and use CRLF as delimiter
- pipeline.addLast(FRAMER, new
DelimiterBasedFrameDecoder(MAX_LINE_LENGTH, false, Delimiters.lineDelimiter()));
+ pipeline.addLast(FRAMER, new
DelimiterBasedFrameDecoder(maxLineLength, false, Delimiters.lineDelimiter()));
pipeline.addLast(REQUEST_DECODER, new
ImapRequestFrameDecoder(decoder));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]