james-project.git
10 hours agoJAMES-3816 Manage IMAP throttling errors (#1225) master
Benoit TELLIER [Thu, 6 Oct 2022 07:05:10 +0000 (14:05 +0700)] 
JAMES-3816 Manage IMAP throttling errors (#1225)

10 hours ago[FIX] Error management for Store (#1224)
Benoit TELLIER [Thu, 6 Oct 2022 07:05:03 +0000 (14:05 +0700)] 
[FIX] Error management for Store (#1224)

Critical to correctly propagate errors.

Replacing by `map` would cause the error not to be catch downstream.
No idea why, failed to reproduce with a test.

Impact: unacknowledged messages for RabbitMQ mailQueue that eventually piles
up to interruption of service.

10 hours ago[UPGRADE] opensearch-rest-high-level-client 2.3.0 -> 2.3.0
Benoit Tellier [Sat, 1 Oct 2022 15:55:17 +0000 (22:55 +0700)] 
[UPGRADE] opensearch-rest-high-level-client 2.3.0 -> 2.3.0

Fixes some of the vulnerabilities within snakeyaml

10 hours ago[UPGRADE] Restassured 5.1.0 -> 5.2.0
Benoit Tellier [Sat, 1 Oct 2022 15:36:01 +0000 (22:36 +0700)] 
[UPGRADE] Restassured 5.1.0 -> 5.2.0

10 hours ago[UPGRADE] optimize import maven dependencies (#1221)
vttran [Thu, 6 Oct 2022 07:04:45 +0000 (14:04 +0700)] 
[UPGRADE] optimize import maven dependencies (#1221)

10 hours ago[Upgrade] Maven netty4 to 4.1.77.Final
Tung Van TRAN [Tue, 20 Sep 2022 09:09:10 +0000 (16:09 +0700)] 
[Upgrade] Maven netty4 to 4.1.77.Final

10 hours ago[Clean] Maven - fix typo
Tung Van TRAN [Tue, 20 Sep 2022 10:55:19 +0000 (17:55 +0700)] 
[Clean] Maven - fix typo

10 hours ago[Upgrade] Maven slf4j 1.7.36 -> 2.0.1
Tung Van TRAN [Tue, 20 Sep 2022 09:09:48 +0000 (16:09 +0700)] 
[Upgrade] Maven slf4j 1.7.36 -> 2.0.1

10 hours ago[Upgrade] Maven logback 1.2.11 -> 1.4.0
Tung Van TRAN [Tue, 20 Sep 2022 09:07:34 +0000 (16:07 +0700)] 
[Upgrade] Maven logback 1.2.11 -> 1.4.0

10 hours ago[Upgrade] Maven com.fasterxml.jackson.dataformat:jackson-dataformat-cbor 2.13.1 ...
Tung Van TRAN [Tue, 20 Sep 2022 09:06:34 +0000 (16:06 +0700)] 
[Upgrade] Maven com.fasterxml.jackson.dataformat:jackson-dataformat-cbor 2.13.1 -> 2.13.4

10 hours ago[Upgrade] Maven org.apache.activemq:activemq-broker 5.17.1 -> 5.17.2
Tung Van TRAN [Fri, 16 Sep 2022 10:21:10 +0000 (17:21 +0700)] 
[Upgrade] Maven org.apache.activemq:activemq-broker 5.17.1 -> 5.17.2

10 hours agoJAMES-3775 Decrease slightly Rspamd task concurrency (#1229)
Benoit TELLIER [Thu, 6 Oct 2022 07:03:40 +0000 (14:03 +0700)] 
JAMES-3775 Decrease slightly Rspamd task concurrency (#1229)

Attempts to load too much messages at once...

10 hours agoJAMES-3831 Specification for JMAP Mail RFC-8631 Identity sortOrder additional propert...
Benoit TELLIER [Thu, 6 Oct 2022 07:03:23 +0000 (14:03 +0700)] 
JAMES-3831 Specification for JMAP Mail RFC-8631 Identity sortOrder additional property (#1228)

2 days agoJAMES-3771 Fix elasticsearch -> opensearch typo (#1219)
Benoit TELLIER [Tue, 4 Oct 2022 02:20:03 +0000 (09:20 +0700)] 
JAMES-3771 Fix elasticsearch -> opensearch typo (#1219)

* JAMES-3771 Fix elasticsearch -> opensearch typo

* fixup! JAMES-3771 Fix elasticsearch -> opensearch typo

2 days agoJAMES-3826 Example and documentation
Quan Tran [Fri, 30 Sep 2022 09:06:19 +0000 (16:06 +0700)] 
JAMES-3826 Example and documentation

2 days agoJAMES-3826 Introduce loading additional healthcheck mechanism
Quan Tran [Fri, 30 Sep 2022 08:12:53 +0000 (15:12 +0700)] 
JAMES-3826 Introduce loading additional healthcheck mechanism

2 days agoJAMES-3828 Remove unused code
Benoit Tellier [Sun, 2 Oct 2022 06:32:15 +0000 (13:32 +0700)] 
JAMES-3828 Remove unused code

2 days agoJAMES-3828 Fix AttributeValue serialization for calendar related mailet
Benoit Tellier [Fri, 30 Sep 2022 01:29:31 +0000 (08:29 +0700)] 
JAMES-3828 Fix AttributeValue serialization for calendar related mailet

2 days agoJAMES-3828 AttributeValue should reject invalid type parameters early
Benoit Tellier [Thu, 29 Sep 2022 04:51:29 +0000 (11:51 +0700)] 
JAMES-3828 AttributeValue should reject invalid type parameters early

2 days agoJAMES-3828 Smarter duplication for AttributeValue
Benoit Tellier [Thu, 29 Sep 2022 04:50:48 +0000 (11:50 +0700)] 
JAMES-3828 Smarter duplication for AttributeValue

Embed type dependant knowledge onto the serializer and do type specific optimization
to avoid the serialization/deserialization upon splitting emails.

2 days agoJAMES-3825 Task to clean up tasks (#1208)
vttran [Tue, 4 Oct 2022 02:18:24 +0000 (09:18 +0700)] 
JAMES-3825 Task to clean up tasks  (#1208)

3 days agoJAMES-3827 Improve indexing of email address domains (#1212)
Benoit TELLIER [Mon, 3 Oct 2022 01:36:17 +0000 (08:36 +0700)] 
JAMES-3827 Improve indexing of email address domains (#1212)

Given an email with `bob@domain.tld`

-> `bob@domain.tld` matches
-> `bob` (localpart) matches
-> `domain.tld` (domain) matches
-> `domain` (part of the domain) do not match.

I think we could easily propose a better 'search experience' by improving indexing and searches for domains.

Traps to avoid:

Given `bob@domain.tld` search we should not return results of other addresses of `domain.tld` domain.

Given `domain.tld` search we should not return unrelated search results from the `tld` top-domain.

migration strategy will be aturaly covered upon the OpenSearch migr

3 days agoJAMES-3820 fix mailet integration tests
ouvtam [Wed, 28 Sep 2022 20:28:31 +0000 (22:28 +0200)] 
JAMES-3820 fix mailet integration tests

3 days agoJAMES-3820 reintroduce RcptHook for handlers that allow running James as MSA or MTA...
ouvtam [Tue, 27 Sep 2022 20:03:29 +0000 (22:03 +0200)] 
JAMES-3820 reintroduce RcptHook for handlers that allow running James as MSA or MTA and update SMTP integration tests

3 days agoJAMES-3820 fix missing renames of SenderAuthIdentifyVerificationHook
ouvtam [Mon, 26 Sep 2022 07:01:29 +0000 (09:01 +0200)] 
JAMES-3820 fix missing renames of SenderAuthIdentifyVerificationHook

3 days agoJAMES-3820 fix checkstyle warnings for SPFHandler
ouvtam [Mon, 26 Sep 2022 06:11:21 +0000 (08:11 +0200)] 
JAMES-3820 fix checkstyle warnings for SPFHandler

3 days agoJAMES-3820 remove RcptHook from SPFHandler because handling SPF happens on MAIL FROM...
ouvtam [Sun, 25 Sep 2022 18:00:59 +0000 (20:00 +0200)] 
JAMES-3820 remove RcptHook from SPFHandler because handling SPF happens on MAIL FROM and not RCPT TO

3 days agoJAMES-3820 change ResolvableEhloHeloHandler from RcptHook to MailHook (bad helo names...
ouvtam [Sun, 25 Sep 2022 18:00:41 +0000 (20:00 +0200)] 
JAMES-3820 change ResolvableEhloHeloHandler from RcptHook to MailHook (bad helo names should fail unless AUTH is successful)

3 days agoJAMES-3820 change SenderAuthIdentifyVerificationHook from RcptHook to MailHook (sende...
ouvtam [Sun, 25 Sep 2022 18:00:18 +0000 (20:00 +0200)] 
JAMES-3820 change SenderAuthIdentifyVerificationHook from RcptHook to MailHook (sender verification happens on MAIL FROM)

3 days agoJAMES-3820 implement DNSRBLHandler as a MailHook instead of RcptHook to call it as...
ouvtam [Sun, 25 Sep 2022 14:16:13 +0000 (16:16 +0200)] 
JAMES-3820 implement DNSRBLHandler as a MailHook instead of RcptHook to call it as soon as possible after SMTP authentication

3 days agoJAMES-3825 Cancel tasks upon graceful shutdown (#1214)
Benoit TELLIER [Mon, 3 Oct 2022 01:33:38 +0000 (08:33 +0700)] 
JAMES-3825 Cancel tasks upon graceful shutdown (#1214)

Today when I shut down James, the associated tasks runs forever.

With this change James attempts to cancel currently running task upon shutdown.

3 days ago[FIX] DownloadRoutes: reactify attachmentExists
Benoit Tellier [Thu, 29 Sep 2022 07:41:55 +0000 (14:41 +0700)] 
[FIX] DownloadRoutes: reactify attachmentExists

3 days ago[FIX] Avoid always logging "not found" upon JMAP draft downloads
Benoit Tellier [Thu, 29 Sep 2022 07:38:25 +0000 (14:38 +0700)] 
[FIX] Avoid always logging "not found" upon JMAP draft downloads

Even when found we were logging "not found", trying to send 404, failing as
headers were already sent, handling internal error, failing again...

Not critical but results in a LOT of logging noise.

3 days agoJAMES-3604 Fix issue when creating quorum rabbitmq queues (#1216)
Rene Cordier [Mon, 3 Oct 2022 01:33:08 +0000 (08:33 +0700)] 
JAMES-3604 Fix issue when creating quorum rabbitmq queues (#1216)

We can't create a quorum queue and mark it as auto-delete, RabbitMQ does not allow it. So we keep the jmap event bus notification queues as classic for now.

3 days agoJAMES-3775 Prevent verbose logs for Rspamd FeedSpam when Spam mailbox do not exists...
Benoit TELLIER [Mon, 3 Oct 2022 01:32:57 +0000 (08:32 +0700)] 
JAMES-3775 Prevent verbose logs for Rspamd FeedSpam when Spam mailbox do not exists (#1218)

8 days ago[JAMES-3696] makes PulsarMailQueue tests more stable
Jean Helou [Mon, 26 Sep 2022 11:02:25 +0000 (13:02 +0200)] 
[JAMES-3696] makes PulsarMailQueue tests more stable

Previous to this patch, filter registration was going through a pulsar delivery even for non distributed james. This meant tests that verify the filtering behaviour had to wait for the message to be consumed back from the queue.

This lead us to introduce an artificial wait to ensure that the filter was correctly registered. Unfortunately, the delay was not always enough, especially on the CI which lead to flaky tests.

I propose to add a small optmization which registers the filter with the receiving instance synchronously before publishing it to pulsar.
This way, the wait time to filter  registration can be much smaller.

Because the filter stage uses a set, adding the same filter multiple times should have a negligible impact on performances.

8 days agoJAMES-3813 Module chooser for DeletedMessagesVault on Cassandra based… (#1195)
Benoit TELLIER [Wed, 28 Sep 2022 09:38:54 +0000 (16:38 +0700)] 
JAMES-3813 Module chooser for DeletedMessagesVault on Cassandra based… (#1195)

8 days ago[UPGRADE] scala-library 2.13.7 -> 2.13.9 (#1210)
Benoit TELLIER [Wed, 28 Sep 2022 02:55:11 +0000 (09:55 +0700)] 
[UPGRADE] scala-library 2.13.7 -> 2.13.9 (#1210)

9 days ago[JAMES-3805] adds missing license header
Jean Helou [Tue, 27 Sep 2022 09:17:08 +0000 (11:17 +0200)] 
[JAMES-3805] adds missing license header

11 days agoJAMES-3817 Integration tests for health check
Quan Tran [Wed, 21 Sep 2022 08:33:25 +0000 (15:33 +0700)] 
JAMES-3817 Integration tests for health check

Make sure dead letter queue healthchecks are binded well

11 days agoJAMES-3817 Implement health check for RabbitMQ dead letter queues of event bus
Quan Tran [Tue, 20 Sep 2022 10:08:31 +0000 (17:08 +0700)] 
JAMES-3817 Implement health check for RabbitMQ dead letter queues of event bus

Degraded if dead letter queues length are not equal to 0.

11 days agoJAMES-3817 Implement health check for RabbitMQ dead letter queue of mail queue
Quan Tran [Tue, 20 Sep 2022 09:13:41 +0000 (16:13 +0700)] 
JAMES-3817 Implement health check for RabbitMQ dead letter queue of mail queue

Degraded if dead letter queue length is not equal to 0.

11 days agoJAMES-3817 RabbitMQManagementAPI should parse the queue length property (`messages...
Quan Tran [Tue, 20 Sep 2022 08:01:19 +0000 (15:01 +0700)] 
JAMES-3817 RabbitMQManagementAPI should parse the queue length property (`messages`) when getting Queue details

13 days ago[CONF] Remove vendor URLs from smtpserver.xml default configuration examples (#1204)
Benoit TELLIER [Fri, 23 Sep 2022 01:45:10 +0000 (08:45 +0700)] 
[CONF] Remove vendor URLs from smtpserver.xml default configuration examples (#1204)

2 weeks ago[FIX] Now that IMAP is reactive `maxExecutorCount` had been dropped (#1201)
Benoit TELLIER [Thu, 22 Sep 2022 02:50:35 +0000 (09:50 +0700)] 
[FIX] Now that IMAP is reactive `maxExecutorCount` had been dropped (#1201)

2 weeks ago[BOYSCOUT] Write some missing ADRs regarding recent work (#1196)
Benoit TELLIER [Thu, 22 Sep 2022 02:50:23 +0000 (09:50 +0700)] 
[BOYSCOUT] Write some missing ADRs regarding recent work (#1196)

 - ADR 57: Reactive IMAP
 - ADR 58: Upgrade to Netty 4
 - ADR 59: Upgrade to Cassandra driver 4
 - ADR 60: Adopt bounded elastic
 - ADR 61: Delegation
 - ADR 62: OIDC token introspection
 - ADR 63: Prevent temporary file leaks

2 weeks ago[FIX] S3: apply timeouts configuration (#1202)
Benoit TELLIER [Thu, 22 Sep 2022 02:49:55 +0000 (09:49 +0700)] 
[FIX] S3: apply timeouts configuration (#1202)

2 weeks agoJAMES-3812 Provide a ToPlainText mailet (#1175)
Benoit TELLIER [Thu, 22 Sep 2022 02:49:47 +0000 (09:49 +0700)] 
JAMES-3812 Provide a ToPlainText mailet (#1175)

2 weeks ago[STABILITY] Limit number of threads in parallel when creating cassandra tables
Rene Cordier [Wed, 21 Sep 2022 07:44:20 +0000 (14:44 +0700)] 
[STABILITY] Limit number of threads in parallel when creating cassandra tables

2 weeks agojames-3805 Upgrade a few Pulsar related dependencies
Matthieu Baechler [Tue, 13 Sep 2022 21:05:14 +0000 (23:05 +0200)] 
james-3805 Upgrade a few Pulsar related dependencies

Co-Authored-By: Jean Helou <jhe@codamens.fr>
2 weeks agojames-3805 Upgrade pulsar container to solve a HTTP 500 issue on admin API
Matthieu Baechler [Tue, 13 Sep 2022 20:20:06 +0000 (22:20 +0200)] 
james-3805 Upgrade pulsar container to solve a HTTP 500 issue on admin API

Co-Authored-By: Jean Helou <jhe@codamens.fr>
2 weeks agojames-3805 Fix unstable tests
Matthieu Baechler [Tue, 13 Sep 2022 20:06:46 +0000 (22:06 +0200)] 
james-3805 Fix unstable tests

Co-Authored-By: Jean Helou <jhe@codamens.fr>
2 weeks agojames-3805 fix failing test
Matthieu Baechler [Tue, 6 Sep 2022 20:48:47 +0000 (22:48 +0200)] 
james-3805 fix failing test

Co-Authored-By: Jean Helou <jhe@codamens.fr>
2 weeks agoUpdate third-party/rspamd/src/test/java/org/apache/james/rspamd/task/FeedHamToRspamdT...
vttran [Mon, 19 Sep 2022 06:40:15 +0000 (13:40 +0700)] 
Update third-party/rspamd/src/test/java/org/apache/james/rspamd/task/FeedHamToRspamdTaskTest.java

Co-authored-by: Rene Cordier <rene.cordier@gmail.com>
2 weeks agoJAMES-3775 Clean code - RspamdHttpClient - remove unused method
Tung Van TRAN [Tue, 13 Sep 2022 09:49:27 +0000 (16:49 +0700)] 
JAMES-3775 Clean code - RspamdHttpClient - remove unused method

2 weeks agoJAMES-3775 Fix - webadmin task should hit to Rspamd server when learning
Tung Van TRAN [Tue, 13 Sep 2022 06:23:09 +0000 (13:23 +0700)] 
JAMES-3775 Fix - webadmin task should hit to Rspamd server when learning

2 weeks agoJAMES-3775 Refactor GetMailboxMessagesService
Tung Van TRAN [Tue, 13 Sep 2022 03:27:12 +0000 (10:27 +0700)] 
JAMES-3775 Refactor GetMailboxMessagesService

- Avoid collectList

2 weeks ago[Clean code] CassandraMessageDAO - check null & remove un-used parameter
Tung Van TRAN [Fri, 16 Sep 2022 01:05:18 +0000 (08:05 +0700)] 
[Clean code] CassandraMessageDAO - check null & remove un-used parameter

2 weeks ago[Upgrade] maven checkstyle to 3.1.2, puppycrawl checkstyle to 10.2 (#1193)
vttran [Mon, 19 Sep 2022 03:00:16 +0000 (10:00 +0700)] 
[Upgrade] maven checkstyle to 3.1.2, puppycrawl checkstyle to 10.2 (#1193)

2 weeks ago[REFACTORING] List users the reactive way (#1187)
Benoit TELLIER [Mon, 19 Sep 2022 02:59:12 +0000 (09:59 +0700)] 
[REFACTORING] List users the reactive way (#1187)

It is very error prone to plug blocking components into a reactive pipeline.
Allowing implementations to pass a reactive version reduces this risk.

2 weeks agoJAMES-3816 ReactiveThrottlerTest: Remove unecessary subscribeOn call
Benoit Tellier [Fri, 16 Sep 2022 14:51:18 +0000 (21:51 +0700)] 
JAMES-3816 ReactiveThrottlerTest: Remove unecessary subscribeOn call

Asynchronous scheduling is not needed and causes test instability

Not needed

2 weeks agoJAMES-3816 Start nested IMAP requests without switching threads
Benoit Tellier [Fri, 16 Sep 2022 14:50:30 +0000 (21:50 +0700)] 
JAMES-3816 Start nested IMAP requests without switching threads

Not needed

2 weeks agoJAMES-3816 IMAP throttler should not await nested tasks
Benoit Tellier [Mon, 12 Sep 2022 12:32:38 +0000 (19:32 +0700)] 
JAMES-3816 IMAP throttler should not await nested tasks

2 weeks agoJAMES-3816 Documentation for IMAP throttling
Benoit Tellier [Fri, 9 Sep 2022 08:45:39 +0000 (15:45 +0700)] 
JAMES-3816 Documentation for IMAP throttling

2 weeks agoJAMES-3816 Allow turning off ReactiveThrottler
Benoit Tellier [Fri, 9 Sep 2022 08:37:53 +0000 (15:37 +0700)] 
JAMES-3816 Allow turning off ReactiveThrottler

2 weeks agoJAMES-3816 Plug ReactiveThrottler into IMAPServer
Benoit Tellier [Fri, 9 Sep 2022 08:23:47 +0000 (15:23 +0700)] 
JAMES-3816 Plug ReactiveThrottler into IMAPServer

2 weeks agoJAMES-3816 throttler for reactive workloads
Benoit Tellier [Mon, 5 Sep 2022 07:27:41 +0000 (14:27 +0700)] 
JAMES-3816 throttler for reactive workloads

2 weeks agoJAMES-2656 - Add initial JPAMailRepository implementation (#1176)
amichair [Fri, 16 Sep 2022 01:10:12 +0000 (04:10 +0300)] 
JAMES-2656 - Add initial JPAMailRepository implementation (#1176)

2 weeks agoAdding myself to developpers
Jean Helou [Thu, 15 Sep 2022 20:35:22 +0000 (22:35 +0200)] 
Adding myself to developpers

3 weeks ago[CHANGELOG] Mention CVE-2022-28220 STARTTLS command injection in Apache JAMES (#1188)
Benoit TELLIER [Thu, 15 Sep 2022 10:21:00 +0000 (12:21 +0200)] 
[CHANGELOG] Mention CVE-2022-28220 STARTTLS command injection in Apache JAMES (#1188)

3 weeks ago[REFACTORING] Cleanup OidcJwtTokenVerifier (#1186)
Benoit TELLIER [Thu, 15 Sep 2022 10:20:50 +0000 (12:20 +0200)] 
[REFACTORING] Cleanup OidcJwtTokenVerifier (#1186)

 - Avoid deprecated methods
 - Remove needless method parameter, type inference is enough

3 weeks agoJAMES-3755 Add a classifiedAsSpam parameter to Rspamd routes (#1172)
Benoit TELLIER [Mon, 12 Sep 2022 15:33:31 +0000 (17:33 +0200)] 
JAMES-3755 Add a classifiedAsSpam parameter to Rspamd routes (#1172)

This allows for instance reporting messages manually reported by the user to the
Spam mailbox with re-reporting messages already classified as Spam by Rspamd,
avoiding creating a positive retro-action loop, and only reporting relevant messages.

Similar for Ham reporting.

3 weeks agoRevert maven-site-plugin to 3.8.2 to fix website build (#1179)
Benoit TELLIER [Mon, 12 Sep 2022 15:33:07 +0000 (17:33 +0200)] 
Revert maven-site-plugin to 3.8.2 to fix website build (#1179)

3 weeks agoJAMES-3815 bodyStartOctet and size should return null value instead of default 0
Quan Tran [Thu, 8 Sep 2022 03:57:33 +0000 (10:57 +0700)] 
JAMES-3815 bodyStartOctet and size should return null value instead of default 0

3 weeks agoJAMES-3815 Handle possible null values (internalDate, bodyStartOctet, size, headerCon...
Quan Tran [Wed, 7 Sep 2022 09:16:30 +0000 (16:16 +0700)] 
JAMES-3815 Handle possible null values (internalDate, bodyStartOctet, size, headerContent) in imapUidTable and messageIdTable

This NPE likely comes from badly applied [Rework message denormalization migration](https://github.com/apache/james-project/blob/master/upgrade-instructions.md#rework-message-denormalization) which creates in `imapUidTable` and `messageIdTable` a few rows with null `internalDate`, `bodyStartOctet`, `fullContentOctets` and `headerContent`.
Now the Cassandra driver 4 code change just triggers that NPE (can not convert a null to Date).

Checked: bodyStartOctet, size, headerContent are already good from NPE

3 weeks ago[DOCUMENTATION] Correct Event Dead Letter webadmin routes documentation (#1184)
Trần Hồng Quân [Fri, 9 Sep 2022 12:02:19 +0000 (19:02 +0700)] 
[DOCUMENTATION] Correct Event Dead Letter webadmin routes documentation (#1184)

action should be reDeliver instead of redeliver.

3 weeks agoJAMES-3775 Rspamd - Fix environment in docker-compose sample
Tung Van TRAN [Thu, 8 Sep 2022 10:45:27 +0000 (17:45 +0700)] 
JAMES-3775 Rspamd - Fix environment in docker-compose sample

4 weeks ago[PERF] Optimize MailboxPath+Username hashcodes
Benoit Tellier [Wed, 31 Aug 2022 14:24:10 +0000 (21:24 +0700)] 
[PERF] Optimize MailboxPath+Username hashcodes

This is called very often when building the maps for very large
Mailbox/get, avoiding a call to [] is worth it.

4 weeks ago[PERF] Switch Mailboxes/get operations to parallel scheduler
Benoit Tellier [Wed, 31 Aug 2022 14:20:34 +0000 (21:20 +0700)] 
[PERF] Switch Mailboxes/get operations to parallel scheduler

Expensive computation performed for large mailboxes count, are
better performed on a thread dedicated to computations

4 weeks agoJAMES-3755 RspamdScanner should specify requiredProcessingState (#1174)
Benoit TELLIER [Tue, 6 Sep 2022 20:05:38 +0000 (03:05 +0700)] 
JAMES-3755 RspamdScanner should specify requiredProcessingState (#1174)

It should advertise virus, rejected processor when specified.

4 weeks agoJAMES-3755 Mention Rspamd on security page (#1177)
Benoit TELLIER [Tue, 6 Sep 2022 20:05:26 +0000 (03:05 +0700)] 
JAMES-3755 Mention Rspamd on security page (#1177)

4 weeks ago[UPGRADE] Bump jsoup from 1.15.1 to 1.15.3 (#1178)
dependabot[bot] [Tue, 6 Sep 2022 20:04:57 +0000 (03:04 +0700)] 
[UPGRADE] Bump jsoup from 1.15.1 to 1.15.3 (#1178)

Bumps [jsoup](https://github.com/jhy/jsoup) from 1.15.1 to 1.15.3.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.15.1...jsoup-1.15.3)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 weeks agoAnnounce CVE-2021-44228 (#1180)
Benoit TELLIER [Sat, 3 Sep 2022 21:55:12 +0000 (04:55 +0700)] 
Announce CVE-2021-44228 (#1180)

4 weeks ago[3.7.1] Downloads
Benoit Tellier [Fri, 26 Aug 2022 07:13:12 +0000 (14:13 +0700)] 
[3.7.1] Downloads

4 weeks ago[3.7.1] Blog post
Benoit Tellier [Fri, 26 Aug 2022 07:06:40 +0000 (14:06 +0700)] 
[3.7.1] Blog post

4 weeks ago[3.7.1] Bump to 3.7.1 in the documentation
Benoit Tellier [Fri, 26 Aug 2022 07:03:50 +0000 (14:03 +0700)] 
[3.7.1] Bump to 3.7.1 in the documentation

4 weeks ago[3.7.1] Upgrade instructions
Benoit Tellier [Fri, 26 Aug 2022 06:49:28 +0000 (13:49 +0700)] 
[3.7.1] Upgrade instructions

4 weeks ago[3.7.1] Date in the changelog
Benoit Tellier [Fri, 26 Aug 2022 06:48:28 +0000 (13:48 +0700)] 
[3.7.1] Date in the changelog

5 weeks agoJAMES-3732 Fix a typo in poms regarding the leak detector (#1170)
Benoit TELLIER [Thu, 1 Sep 2022 15:51:00 +0000 (22:51 +0700)] 
JAMES-3732 Fix a typo in poms regarding the leak detector (#1170)

Disable leak detector in tests as we do not achieve good resource management in
those tests. Enable it selectively in a few relevant projects.

5 weeks agoJAMES-3755 Refactor Rspamd ham/spam routes (#1171)
Benoit TELLIER [Thu, 1 Sep 2022 15:48:42 +0000 (22:48 +0700)] 
JAMES-3755 Refactor Rspamd ham/spam routes (#1171)

 - Avoid intermediate flattening of RunningOptions within additionInformations (we
 were doing RunningOptions (in the task) => flat (in the additionalInformation) =>
 reconstruct the RunningOptions (in the DTOs); everything is simpler by just
 keeping running options everywhere in that chain.
 - Tasks context/snapshot capture what changes during the task execution, we do
 not need to ship running options (which are immutable) within it.
 - Extract RunningOptions to a common class as it is the same between Ham / Spam

5 weeks agoJAMES-3668 Add absolute paths for extra properties file in docker image
Rene Cordier [Tue, 30 Aug 2022 10:16:34 +0000 (17:16 +0700)] 
JAMES-3668 Add absolute paths for extra properties file in docker image

We had issues with the relative path not working with Docker and James not being able to find the file.
Overriding to absolute path should ensure it finds it in this particular case.

5 weeks agoJAMES-3668 Enhance logging experience for extra properties
Rene Cordier [Tue, 30 Aug 2022 10:14:38 +0000 (17:14 +0700)] 
JAMES-3668 Enhance logging experience for extra properties

- Adding an info log when loading extra properties file is a success
- Removing the if statement in the FileNotFoundException case (I had the case with docker and the default relative path missing and without logs it was not trivial to debug)

5 weeks agoJAMES-3793 Add a setting to prevent S3BlobStoreDAO load too big objects in memory
Benoit Tellier [Thu, 25 Aug 2022 14:50:44 +0000 (21:50 +0700)] 
JAMES-3793 Add a setting to prevent S3BlobStoreDAO load too big objects in memory

See https://github.com/aws/aws-sdk-java-v2/issues/3381

5 weeks agoJAMES-3793 S3BlobStoreDAO unbox exception whose cause is an OOM
Benoit Tellier [Thu, 25 Aug 2022 14:35:26 +0000 (21:35 +0700)] 
JAMES-3793 S3BlobStoreDAO unbox exception whose cause is an OOM

See https://github.com/aws/aws-sdk-java-v2/issues/3381

5 weeks ago[CHANGELOG] Refresh CHANGELOG.md as of 26/08/2024 (#1160)
Benoit TELLIER [Tue, 30 Aug 2022 07:31:01 +0000 (14:31 +0700)] 
[CHANGELOG] Refresh CHANGELOG.md as of 26/08/2024 (#1160)

5 weeks ago[BUILD] Reuse FakeSMTP container port 25 (#1163)
Benoit TELLIER [Tue, 30 Aug 2022 07:30:51 +0000 (14:30 +0700)] 
[BUILD] Reuse FakeSMTP container port 25 (#1163)

With this, I run mailet integration tests in 2 min locally

5 weeks ago[BUILD] Reuse forks in RemoteDelivery integration testing (#1165)
Benoit TELLIER [Tue, 30 Aug 2022 07:30:42 +0000 (14:30 +0700)] 
[BUILD] Reuse forks in RemoteDelivery integration testing (#1165)

5 weeks ago[BUILD] Improve OpenSearch isolation strategy (#1166)
Benoit TELLIER [Tue, 30 Aug 2022 07:30:30 +0000 (14:30 +0700)] 
[BUILD] Improve OpenSearch isolation strategy (#1166)

5 weeks agoJAMES-3755 Fix merge conflict (#1167)
Benoit TELLIER [Tue, 30 Aug 2022 05:03:51 +0000 (12:03 +0700)] 
JAMES-3755 Fix merge conflict (#1167)

5 weeks ago[BUILD] Provision Cassandra tables in parallel (#1159)
Benoit TELLIER [Tue, 30 Aug 2022 04:45:18 +0000 (11:45 +0700)] 
[BUILD] Provision Cassandra tables in parallel (#1159)

Localy table creation went from 42s to 6s.