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

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

commit 9f6a148735e276e38949255330e52c3d99b6cde1
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Dec 6 11:53:21 2019 +0700

    MAILBOX-393 Make JMAP Mailbox update rename proof
    
    Before upon concurrent rename, the right can be applied to the wrong 
mailbox, the
    rename could also be applied to the wrong mailbox.
---
 .../apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
index e5d33fa..b64d8d8 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
@@ -259,7 +259,7 @@ public class SetMailboxesUpdateProcessor implements 
SetMailboxesProcessor {
         MailboxPath originMailboxPath = 
mailboxManager.getMailbox(mailbox.getId(), mailboxSession).getMailboxPath();
         MailboxPath destinationMailboxPath = computeNewMailboxPath(mailbox, 
originMailboxPath, updateRequest, mailboxSession);
         if (updateRequest.getSharedWith().isPresent()) {
-            mailboxManager.setRights(originMailboxPath,
+            mailboxManager.setRights(mailbox.getId(),
                 updateRequest.getSharedWith()
                     .get()
                     .removeEntriesFor(originMailboxPath.getUser())
@@ -267,7 +267,7 @@ public class SetMailboxesUpdateProcessor implements 
SetMailboxesProcessor {
                 mailboxSession);
         }
         if (!originMailboxPath.equals(destinationMailboxPath)) {
-            mailboxManager.renameMailbox(originMailboxPath, 
destinationMailboxPath, mailboxSession);
+            mailboxManager.renameMailbox(mailbox.getId(), 
destinationMailboxPath, mailboxSession);
 
             subscriptionManager.unsubscribe(mailboxSession, 
originMailboxPath.getName());
             subscriptionManager.subscribe(mailboxSession, 
destinationMailboxPath.getName());


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

Reply via email to