This is an automated email from the ASF dual-hosted git repository. chibenwa pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 06d26702e0d31cf01b4da3a98c999623372418b3 Author: Benoit TELLIER <[email protected]> AuthorDate: Tue Jun 23 15:13:42 2026 +0200 [FIX] findNonPersonalMailboxes: handle null rights --- .../org/apache/james/mailbox/postgres/mail/PostgresMailboxMapper.java | 3 ++- .../james/mailbox/postgres/mail/RLSSupportPostgresMailboxMapper.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresMailboxMapper.java b/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresMailboxMapper.java index e68bb3f185..51d08e038d 100644 --- a/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresMailboxMapper.java +++ b/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresMailboxMapper.java @@ -90,8 +90,9 @@ public class PostgresMailboxMapper implements MailboxMapper { } public Flux<Mailbox> findNonPersonalMailboxes(Username userName, MailboxACL.Right right) { + MailboxACL.EntryKey entryKey = MailboxACL.EntryKey.createUserEntryKey(userName); return postgresMailboxDAO.findMailboxesByUsername(userName) - .filter(postgresMailbox -> postgresMailbox.getACL().getEntries().get(MailboxACL.EntryKey.createUserEntryKey(userName)).contains(right)) + .filter(postgresMailbox -> postgresMailbox.getACL().getEntries().getOrDefault(entryKey, MailboxACL.NO_RIGHTS).contains(right)) .map(Function.identity()); } diff --git a/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/RLSSupportPostgresMailboxMapper.java b/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/RLSSupportPostgresMailboxMapper.java index efa77a24eb..b5ed451a12 100644 --- a/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/RLSSupportPostgresMailboxMapper.java +++ b/mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/RLSSupportPostgresMailboxMapper.java @@ -47,11 +47,12 @@ public class RLSSupportPostgresMailboxMapper extends PostgresMailboxMapper { @Override public Flux<Mailbox> findNonPersonalMailboxes(Username userName, MailboxACL.Right right) { + MailboxACL.EntryKey entryKey = MailboxACL.EntryKey.createUserEntryKey(userName); return postgresMailboxMemberDAO.findMailboxIdByUsername(userName) .collectList() .filter(postgresMailboxIds -> !postgresMailboxIds.isEmpty()) .flatMapMany(postgresMailboxDAO::findMailboxByIds) - .filter(postgresMailbox -> postgresMailbox.getACL().getEntries().get(MailboxACL.EntryKey.createUserEntryKey(userName)).contains(right)) + .filter(postgresMailbox -> postgresMailbox.getACL().getEntries().getOrDefault(entryKey, MailboxACL.NO_RIGHTS).contains(right)) .map(Function.identity()); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
