Author: norman
Date: Thu Feb 17 11:39:29 2011
New Revision: 1071584
URL: http://svn.apache.org/viewvc?rev=1071584&view=rev
Log:
Make sure we only consume the line if no literal is used. This also helps for
append requests which were "igoring" the first header of a message. See
JAMES-1199
Modified:
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
Modified:
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java?rev=1071584&r1=1071583&r2=1071584&view=diff
==============================================================================
---
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
(original)
+++
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
Thu Feb 17 11:39:29 2011
@@ -75,10 +75,10 @@ public class ImapRequestFrameDecoder ext
ImapRequestLineReader reader;
// check if we failed before and if we already know how much data we
need to sucess next run
Map<String,Object> attachment = (Map<String, Object>)
ctx.getAttachment();
-
+ int size = -1;
if (attachment.containsKey(NEEDED_DATA)) {
retry = true;
- int size = (Integer) attachment.get(NEEDED_DATA);
+ size = (Integer) attachment.get(NEEDED_DATA);
// now see if the buffer hold enough data to process.
if (size !=
NettyImapRequestLineReader.NotEnoughDataException.UNKNOWN_SIZE && size >
buffer.readableBytes()) {
@@ -158,7 +158,12 @@ public class ImapRequestFrameDecoder ext
try {
ImapMessage message = decoder.decode(reader, (ImapSession)
attributes.get(channel));
- reader.consumeLine();
+
+ // if size is != -1 the case was a literal. if thats the case we
should not consume the line
+ // See JAMES-1199
+ if (size == -1) {
+ reader.consumeLine();
+ }
attachment.clear();
return message;
} catch (NettyImapRequestLineReader.NotEnoughDataException e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]