This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit d8bcd447a579f658c9377b178c01608a577c5fc0
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Feb 7 11:58:07 2020 +0700

    JAMES-3043 IMAP selected mailbox checks should rely on mailboxId
    
     Currently they rely on mailboxPath...
    
     Doing them by mailboxId will:
      - avoid a mailboxPath lookup
      - avoid rename concurrency issues
    
     Concerned processors: Append, Select, Examine
---
 .../org/apache/james/imap/processor/AbstractSelectionProcessor.java     | 2 +-
 .../src/main/java/org/apache/james/imap/processor/AppendProcessor.java  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
index e7a1184..f00345e 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
@@ -387,7 +387,7 @@ abstract class AbstractSelectionProcessor<R extends 
AbstractMailboxSelectionRequ
 
         final SelectedMailbox sessionMailbox;
         final SelectedMailbox currentMailbox = session.getSelected();
-        if (currentMailbox == null || 
!currentMailbox.getPath().equals(mailboxPath)) {
+        if (currentMailbox == null || 
!currentMailbox.getMailboxId().equals(mailbox.getId())) {
             
             // QRESYNC EXTENSION
             //
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
index 114281b..707a356 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
@@ -126,7 +126,7 @@ public class AppendProcessor extends 
AbstractMailboxProcessor<AppendRequest> {
             final MailboxSession mailboxSession = session.getMailboxSession();
             final SelectedMailbox selectedMailbox = session.getSelected();
             final MailboxManager mailboxManager = getMailboxManager();
-            final boolean isSelectedMailbox = selectedMailbox != null && 
selectedMailbox.getPath().equals(mailboxPath);
+            final boolean isSelectedMailbox = selectedMailbox != null && 
selectedMailbox.getMailboxId().equals(mailbox.getId());
             final ComposedMessageId messageId = mailbox.appendMessage(message, 
datetime, mailboxSession, !isSelectedMailbox, flagsToBeSet);
             if (isSelectedMailbox) {
                 selectedMailbox.addRecent(messageId.getUid());


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

Reply via email to