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
The following commit(s) were added to refs/heads/master by this push:
new 66833c340f [ENHANCEMENT] Allow extending subaddressing (#2946)
66833c340f is described below
commit 66833c340f6fb0af14d005f6543b9d16b299246c
Author: Benoit TELLIER <[email protected]>
AuthorDate: Sat Feb 21 00:18:22 2026 +0100
[ENHANCEMENT] Allow extending subaddressing (#2946)
---
.../java/org/apache/james/transport/mailets/SubAddressing.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java
index 9e0cd4b767..c103041ada 100644
---
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java
+++
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java
@@ -97,7 +97,8 @@ public class SubAddressing extends GenericMailet {
getPathWithCorrectCase(recipient, targetFolder)))));
}
- private Optional<MailboxPath> getPathWithCorrectCase(MailAddress
recipient, String encodedTargetFolder) throws UsersRepositoryException,
MailboxException {
+ // protected for being extended by extensions that provides non #private
email-addressable entities
+ protected Optional<MailboxPath> getPathWithCorrectCase(MailAddress
recipient, String encodedTargetFolder) throws UsersRepositoryException,
MailboxException {
Username recipientUsername = usersRepository.getUsername(recipient);
MailboxSession session =
mailboxManager.createSystemSession(recipientUsername);
String decodedTargetFolder = URLDecoder.decode(encodedTargetFolder,
StandardCharsets.UTF_8);
@@ -117,7 +118,7 @@ public class SubAddressing extends GenericMailet {
});
}
- private void postIfHasRight(Mail mail, MailAddress recipient,
Optional<MailboxPath> targetFolderPath) throws UsersRepositoryException,
MailboxException {
+ protected void postIfHasRight(Mail mail, MailAddress recipient,
Optional<MailboxPath> targetFolderPath) throws UsersRepositoryException,
MailboxException {
if (hasPostRight(mail, recipient, targetFolderPath)) {
StorageDirective.builder().targetFolders(ImmutableList.of(targetFolderPath.get().getName())).build()
.encodeAsAttributes(usersRepository.getUsername(recipient))
@@ -128,7 +129,7 @@ public class SubAddressing extends GenericMailet {
}
}
- private Boolean hasPostRight(Mail mail, MailAddress recipient,
Optional<MailboxPath> targetFolderPath) throws MailboxException,
UsersRepositoryException {
+ protected Boolean hasPostRight(Mail mail, MailAddress recipient,
Optional<MailboxPath> targetFolderPath) throws MailboxException,
UsersRepositoryException {
try {
return targetFolderPath.isPresent() &&
resolvePostRight(retrieveMailboxACL(recipient, targetFolderPath.get()),
mail.getMaybeSender(), recipient);
} catch (MailboxNotFoundException e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]