james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nor...@apache.org
Subject svn commit: r1101984 - /james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
Date Wed, 11 May 2011 17:16:25 GMT
Author: norman
Date: Wed May 11 17:16:25 2011
New Revision: 1101984

URL: http://svn.apache.org/viewvc?rev=1101984&view=rev
Log:
Correctly handle of BODY[HEADER.FIELDS] in all cases. See IMAP-298

Modified:
    james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java

Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java?rev=1101984&r1=1101983&r2=1101984&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
(original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
Wed May 11 17:16:25 2011
@@ -278,10 +278,20 @@ public final class FetchResponseBuilder 
     private HeaderBodyElement headerBodyElement(final MessageResult messageResult, String
name, List<MessageResult.Header> lines, final int[] path, final boolean isBase) throws
MailboxException {
         final HeaderBodyElement result = new HeaderBodyElement(name, lines);
         // if the size is 2 we had found not header and just want to write the empty line
with CLRF terminated
-        // so check no if there is a content for it. If not we MUST NOT write the empty line
in any case
+        // so check if there is a content for it. If not we MUST NOT write the empty line
in any case
         // as stated in rfc3501
         if (result.size() == 2) {
-            if (content(messageResult, name, path, isBase).size() <= 0) {
+            // Check if its base as this can give use a more  correctly working check
+            // to see if we need to write the newline out to the client. 
+            // This is related to IMAP-298
+            if (isBase) {
+                if (messageResult.getSize() - result.size() <= 0) {
+                    // Seems like this mail has no body 
+                    result.noBody();
+                }
+              
+            } else if (content(messageResult, name, path, isBase).size() <= 0) {
+                // Seems like this mail has no body 
                 result.noBody();
             }
         }



---------------------------------------------------------------------
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