Author: norman
Date: Fri Jul 15 20:17:45 2011
New Revision: 1147302

URL: http://svn.apache.org/viewvc?rev=1147302&view=rev
Log:
Don't send HIGHESTMODSEQ in when send OK to the CLOSE command. This was stated 
in the errata of QRESYNC. See IMAP-307

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

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java?rev=1147302&r1=1147301&r2=1147302&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
 Fri Jul 15 20:17:45 2011
@@ -19,14 +19,10 @@
 
 package org.apache.james.imap.processor;
 
-import java.util.Iterator;
-
 import org.apache.james.imap.api.ImapCommand;
-import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.ImapSessionUtils;
 import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
-import org.apache.james.imap.api.message.response.StatusResponse.ResponseCode;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.request.CloseRequest;
@@ -35,8 +31,6 @@ import org.apache.james.mailbox.MailboxM
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.MessageRange;
-import org.apache.james.mailbox.MessageManager.MetaData;
-import org.apache.james.mailbox.MessageManager.MetaData.FetchGroup;
 
 public class CloseProcessor extends AbstractMailboxProcessor<CloseRequest> {
 
@@ -50,18 +44,14 @@ public class CloseProcessor extends Abst
             final MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);
             if (mailbox.isWriteable(mailboxSession)) {
 
-                Iterator<Long> expunged = mailbox.expunge(MessageRange.all(), 
mailboxSession);
+                mailbox.expunge(MessageRange.all(), mailboxSession);
                 session.deselect();
-                
-                // Check if some messages was expunged and if QRESYNC was 
enabled. If so we need to respond with an OK response that contain the 
HIGHESTMODSEQ
+
+                // Don't send HIGHESTMODSEQ when close. Like correct in the 
ERRATA of RFC5162
                 //
-                // See RFC5162 3.4. CLOSE Command
-                if (expunged.hasNext() && 
EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_QRESYNC))
 {
-                    MetaData mdata = mailbox.getMetaData(false, 
mailboxSession, FetchGroup.NO_COUNT);
-                    okComplete(command, tag, 
ResponseCode.highestModSeq(mdata.getHighestModSeq()), responder);
-                } else {
-                    okComplete(command, tag, responder);
-                }
+                // See http://www.rfc-editor.org/errata_search.php?rfc=5162
+                okComplete(command, tag, responder);
+               
             }
 
         } catch (MailboxException e) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to