This is an automated email from the ASF dual-hosted git repository. rcordier pushed a change to branch postgresql in repository https://gitbox.apache.org/repos/asf/james-project.git
omit 2b6f445053 Bump r2dbc-postgresql to 1.0.7.RELEASE omit 9e5c789545 Bump jOOQ to 3.19.13 omit 9c147ea351 Postgres-app: unset JAVA_TOOL_OPTIONS env variable when running james-cli omit 2c45501ec5 JAMES-4054 Remove X-SMIME-Status header in mailetcontainer.xml omit 184585affb [Antora] [PGSQL] Add Extending to postgresql doc omit 36736fc39b [ANTORA] Minimalist placeholder for the 'developing' section omit 98343db147 [ANTORA] Make extending section generic omit b956aeea90 [ANTORA] remove servers/extendable.adoc omit 4552a24dd3 [Antora] Add missing link in run with docker page to james cli commands documentation page omit 0813d672c3 [Antora] Add run section to postgresql documentation omit 788f1abe3f [Antora] [PGSQL] Add Operate section to postgresql doc omit 376628dc69 [Antora] Make partial for server Operate section & clean format omit 8605fe049f [Antora] [PGSQL] Architecture section for postgres doc omit 8682b6ca33 [Antora] Make partial for server Architecture section omit b81b4a640e [Antora] [PGSQL] Add Performance benchmarks section to postgresql doc omit 36a54dd0af [Antora] Make partial for server Benchmarks omit 97a9499b85 [Antora] Clone Benchmarks section files to /partials omit db68a493d5 [Antora] [PGSQL] Add Configuration section to postgresql doc omit e0aebc2f50 [Antora] Make partial for server configure section & clean format omit 402a2fcf8d [Antora] [PGSQL] Objectives and motivation page for postgres doc omit 92ea48d556 [Antora] [PGSQL] Setup postgresql James server documentation section omit 12dc905e53 Fixup - add missing dependencies in apache-james-mpt-smtp-cassandra-rabbitmq-object-storage omit e859fb4673 Disable test: JamesWithNonCompatibleElasticSearchServerTest omit 6ff4b14d88 JAMES-2586 Fixup PostgresPushSubscriptionSetMethodTest - add ClockMQExtension omit 63912605f4 [ENHANCEMENT] Better reactify Identity methods - update for Postgres omit 7bdb02cfd4 JAMES-2586 Fix BlobStoreConfigurationTest omit e4d4f606fd JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline - Update: disabled for cassandra weakWrite omit 68261bed68 JAMES-2586 [PGSQL] Fix checkstyle & adapt code after rebase master omit 8f9a3669cf JAMES-2586 Change boolean rlsEnabled to enum RowLevelSecurity omit f1b7c5e4e1 JAMES-2586 Refactor code after optimizing findNonPersonalMailboxes method - Update AdditionalAlterQuery in PostgresTable - check if upsertACL actually successful - replace batch method - remove duplicated code in PostgresMailboxMapper and RLSSupportPostgresMailboxMapper omit 0da7658139 JAMES-2586 (NON_RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper - create index for mailbox_acl column in case rls is disabled - update findNonPersonalMailboxes method in PostgresMailboxMapper and PostgresMailboxDAO omit 9805a34680 JAMES-2586 (RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper -create new table MailboxMember (username, mailbox_id) -create dao for new table -create RLSSupportPostgresMailboxMapper to use MailboxMember -update bindings to use RLSSupportPostgresMailboxMapper in case rls is enabled omit 9dada183b4 JAMES-2586 - Update primaryKey constraint for Postgres mailbox_change and email_change omit 0d7bc6f930 JAMES-2586 [UPGRADE] Postgres docker image 16.1 -> 16.3 omit 1acd0f0d6f JAMES-2586 [UPGRADE] org.testcontainers:postgresql 1.19.1 -> 1.19.8 omit c02604cb90 JAMES-2586 [UPGRADE] r2dbc.postgresql.version 1.0.4.RELEASE => 1.0.5.RELEASE omit 327b9b765b JAMES-2586 [UPGRADE] jooq 3.19.6 -> 3.19.9 omit e564d8c9df JAMES-2586 Re naming "non-rls" to "by-pass-rls" omit ec4f1621c6 JAMES-2586 Refactor JamesPostgresConnectionFactory: distinctly getConnection api omit 1d15b08488 JAMES-2586 Drop DomainImplPostgresConnectionFactory omit b2648b504a JAMES-2586 Drop SinglePostgresConnectionFactory omit 603fa181a4 JAMES-2586 Clean/Refactor PostgresExtension omit 42763eaf14 JAMES-3946 Add a DropLists postgresql backend (#2290) omit 56fcdc11e4 [BUILD] Increase jOOQ reactive timeout for testing (#2301) omit de6ce6a10a JAMES-2586 - Rename class DeletedMessageVaultDeletionCallback -> PostgresDeletedMessageVaultDeletionCallback (#2280) omit dc784246a7 JAMES-2586 Postgres app should use Java 21 base image (#2277) omit b431995c88 JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline omit f2e513b340 JAMES-2586 Update PoolBackedPostgresConnectionFactory to avoid running set-domain command in case of empty domain omit 425388d5c8 JAMES-2586 Create rls-bypass instance for PoolBackedPostgresConnectionFactory omit 0611ca7dfd JAMES-2586 Fix some disabled tests in PostgresBlobStoreDAOTest by using connection pool omit 40d0dd37a1 JAMES-2586 Close postgres connections when the app shutdown omit 3d140367ad JAMES-2586 Add connection pool config to PostgresConfiguration omit 3d6217eb06 JAMES-2586 Update PostgresCommonModule to use PoolBackedPostgresConnectionFactory omit 8743bcffd1 JAMES-2586 Implement PoolBackedPostgresConnectionFactory omit 7e9c7451c4 JAMES-2586 Disable some unstable tests of PostgresBlobStoreDAOTest omit 7de8626ae8 [BUILD] Jenkinsfile - add module server/blob/blob-postgres omit 04c09e8fd9 JAMES-2586 [UPDATE] [PGSQL] more javax APIs migrated to jakarta omit 889adec04e JAMES-2586 Update postgresql guice binding - adapt after rebase master (remove Jmap draft) omit 0436dde153 JAMES-2586 Create metrics for PostgresExecutor omit ed45c1f5b4 JAMES-2586 Mitigate fix for https://github.com/jOOQ/jOOQ/issues/16556 omit e9f2d89e83 JAMES-2586 Apply reactor timeout for jOOQ omit f81a302914 JAMES-2586 Enable flaky tests in PostgresEmailQueryMethodTest omit 44bc5dddc6 JAMES-2586 Fix flaky tests in EmailQueryMethodTest omit 78bd3374f3 JAMES-2586 PopulateEmailQueryViewTask should not hang for postgres-app (#2179) omit 053647a904 JAMES-2586 - Postgres - Binding ACLUpdated Event DTO omit 5bf1641b8b JAMES-2586 - Postgres - Bind DistributedTaskSerializationModule into postgres-app omit dd24324775 JAMES-2586 Add binding for DKIMMailetModule omit 30479edcc8 JAMES-2586 Do not use ActiveMQ mail queue when distributed mode omit 38568af419 JAMES-2586 Add missing cleanup task webadmin routes omit 7b62221540 JAMES-2586 Disable DistributedTaskSerializationModule omit ace57621a7 JAMES-2586 Guice binding Distributed TaskManager for postgres-app omit 70356d0b23 JAMES-2586 Relax TaskExecutionDetailsProjectionContract: can compare ZonedDateTime(s) with different timezones omit 217c55ab4d JAMES-2586 Implement PostgresTaskExecutionDetailsProjection omit 90ac74931d JAMES-2586 Introduce module task-postgres omit b3b5cab697 Revert "Provision Current Quota when MailboxAdded event" omit 181c403eaf JAMES-2586 - [Revert] Optimize query increase/decrease for Quota Current Value omit b1b128e3f9 JAMES-2586 Postgres - Guice binding EventDTO for FilteringRuleSetDefine omit e0da0dc32e JAMES-2586 Postgres - Guice binding EventDTO for DLP Configuration omit 5db5a362b8 JAMES-2586 Postgres - Binding QuotaMailing module for postgres app Tung Tran 10 minutes ago omit 119208ddb3 Refactor cassandra-quota-mailing: using the QuotaDTO event and related classes from quota-mailing module omit 5c4f223d49 Duplicated the QuotaDTO event and related classes from quota-mailing-cassandra to quota-mailing module omit 1f317c3d7b JAMES-2586 Update Guice binding Postgres (#2154) omit 594e3e277a JAMES-2586 Add UuidBackedAttachmentIdFactory omit 4da6c32c39 JAMES-2586 Create AttachmentIdFactory omit 8af57db9b2 JAMES-2586 Postgres RewriteTablesTest should not fail unstable test phase omit 3834ef4a63 JAMES-2586 Adapt jooq 3.19.6 change omit cd788ce982 JAMES-2586 Bump r2dbc-postgresql to 1.0.4 omit 33307243c1 JAMES-2586 Bump jOOQ to 3.19.6 omit 45e23138b8 JAMES-2586 Avoid declare jooq and r2dbc-postgresql version in multiple places omit 58f5b7d32c JAMES-2586 Fix MailboxSetMethodContract omit 2feec42b5a JAMES-2586 [REFACTORING] - Extract dedicated class for retrieving Postgres Message omit ac5e255329 JAMES-2586 Avoid sorting PG messages omit c54ccfa273 JAMES-2586 [REFACTORING] - PostgresTableManager - fix incorrect log omit 78c95c057e JAMES-2586 Refactor the handle way duplicate value on constraint index to avoid noise log (Mailbox and User table) omit 28b48287ee JAMES-2586 JMAP Upload - fix precision of uploadDate field omit 3c8474141a JAMES-2586 Fix Postgres build after rebase on master omit 4176300f13 JAMES-2586 - JMAP Upload - Fix unstable UploadService test omit 387dd8dd71 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied omit c9985fc394 JAMES-2586 Remove opensearch in PostgresWebPushTest omit cd183fc18b JAMES-2586 remove redundant import in PostgresPushSubscriptionSetMethodTest omit ef08acdbbe JAMES-2586 Fix PostgresMailboxSetMethodTest omit ceb32a4e4c JAMES-2586 Fix PostgresEmailQueryMethodTest omit 7c322fc362 JAMES-2586 Fix PostgresEmailGetMethodTest omit a799ea1884 JAMES-2586 Optimize AttachmentLoader omit 90a6a6e02c JAMES-2586 Bind PostgresMessageFastViewProjection omit 1626e1ab1f JAMES-2586 Add PostgresAttachmentMapper to PostgresMessageIdMapper omit 93f54e9c3f JAMES-2586 Reduce repeat count for some JMAP integration tests omit 30390d7fc4 Add sslMode to require in PostgresqlConnectionConfiguration (#2109) omit f55cd5ef84 JAMES 2586 Try forkCount=2 to see if the tests are faster omit a616a79363 JAMES 2586 Increase timeout to 1 hour for postgres-jmap-integration-test module omit 8341f042da JAMES-2586 Replace drop by truncate in PostgresMessageFastViewProjection omit 82800279bd JAMES-2586 Fix PostgresPushSubscriptionSetMethodTest, PostgresThreadGetTest omit 4cc0f673e9 [Build] Use tmpfs for Postgres db test container omit dccfc23944 JAMES-2586 [Postgres] FIXUP when query with IN - should pre-check collection size (#2103) omit 7c044d8ea7 JAMES 2586 PostgresPushSubscriptionRepository: rely on Postgres unique constraint for deviceClientId (#2094) omit 91103ebe48 JAMES-2586 Fix PostgresAuthenticationTest omit e0a46ad629 JAMES-2586 Disable some tests in Integration tests JMAP postgres omit 1bf2d28bc1 JAMES-2586 Integration tests for JMAP postgres omit 6173098b7d JAMES-2586 - Postgres push subscription - expires value should be stored Offset time omit 948dfd8f9a JAMES-2586 Implement PostgresEmailQueryView (#2007) omit b27b678963 JAMES-2586 Implement PostgresEventStore omit 146fcca3e5 JAMES-2586 Avoid Using COUNT() in SQL When You Could Use EXISTS() omit f4adb6c929 JAMES-2586 [Documentation] Using pg_stat_statements extension for track the stats of the SQL statement execution omit de83e778c0 JAMES-2586 Fix contract test NotificationRegistryContract::registerShouldNotPersistWhenExpiryDateIsPresent omit 59c1a15952 JAMES-2586 Guice binding for PostgresNotificationRegistry omit 671888d477 JAMES-2586 SQL script to clean outdated vacation notifications omit c5a9fec20f JAMES-2586 Implement PostgresNotificationRegistry omit 9d11f320b6 JAMES-2586 Add Index for Postgres Mailbox table omit 803967e0e0 JAMES-2586 Optimize query increase/decrease for Quota Current Value omit cbd6b76794 JAMES-2586 Temporarily disable a flaky PostgresUploadService test omit 438d051aea JAMES-2586 Improve PostgresVacationRepository omit 4b35711c86 JAMES-2586 Guice binding PostgresVacationRepository omit fed5ce008a JAMES-2586 Implement PostgresVacationRepository omit ac771b5454 JAMES-2586 More flexible on comparing Vacation's ZonedDateTime omit 2bcc4edfee JAMES-2586 Handle case when Postgres index/constraint already exists omit d302420c8b JAMES-2586 Implement PostgresCustomIdentityDAO omit b4ed2cc16d JAMES-2586 Implement PostgresFilteringProjection omit a2974c0148 JAMES-2586 Guice binding PostgresMailboxChangeRepository omit 19ba73600a JAMES-2586 Implement PostgresMailboxChangeRepository omit 4b8dcb104e JAMES-2586 Implement PostgresThreadIdGuessingAlgorithm (#1941) omit 8c32a66de6 JAMES-2586 Introduce sql script to clean up PGSL data omit 5df335fc54 JAMES-2586 Implement Postgres Push subscription omit 984b79916e JAMES-2586 Disable row-level security by default in postgres.properties omit 3292bfd03e JAMES-2586: Guice binding JmapUploadCleanupModule for Postgres webadmin omit fd9c0dc54f JAMES-2586: The UploadRepositoryCleanupTask should rely on the UploadRepository interface omit be80bd6530 JAMES-2586 Guice binding for Postgres upload omit 1b559a396d JAMES-2586 Implement Postgres upload usage repository omit 9c2077fe42 JAMES-2586 Implement Postgres upload repository omit 0484ab3b61 JAMES-2586 Implement PostgresEmailChangeRepository - Fixup Guice binding omit 893b983810 JAMES-2586 - Fixbug hanging issue when Jooq execute delete and return list omit cedde4ca92 JAMES-2586 - Fixbug - Delete Message Listener - Fix hanging issue omit 02413512d4 JAMES-2586 - Delete Message Listener - add test case when delete mailbox has a lot of messages omit 758f8e4586 JAMES-2586 Implement PostgresEmailChangeRepository omit bdd7ec6c34 JAMES-2586 Webadmin integration tests for postgres omit c59db460d0 JAMES-2586 - Delete attachment in DeleteMessageListener omit 9d43e73b41 JAMES-2586 Implement Postgres Attachment Blob reference source omit 52f4c5e50a JAMES-2586 Implement PostgresAttachmentMapper, DAO and binding omit b61cdb9750 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app omit 06bf5c2680 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app omit 4059f05300 JAMES-2586 JMAP Guice bindings modules to pg-app omit 544bbd8234 JAMES-2586 Little refactoring around DeleteMessageListener binding in posgres mailbox tests omit 3a3ed2f7f1 JAMES-2586 Wire StoreMessageIdManager on top of the PostgresMessageIdMapper + tests omit 6bdcd69526 JAMES-2586 Moving Managers out of the mail package omit 6dbd759cd6 JAMES-2586 Implement PostgresMessageFastViewProjection omit b31bf7972c JAMES-2586 - CLEAN CODE - Guice binding for Postgres User Repository modules omit f5e99c77d2 JAMES-2586 Jenkinsfile: run tests for `server/data/data-jmap-postgres` module omit 7ace468e1a JAMES-2586 DeleteMessageListener: better concurrency control upon mailbox deletion omit 4c7d3a6a9a JAMES-2586 Introduce data-jmap-postgres module omit 9da1046f0d JAMES-2586 Implement PostgresMessageIdMapper omit be973be8ae JAMES-2586 add mailbox para for generateMessageUid method in MapperProvider omit ddddc88555 JAMES-2586 Implement BlobReferenceSource(s) for postgres-app omit 096244e1a1 JAMES-2586 - Set blobStorage implementation is postgres by default omit 1134b01270 JAMES-2586 Plug PreDeletionHooks omit 899762b458 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest omit 9a0f2751b1 JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener omit 5cb653a4bb JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault omit 899c68e880 JAMES-2586 Implement PostgresDeletedMessageMetadataVault omit a0e707dc83 JAMES-2586 Refactor the way initPostgres of PostgresTableManager omit cae315defc Guice InitializationOperation support priority when init module omit d68e2ec354 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS omit 8d52f390d2 JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security omit adaaa5f7e0 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE omit 33b463c2cc JAMES-2586 Bump jOOQ to 3.16.23 omit 9f50758b8d JAMES-2586 Adopt Postgres 16.1 (#1897) omit 659073fe7d JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser omit c4ecc13641 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO omit 680dfdb5eb JAMES-2586 Implement PostgresBlobStoreDAO omit 68c6e40fb0 JAMES-2586 Add a health check integration test omit f413248a81 JAMES-2586 Add missing license omit 8cd9e31107 JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota omit 22241fd8d3 JAMES-2586 Implement PostgresEventDeadLetters omit 8346295e02 JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880) omit de8fefbbc2 JAMES-2586 Implement DeleteMessageListener for postgres (#1869) omit d3aecb67e6 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app omit 353428cfab JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice omit 6e918d086c JAMES-2586 Unnecessary join on deleted uid search queries in postgresql omit aa8994a0c0 JAMES-2586 Refactor search overrides tests for postgresql omit db6bed8acb JAMES-2586 Correct search overrides documentation in opensearch.properties omit 082d851570 JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql omit 73a218f836 JAMES-2586 Implement UidSearchOverride for Postgresql omit 82ac7319b8 JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql omit 073cc435ad JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql omit e36f46d492 JAMES-2586 Implement DeletedSearchOverride for Postgresql omit efd25c4b44 JAMES-2586 Implement AllSearchOverride for Postgresql omit c44fca7caf JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875) omit 0962d37983 JAMES-2586 Message body deduplication (#1873) omit b23a267849 JAMES-2586 Module chooser: S3, file blobStore omit d5c6f7f662 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser omit abe4ac163f JAMES-2586 Add docker compose distributed with OpenSearch for postgres app omit 9ab48b93fa JAMES-2586 Add search module chooser for Postgres app omit 9d850e910a [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867) omit 6a50162b69 JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858) omit e4cfcdcb96 JAMES-2586 Add an Id for SieveScript (#1863) omit d4c930ae4b JAMES-2586 add missing RLS tests omit 9fa80696e4 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml omit 41d10477c9 JAMES-2586 Fix compilation errors omit 635184d26e JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table omit ab0100b42e JAMES-2586 Finally remove the rest of JPA in postgres-app omit 22415643bb JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository omit d1632fa793 JAMES-2586 Documentation for PostgresMailRepository omit 6884533a2f JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code omit c0901489df JAMES-2586 Implement PostgresMailRepository omit c82d65ca67 JAMES-2586 Guice binding for PostgresSieveScriptDAO omit e1ce9a0419 JAMES-2586 Delete JPASieveScript.java omit e7c515d6d2 JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository omit dc1a570d7b JAMES-2586 ADR for Posgres mailbox tables structure (#1857) omit 5cceab39f2 JAMES-3967 Store mails when relay is exceeded omit 82cc9ab04a JAMES-2586 Implement and bind PostgresHealthCheck omit c0125c9a89 JAMES-2586 Remove JPAMailRepositoryUrlStore.java omit 15d172b4b8 JAMES-2586 Implement PostgresMailRepositoryUrlStore omit c1c756883f JAMES-2586 Remove JPAHealthCheck.java omit 46d47f86ba JAMES-2586 PostgresDelegationStore (#1851) omit a773538731 JAMES-2586 Fixup compile error after merge master omit 28c7abb510 JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable omit 74fc80fa78 JAMES-2586 PostgresTableManager - Cleanup omit cb466711ec JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table omit 43831951e6 JAMES-2586 PostgresExecutor: better recognize prepared statement conflict omit ba519637ce JAMES-2586 Add a unit test for recreate RLS column should not fail omit 0e0e6a28bb JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader omit 8f9f239b7a JAMES-2586 Postgres app – Remove server test for authentication database sql validation omit 7050603d1a JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4) omit 54985c8e69 JAMES-2586 Fix missing guice binding for Postgres quota module omit bc3c85d8ae JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method omit 0aa6fbc76d JAMES-2586 [PGSQL] Optimize getMailboxCounter method omit 527153256e JAMES-2586 [PGSQL] Implement correctly FetchType omit 8bf087e738 JAMES-2586 Fully drop JPA within mailbox-postgresql omit 092d908988 JAMES-2586 Enable PostgresMailboxManager annotation tests omit 1f74ce8106 JAMES-2586 Enable UniqueID support for PostgresMailboxManager omit f2c6b6f8c5 JAMES-2586 Remove unused method in MessageManager omit 1c66d54e89 JAMES-2586 Remove unused class MessageUtils.java omit 8fbf4bfdf9 JAMES-2586 Enable ACL support for PG omit 7b88156f5f JAMES-2586 [PGSQL] Initialization to configure users repository omit ad0f41a8e5 JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839) omit 617a364cbc JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception omit 858c81c56e JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts omit 08df608dad JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest omit 4ddaa238e7 JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test omit a292b37ecb JAMES-2586 Guide binding Postgres Message/Mailbox mapper omit c78296f55b JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test omit ef4c70e985 JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer omit 693383350e JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock omit 88a8532e56 JAMES-2586 - Fixup PostgresMailboxMessageDAO omit 58233c8c49 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages omit 6fca40173a JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted omit 4baa9d579f JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table omit 18bbd00551 JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc omit e3a08b5136 JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager omit 466b1182df JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain omit db7c9f5832 JAMES-2586 Guice bindings and package renaming for domain postgres implementation omit 78473018eb JAMES-2586 Implement PostgresDomainList omit 15f19c14c4 JAMES-2586 Remove unused method in PostgresExecutor omit a0a32145a3 JAMES-2586 postgres mailbox annotation dao and mapper (#1822) omit 2263c443cb JAMES-2586 Implement Postgres Current Quota manager omit 008034000c JAMES-2586 Implement PostgresMailboxMessageDAO (#1812) omit 4c40643be5 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres omit b5f63a1df6 JAMES-2586 Implement SieveQuotaRepository backed by Postgres omit a6e2303196 JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816) omit 39da7db1cd JAMES-2586 Implement PostgresQuotaLimitDAO omit 3d5ae9c87a JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813) omit 1a3de305fd JAMES-2586 postgres users dao and repository (#1803) omit 5f2d4408fa JAMES-2586 Create hstore extension if needed upon James startup omit ada30b5623 JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper omit b36cf73fda JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module omit e623d03622 JAMES-2586 Implement PostgresModSeqProvider omit 8c52a7a047 JAMES-2586 Implement PostgresUidProvider omit 60209e0bbf JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory omit d8225ed7c5 JAMES-2586 Clean-up the provision.sh file of postgres-app omit e1dfb026cd JAMES-2586 LOGGER when choice implementation of Postgresql connection factory omit fcc1ef5f3e JAMES-2586 Introduce Single postgres connection factory when disable row level security omit 8a836ce689 JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory omit ee6e193b50 JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks omit 4c3968ec9c JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain omit 8b1fc92aaa JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem omit 034d38ea5c JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres omit 33d12c83d3 JAMES-2586 Postgres app performance test materials (#1794) omit 6cd8814803 JAMES-2586 implement postgres mailbox mapper (#1791) omit cf82739323 JAMES-2586 implement dao for mailbox table (#1786) omit e1138ee2ee JAMES-2586 Fix row-level security implementation omit d58f804eb1 JAMES-2586 Small codestyle refactorings omit 5218969b01 JAMES-2586 PostgresExtension: favor factory methods to constructor omit 4046a31f4c JAMES-2586 Document (link) varchar underlying maximum lengths omit abf586a54e JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions omit 9e5bea44ae JAMES-2586 Drop unused class: JPASubscription omit 63d88e792f JAMES-2586 Drop unused class: EncryptDecryptHelper omit b7e243f477 JAMES-2586 Drop reporting-site.xml omit e8aa0bafee JAMES-2586 Drop Spring files for mailbox-postgres omit ed3e236049 JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule omit b193be3471 JAMES-2586 Polish code style: PostgresSubscriptionMapper omit 1efc9da85e JAMES-2586 Use prepared statements by default omit 2c42a66ab7 JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage omit b1ef08bd11 JAMES-2586 Rename mailbox postgres package omit 00a277f88f JAMES-2586 Rename Postgres Subscription omit b470a74781 JAMES-2586 Guice binding for Postgres subscription module omit bfcf5d4c44 JAMES-2586 Fix review comments omit 0e70970251 JAMES-2586 Sample docker configuration for postgres.properties omit bdadf1f920 JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled omit 1b2516749c JAMES-2586 Guice binding for PostgresTableManager omit f8f92fedc8 JAMES-2586 Guice binding for JamesPostgresConnectionFactory omit f37f76c3aa JAMES-2586 Guice binding for PostgresConfiguration omit 22b1bf08cc JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres omit 4566af1d67 JAMES-2586 Introduce PostgresConfiguration omit de836fe51d JAMES-2586 implement pg connection factory (#1774) omit 3fd5fd9cc8 JAMES-2586 Postgres Subscription mapper (#1775) omit 8792e8aa98 JAMES-2586 Introduce PostgresExtension omit 79e7979eec [CI] Maven runs test on only postgres modules (postgresql branch) omit 12f9ef8c59 JAMES-2586 PostgresTableManager support create table when enable row level security omit 20197f8f1c JAMES-2586 - Implement PostgresTableManager omit 05bc08fcd9 JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres omit 794a41a21e JAMES-2586 - Postgres - Init james-server-postgres-common-guice omit 90f0c93d0e JAMES-2586 - Postgres - Init james-server-data-postgres omit 3bf63e71f3 JAMES-2586 - Postgres - Init postgres app server omit af2c993dc4 JAMES-2586 - Postgres - Init postgres mailbox module omit 100be4a08f JAMES-2586 - Postgres - Init backend common module for postgres add b12da31a8e [UPGRADE] bouncycastle libs from 1.77 => 1.78.1 add 137a45dcf6 Revert server/mailet/ldap add 68b4fc95f3 JAMES-4044 Implement HasLDAPAttribute matcher add afe9df7461 JAMES-4044 Implement SenderHasLDAPAttribute matcher add 8c49124bd6 JAMES-4044 README documentation for HasLDAPAttribute add 0778d2b408 JAMES-4044 Antora documentation add 9fbcaca010 JAMES-4044 Handle both presence and value matching add 706ff0b08b JAMES-4044 Add JavaDoc add ce3820d0ef JAMES-4044 Implement IsInLDAPGroup add 07571e1f56 JAMES-4044 Implement SenderIsInLDAPGroup add dc51178a3c JAMES-4047 DeconnectionRight mailet (#2325) add a909c774be Fix antora version add 962515947c Perma link redirection doc distributed add f3545149fb [ANTORA] remove servers/extendable.adoc add a7f8ded018 [ANTORA] Make extending section generic add 79444d1893 [ANTORA] Minimalist placeholder for the 'developing' section add 08328584aa [UPGRADE] opensearch-java 2.10.4 => 2.11.1 add 42891ce8b5 JAMES-3775 Phishing test for Rspamd (#2339) add b3576b3bcf [FIX] shouldAddSSLInformationInReceivedHeaders() test add e6a3fc0acc JAMES-4048 Record LDAP connection metrics add a96615b9a6 JAMES-4048 Expose unboindid basic pool setup add 869358d457 JAMES-3581 Parsing TypeName should be more lenient while parsing server side data (#2343) add 3caacde0c5 [FIX] HookResultHook added to marker interfaces add 0ac7405c25 [CLEAN CODE] simplifying lambda expression add bb1ef29a43 RabbitMQManagementAPI - log detail response from rabbitMQ when error add a339753fed Pulsar Queue - resolve warning: "method stop in trait Control is deprecated (since 2.7.1): This method is blocking. Use `complete` instead" (#2349) add ec0a2d0c42 MailAddress should not contain backslash + comma character (#2348) add 84affde91f JAMES-3028 Introduce S3ClientFactory and inject to S3BlobStoreDAO (#2353) add 59f877298f [CHANGELOG] Changelog refresher (#2351) add 39f092a54c upgrade pulsar docker image to 3.3.0 add 09e0d600ff JAMES-3700: implement a dead letter queue for pulsar mailqueue #13 (#2355) add 2674b2de72 [ENHANCEMENT] Remove benign verbose logs upon shutdown (#2356) add 829a63f49a [IMPROVEMENT] JMAP use search index relevance as default sort add bf860504a6 [IMPROVEMENT] JMAP should include attachement filenames in text clause add ed16de1e87 [IMPROVEMENT] Use a single LDAP pool accross James add d9ab463967 JAMES-4052 Add quota details in quota indexed for enhanced dashboarding (#2361) add 8fefca2226 JAMES-4052 Document OpenSearch dashboard set up (#2360) add 982d7ecad4 JAMES-3693 Add healthcheck test for case redis sentinel (#2358) add ba2f5ddc6f JAMES-3747 Fixup RabbitMQEventBusTest add 5ccc59b3e3 JAMES-4052 Add optional user property to OpenSearch index (#2363) add d5801b862d JAMES-3693 Fixup RedisConfiguration - parsing correct `redisURL` when multiple redis sentinel endpoint add 542a99339b JAMES-3693 Rate limiting for Apache James on top of Redis sentinel - introduce docker-compose sample add fe339838bd [DOC] Minor fixes to consistency-model.adoc (#2368) add 908ea6e45e JAMES-3763 Use arbitrary BlobIds in tests add 39842a8e03 JAMES-3763 Removes usage of BlobId#randomId add d55db912a3 JAMES-3763 Changes Blobstore api to enable deterministic BlobId generation add 7bdc19dbc7 JAMES-3763 Restores test on deduplicated hashes being encoded in a safe way for all implementations add be95c46154 JAMES-3763 Use Blobstore#save with deterministic BlobId in BlobMailRepository add 2aa54ecf1f JAMES-3763 Strengthens MailRepositoryContract to document update on repeated save of same name. add 2ee3ce36e7 JAMES-3763 Renames BlobId#from to BlobId#parse add e8f0ee1b9c JAMES-3763 Renames HashBlobId to PlainBlobId add 9e2324a7d5 JAMES-3763 Switches PlainBlobId to a java record add 05ebf7b446 JAMES-3763 remove mimeMessages blobs on mail deletion add 50acbd0a80 [devscout] fixes system property pollution with potential test flakyness add f3dc00b349 JAMES-4044 Add a cache for LDAP attribute matchers add 69f786fc23 JAMES-4044 Support multi-valued attributes add 57ccc5a188 JAMES-3824 SMTP Extension for Message Transfer Priorities add 2e8fc24420 [DOC] Document multi-thread Redis configuration add a5feadb60b [DOC] Document benchmark tool for Redis add 5ed46fe7d9 JAMES-4054 Add X-SMIME-Status in SMIMECheckSignature process (#2366) add 899a9ac007 JAMES-4054 Remove X-SMIME-Status header in mailetcontainer.xml add c26c384a56 JAMES-3775 Adapt official Rspamd docker image (#2369) add ded9c04875 JAMES-4055 Configure S-MIME check signature with pem files (#2372) add 22cb933f70 JAMES-4056 SMIMECheckSignature should support signed mail with Content-Type: application/x-pkcs7-mime add 8862748d8a JAMES-4056 Update resource set for SMIMECheckSignatureIntegrationTest add 441f7eb259 [FIX] 3.8.1 link for Spring add 50ec3d5a1c [Antora] Update document operate/logging add 1f91e2af88 JAMES-4057 Enable fuzziness search (#2376) add c9ab9b174a JAMES-4046 Upgrade Lucene to version 9.11.1 (#2373) add 396fadcec3 Proposal to Extend Priority Range for Mail Queues (#2378) add d59dc1e1c9 JAMES-4058 TextCalendarBodyToAttachment screw up text/calendar parts (#2384) add e3ce3cb370 Improving James shutdown speed (#2380) add b562ce50b9 JAMES-4054 Fix remove X-SMIME-Status header in mailetcontainer.xml add 1005b543fc JAMES-4056 Update SMIMECheckSignature for case mail with multiple certs add cba9f013e8 JAMES-4063 Update SMIMECheckSignature to use Filesystem to load crypto materials add 9558694065 Explicit commit after running reindex (#2381) add 4a8b6185b3 [devscout] fixes syntax in profile extractor for gradle enteprise add 5b961b36c9 JAMES-4060: Fix UID FETCH command failing on empty mailbox (#2386) add 42fb366387 Homepage documentation: Distributed James server aint in beta anymore add 8e32db459b [FIX] DeletedMessage size could be zero add 6afa656b49 [JAMES-4065] drop habeas warrant mark mailet add 9b036e11a2 [FIX] Prevent HtmlTextExtractor to generate asymmetric outputs add 243e46d34c [IMPROVEMENT] Set maven.compiler add d0aa047de3 Add missing doc and options for the deleted message vault add c377f81f38 JAMES-4059 MailetContainerModule should not do a strict check on RemoveMimeHeader with bcc name param (#2393) add f6c7621bc3 JAMES-4066 EHLO should accept alphanumeric hostname (#2396) add e13beea8c6 JAMES-4050 Allow `%` and `*` characters in mailbox names add c816b1aa95 [Antora] Make partial for server configure section & clean format add ee4720dca8 [Antora] Clone Benchmarks section files to /partials add 06ec89a3e5 [Antora] Make partial for server Benchmarks add 372c3f2be8 [Antora] Make partial for server Architecture section add b9fdacad4a [Antora] Make partial for server Operate section & clean format add 9f0efd2b5c [Antora] Adapt after partial - [ANTORA] Make extending section generic add 6efdb6e36e [Antora] Adapt after partial - JAMES-4048 Expose unboindid basic pool setup add 14116c7b4a [Antora] Adapt after partial - JAMES-4052 Document OpenSearch dashboard set up (#2360) add c3acf68384 [Antora] Adapt after partial - Add missing link in run with docker page to james cli commands documentation page add 34a91abf13 [Antora] Adapt after partial - JAMES-3824 SMTP Extension for Message Transfer Priorities add 1db0277a12 [Antora] Adapt after partial - [DOC] Document multi-thread Redis configuration add 3712aaec0d [Antora] Adapt after partial - [DOC] Document benchmark tool for Redis add ae1f83d63f [Antora] Adapt after partial - [Antora] Update document operate/logging add 31b0d8ae68 [Antora] Adapt after partial - JAMES-4057 Enable fuzziness search add f7cda79b03 [Antora] Adapt after partial - Proposal to Extend Priority Range for Mail Queues add c7682eab20 [Antora] Adapt after partial - Add missing doc and options for the deleted message vault add 345ce78d19 [Antora] Adapt after partial - [JAMES-4065] drop habeas warrant mark mailet add 6a0f571883 [Antora] Adapt after partial - [DOC] Minor fixes to consistency-model.adoc (#2368) add d1f0b5aac8 [Antora] Adapt after partial - JAMES-4052 Add optional user property to OpenSearch index (#2363) add 7395017db7 [Antora] Adapt after partial - jvm.adoc add 097b6bd480 JAMES-4068 Have several health checks in one rest calls (#2399) add 8c7ad741a1 James: unset JAVA_TOOL_OPTIONS env variable when running james-cli add f75fa335b1 [FIX] AmqpForwardAttribute should create its exchange add 871adb8db6 JAMES-4034 Fix receival of external badly formated From message add 90726160f8 fixup! JAMES-4034 Fix receival of external badly formated From message add fdf1d5fbaf JAMES-4070 Implement query param to return 503 code if degraded (#2404) add e78a6cd013 JAMES-4069 Healthcheck for IMAP (#2401) add a120c9ff06 JAMES-3950 Remove disabled capabilities from session add d8d8fc4010 JAMES-4054 Update SMIMECheckSignatureIntegrationTest to include IsSMIMESigned matcher (#2409) add 73d99ac5b2 JAMES-4071 - Task fix inconsistencies mailbox flags: messagedeleted, mailboxRecents add 31fb38f886 JAMES-4071 - Task fix mailboxes flag inconsistency - document add ed9b72bb96 JAMES-4070 Implement query param to return 503 code if degraded - fixup document add 59e9d8fcdc AmqpForwardAttribute mailet supports declaring exchange types. add 48d22287d3 AmqpForwardAttribute mailet supports declaring exchange types - integration test add 5721fa76cb Update objectives.adoc add 40ef895dc1 [FIX] IMAP debug logs were not printed add 2dd91e8c64 JAMES-3945 new methods getLocalPartDetails, getLocalPartWithoutDetails, stripDetails for class MailAddress add bf8dbbf86d JAMES-3945 Introduce MailAddress::of add 858125319b JAMES-3945 step 1: now john+fol...@example.com is accepted and falls into j...@example.com s inbox add 863515db4b JAMES-3945 step 2: subaddressing now works without any right management, and the folder is created if not present add acf6a9b775 JAMES-3945 step 3: implementation of right management for subaddressing, with unit and integration tests add d404d87da0 JAMES-3945 added some documentation for the SubAddressing mailet add 0ecc08754b JAMES-3945 changed MailboxACLResolver::resolveRights signature from untyped String resourceOwner to stronger type Username resourceOwner add 36d4639e24 AmqpForwardAttribute mailet: ignore errors when creating an exchange that already exists with a different configuration. (#2414) add bca9239f7d [devscout] fix execution of unstable group add cbd152d50c [devscout] upgrades to pulsar 3.3.1 add 314b6a7438 [JAMES-3696] fixes broken MailQueueContract test add f2a56fc64c [devscout] actually consume the iterators in ManageableMailQueueContract add 1705d89822 [JAMES-3696] improves flaky tests from ManageableMailQueueContract add 81b61ed843 James 3945 rights positioning for subaddressing (#2419) add 83ea5b0e37 Refactor `DefaultImapDecoderFactory` to Use POJO Style and Constructor injection (#2410) add f9309f6e5d [devscout] adds implementation notes on ManageableMailQueue add a987e8dab6 [devscout] adds implementation notes for the pulsar mailqueue add 71df5160a3 Improve documentation in collecting-events.adoc (#2424) add a7a7ff98a9 [FIX] WebSocket should return `Sec-WebSocket-Protocol: jmap` response header add a3063db1a2 JAMES-4074 Support Redis Sentinel topology add 9c53b73737 JAMES-4074 Support Redis Sentinel password add 2df3332e89 [FIX] Handle XOAUTH2 for SMTP without initial response (#2428) add 891760b217 [REFACTORING] SetAclCommandParser refactoring to strongly type SetAclRequest (#2421) add 06ced6fdcb JAMES-4046 LuceneMessageSearchIndex - update java 21 syntax for more pretty code add 1cafe617af JAMES-4046 LuceneMessageSearchIndex - update deprecated method add 4221fdc120 JAMES-4046 LuceneMessageSearchIndex - clean code add 7e57a96fa1 AmqpForwardAttribute: support HA by allowing specifying several hosts (#2430) add e631cf40dc Strong typing other ACLRequests (#2427) add 21616b252e [IMPROVEMENT] JMAP should include attachement content in text clause add b98bd1f01a [JAMES-4064] use non durable subscriptions for filter streams add 2547f4936c [devscout] properly close queue in test add 6f4d243d8c JAMES-4044 LDAP matchers: support extracting attribute from DN (#2434) add e08ce98ba6 ISSUE-5290 check that mailboxes on which i have a p right are not listed in the ones i can see (#2432) add 02220491cb JAMES-4072 Add RedisClientFactory add adb572bcce JAMES-4072 Implement TLS/SSL option for RedisHealthCheck add 50e3bd11e5 JAMES-4072 Implement TLS/SSL option for RedisRateLimiter add 98b4417006 JAMES-4072 Add doc for Redis SSL configuration add cff5714dfd JAMES-4072 Add RedisClientFactory to DI system add 7f2a8c44ce JAMES-3552 Log request first chars when Jackson constrainsts are violated add 841eded598 JAMES-3552 Enforce max request size add 10a6d95aab JAMES-3552 Enforce max calls in request add 256c89dec7 JAMES-3945 Subaddressing - case sensitivity and subfolders (#2435) add 4181de38b2 JAMES-2456 Add a reactor timeout for Tika requests (#2437) add 1b0173050a JAMES-2456 TikaTextExtractorTest: fix checkstyle add f6c9f563dd JAMES-4077 [SearchSnippet] - extract method LuceneMessageSearchIndex.searchDocument add 81d9d6c37b JAMES-4077 [SearchSnippet] Search Highlight - Lucene memory implementation add 2502ec4d1a JAMES-3858 - Use TermQuery (replace to PrefixQuery) when MessageIdCriterion search add 20b9173068 JAMES-4077 - Introduce james-server-guice-lucene module & replace it to JPAJamesServerMain (#2436) add a87147ca88 JAMES-4077 Renaming LuceneMemorySearchHighlighter -> LuceneSearchHighlighter & add new Lucene File system test add d974eef570 URLEncoding for subaddressing (#2439) add 25750e99f0 Make some fields and methods in S3ClientFactory, S3BlobStoreDAO public add 5e60733731 JAMES-2456 TikaHttpClientImpl: propagate error instead of Mono.empty add 16cec18505 JAMES-2456 Add a test to make sure CachingTextExtractor work well after first failure call add ab68ea48fd JAMES-4077 [SearchSnippet] Highlight OpenSearch implementation (#2447) add 5408d21ada James 1409 - Change JPARecipientRewriteTable to store separate record per target address (#2444) add 0f484fb222 JAMES-4079 Fix RecipientRewriteTable adds duplicate mapping (#2449) add e982d2a27b JAMES-4032 DKIMHook should also validate local from header add 816c9f8012 JAMES-4032 Add validatedEntities field for DKIMHook add 5a62eceb21 [ENHANCEMENT] Integration tests for MaxRcptHandler (#2448) add a4df042deb [S3 Metrics] Allow to customize S3 metrics prefix add 4a2bba0dad JAMES-3680 XUserAuthenticationStrategy support secret checking (safer) add e2ee7f2da8 JAMES-3907 OIDC Example - remove Apisix configuration for upload draft endpoint add 81674bbfaf Update S3BlobStoreDAO to ignore NoSuchBucketException when deleting blobs or bucket (#2453) add 3e5ab9fbe9 Move Singleton annotation to the right place (#2455) add f4f14f802c [FIX] Add missing commons codec dependency add da25f27e33 [FIX] Avoid NPE on partially written users in Cassandra users repository (#2458) add 62f45bdfa3 JAMES-3680 XUserAuthenticationStrategy support list secret add d314548723 [IMPROVEMENT] Managing DropLists via CLI (#2454) add b0af243ab0 JAMES-3982 Upgrade MinIO image tag for tests (#2461) add 05da6d9327 [FIX] Prevent queue poisoning for spool add 7c4a6ba139 JAMES-2586 - Postgres - Init backend common module for postgres add 66dae638a8 JAMES-2586 - Postgres - Init postgres mailbox module add 5d1cf295a3 JAMES-2586 - Postgres - Init postgres app server add c3388782c4 JAMES-2586 - Postgres - Init james-server-data-postgres add b186f486e9 JAMES-2586 - Postgres - Init james-server-postgres-common-guice add 6d36150479 JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres add d2ec7c9701 JAMES-2586 - Implement PostgresTableManager add b612012f99 JAMES-2586 PostgresTableManager support create table when enable row level security add a505b2a908 [CI] Maven runs test on only postgres modules (postgresql branch) add ee67f178a2 JAMES-2586 Introduce PostgresExtension add d846cbffb3 JAMES-2586 Postgres Subscription mapper (#1775) add 5e6d01d60e JAMES-2586 implement pg connection factory (#1774) add 8a68ce3c22 JAMES-2586 Introduce PostgresConfiguration add 2cbfd99bdc JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres add e530833e37 JAMES-2586 Guice binding for PostgresConfiguration add cf73adaded JAMES-2586 Guice binding for JamesPostgresConnectionFactory add 0b45551dfc JAMES-2586 Guice binding for PostgresTableManager add 8ec6778a37 JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled add 6112f4c753 JAMES-2586 Sample docker configuration for postgres.properties add 819dfede98 JAMES-2586 Fix review comments add 0f3ec3f797 JAMES-2586 Guice binding for Postgres subscription module add 04be78c1c1 JAMES-2586 Rename Postgres Subscription add 3ccb3286da JAMES-2586 Rename mailbox postgres package add 7d6f62c40f JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage add d9ab50df32 JAMES-2586 Use prepared statements by default add aca63f67e4 JAMES-2586 Polish code style: PostgresSubscriptionMapper add bd3a65b005 JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule add ac9e4e2bb0 JAMES-2586 Drop Spring files for mailbox-postgres add c1681a6308 JAMES-2586 Drop reporting-site.xml add 79cc4715c3 JAMES-2586 Drop unused class: EncryptDecryptHelper add 6d7dd42eae JAMES-2586 Drop unused class: JPASubscription add 3b4f0f1a95 JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions add 6d971a1fa8 JAMES-2586 Document (link) varchar underlying maximum lengths add 1a82a5bd9a JAMES-2586 PostgresExtension: favor factory methods to constructor add f8a8cda94f JAMES-2586 Small codestyle refactorings add f0d691a7be JAMES-2586 Fix row-level security implementation add 74f8f9a5a7 JAMES-2586 implement dao for mailbox table (#1786) add beae1572a4 JAMES-2586 implement postgres mailbox mapper (#1791) add c8bc02e4b9 JAMES-2586 Postgres app performance test materials (#1794) add 2ebe0f925d JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres add 13a2da2796 JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem add 7566d15380 JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain add 9556adb1d4 JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks add a249503ec2 JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory add 713524af84 JAMES-2586 Introduce Single postgres connection factory when disable row level security add f9c1501912 JAMES-2586 LOGGER when choice implementation of Postgresql connection factory add 827af65ad2 JAMES-2586 Clean-up the provision.sh file of postgres-app add 45cdec7d55 JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory add 7ec59db0dc JAMES-2586 Implement PostgresUidProvider add 3fbf536fa1 JAMES-2586 Implement PostgresModSeqProvider add 8b4b6f7eef JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module add 2b79440b8f JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper add 6d6154f79e JAMES-2586 Create hstore extension if needed upon James startup add 121628aa9e JAMES-2586 postgres users dao and repository (#1803) add b4f20df888 JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813) add a094f726d3 JAMES-2586 Implement PostgresQuotaLimitDAO add 7665aa669f JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816) add e0f0b71a6b JAMES-2586 Implement SieveQuotaRepository backed by Postgres add 4c0d95a794 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres add 5dbdcd157b JAMES-2586 Implement PostgresMailboxMessageDAO (#1812) add d78aebd0e8 JAMES-2586 Implement Postgres Current Quota manager add 6585118dfa JAMES-2586 postgres mailbox annotation dao and mapper (#1822) add 01786ccc95 JAMES-2586 Remove unused method in PostgresExecutor add 532e68224f JAMES-2586 Implement PostgresDomainList add c8922f7ea8 JAMES-2586 Guice bindings and package renaming for domain postgres implementation add 1283d89430 JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain add f427f8989e JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager add d6cc2f319c JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc add b633cb0372 JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table add 70af64cf34 JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted add fef0e87ad4 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages add ea99aca39a JAMES-2586 - Fixup PostgresMailboxMessageDAO add 55507d344e JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock add 92ce5eb3a9 JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer add 15cf8de6cf JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test add 0aa5770537 JAMES-2586 Guide binding Postgres Message/Mailbox mapper add 11f56f21c2 JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test add b04e600313 JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest add e0709639d5 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts add 09d5b1b1bf JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception add 04c2e9f43d JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839) add 8d84090c3a JAMES-2586 [PGSQL] Initialization to configure users repository add 48dd9df935 JAMES-2586 Enable ACL support for PG add 9e0a6efa03 JAMES-2586 Remove unused class MessageUtils.java add ee4257c8be JAMES-2586 Remove unused method in MessageManager add edae72e5ad JAMES-2586 Enable UniqueID support for PostgresMailboxManager add e538c9edb6 JAMES-2586 Enable PostgresMailboxManager annotation tests add 91f878312b JAMES-2586 Fully drop JPA within mailbox-postgresql add 433ebbb12e JAMES-2586 [PGSQL] Implement correctly FetchType add 1dfa7a7e8b JAMES-2586 [PGSQL] Optimize getMailboxCounter method add fc43388555 JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method add 06fc808179 JAMES-2586 Fix missing guice binding for Postgres quota module add cc4e16ce34 JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4) add 834545e4d7 JAMES-2586 Postgres app – Remove server test for authentication database sql validation add fb7b14b9e2 JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader add 99c30527ed JAMES-2586 Add a unit test for recreate RLS column should not fail add bc2e6b1c26 JAMES-2586 PostgresExecutor: better recognize prepared statement conflict add c612d17783 JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table add 8b86e7124b JAMES-2586 PostgresTableManager - Cleanup add 7250a1560c JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable add eb4dbc7c66 JAMES-2586 Fixup compile error after merge master add 78de5fb2fa JAMES-2586 PostgresDelegationStore (#1851) add adb8bd8d82 JAMES-2586 Remove JPAHealthCheck.java add f60b4875d3 JAMES-2586 Implement PostgresMailRepositoryUrlStore add 586fdaa2b2 JAMES-2586 Remove JPAMailRepositoryUrlStore.java add deba6c5134 JAMES-2586 Implement and bind PostgresHealthCheck add 4433366bab JAMES-3967 Store mails when relay is exceeded add e597fc4562 JAMES-2586 ADR for Posgres mailbox tables structure (#1857) add eb802aac61 JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository add e69b3fe0bb JAMES-2586 Delete JPASieveScript.java add 5bc7da9e78 JAMES-2586 Guice binding for PostgresSieveScriptDAO add 8fad588747 JAMES-2586 Implement PostgresMailRepository add 3565bca721 JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code add b0aee611c1 JAMES-2586 Documentation for PostgresMailRepository add ceb719d8c3 JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository add de6dc5b7b7 JAMES-2586 Finally remove the rest of JPA in postgres-app add 3aa11df33c JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table add 319e5409b1 JAMES-2586 Fix compilation errors add e561f9e6c7 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml add 6caadcf2c6 JAMES-2586 add missing RLS tests add 1c2f435585 JAMES-2586 Add an Id for SieveScript (#1863) add cc786b5e09 JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858) add 28b72b9ff6 [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867) add e0d0dd4da2 JAMES-2586 Add search module chooser for Postgres app add 76eaa168d7 JAMES-2586 Add docker compose distributed with OpenSearch for postgres app add e14e2de5e6 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser add 1b2279b216 JAMES-2586 Module chooser: S3, file blobStore add 5aabd87a6f JAMES-2586 Message body deduplication (#1873) add 1868cdec53 JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875) add 82109a6392 JAMES-2586 Implement AllSearchOverride for Postgresql add e4b37660be JAMES-2586 Implement DeletedSearchOverride for Postgresql add 7fcc9f42a0 JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql add d3e5b8a1d4 JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql add b7e9970800 JAMES-2586 Implement UidSearchOverride for Postgresql add d3e3500e12 JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql add e7b60bc38c JAMES-2586 Correct search overrides documentation in opensearch.properties add c134f934f3 JAMES-2586 Refactor search overrides tests for postgresql add 54b3391519 JAMES-2586 Unnecessary join on deleted uid search queries in postgresql add 458aa48008 JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice add b53a30be22 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app add 0c6ca3344d JAMES-2586 Implement DeleteMessageListener for postgres (#1869) add e5fb0e9a35 JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880) add a11913b406 JAMES-2586 Implement PostgresEventDeadLetters add e2a2740c94 JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota add 1052fa39a5 JAMES-2586 Add missing license add 1153279486 JAMES-2586 Add a health check integration test add 4ea1d6da9e JAMES-2586 Implement PostgresBlobStoreDAO add c00b181429 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO add 46b4282b86 JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser add f2f4626bd4 JAMES-2586 Adopt Postgres 16.1 (#1897) add 449868d5f8 JAMES-2586 Bump jOOQ to 3.16.23 add 9ef99319e3 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE add 99f82e4596 JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security add fa545b46c4 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS add 28d5328a9e Guice InitializationOperation support priority when init module add b91eab58e0 JAMES-2586 Refactor the way initPostgres of PostgresTableManager add 28562198fc JAMES-2586 Implement PostgresDeletedMessageMetadataVault add e5d447725b JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault add 21ece74b51 JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener add b2c09dabc5 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest add b519e91531 JAMES-2586 Plug PreDeletionHooks add 7a37a16de8 JAMES-2586 - Set blobStorage implementation is postgres by default add 11078dc19e JAMES-2586 Implement BlobReferenceSource(s) for postgres-app add 229299bdcc JAMES-2586 add mailbox para for generateMessageUid method in MapperProvider add 8772db709f JAMES-2586 Implement PostgresMessageIdMapper add 4cbf01a3d1 JAMES-2586 Introduce data-jmap-postgres module add 331634d094 JAMES-2586 DeleteMessageListener: better concurrency control upon mailbox deletion add 07a50c8630 JAMES-2586 Jenkinsfile: run tests for `server/data/data-jmap-postgres` module add 72a6c9a7a9 JAMES-2586 - CLEAN CODE - Guice binding for Postgres User Repository modules add 6260f19f94 JAMES-2586 Implement PostgresMessageFastViewProjection add de7073b237 JAMES-2586 Moving Managers out of the mail package add 43c902626d JAMES-2586 Wire StoreMessageIdManager on top of the PostgresMessageIdMapper + tests add 707e79ad6a JAMES-2586 Little refactoring around DeleteMessageListener binding in posgres mailbox tests add 6cef5f30d8 JAMES-2586 JMAP Guice bindings modules to pg-app add b90323d2e7 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app add a9d5873bfb fixup! JAMES-2586 JMAP Guice bindings modules to pg-app add cf6155fea1 JAMES-2586 Implement PostgresAttachmentMapper, DAO and binding add ad089e31a2 JAMES-2586 Implement Postgres Attachment Blob reference source add 0cb80fb314 JAMES-2586 - Delete attachment in DeleteMessageListener add 1222024648 JAMES-2586 Webadmin integration tests for postgres add 0f14fa9fd2 JAMES-2586 Implement PostgresEmailChangeRepository add 3244ce07f1 JAMES-2586 - Delete Message Listener - add test case when delete mailbox has a lot of messages add 4f6569c09d JAMES-2586 - Fixbug - Delete Message Listener - Fix hanging issue add c3472e961a JAMES-2586 - Fixbug hanging issue when Jooq execute delete and return list add b6640e6390 JAMES-2586 Implement PostgresEmailChangeRepository - Fixup Guice binding add aac061e902 JAMES-2586 Implement Postgres upload repository add f9f0d927ac JAMES-2586 Implement Postgres upload usage repository add 23959c13e8 JAMES-2586 Guice binding for Postgres upload add 8aeaa0023e JAMES-2586: The UploadRepositoryCleanupTask should rely on the UploadRepository interface add e8368ef5ef JAMES-2586: Guice binding JmapUploadCleanupModule for Postgres webadmin add 32625075f5 JAMES-2586 Disable row-level security by default in postgres.properties add 01c0aebbc4 JAMES-2586 Implement Postgres Push subscription add cf94e40dd5 JAMES-2586 Introduce sql script to clean up PGSL data add c1ba449e6f JAMES-2586 Implement PostgresThreadIdGuessingAlgorithm (#1941) add 7f6723663b JAMES-2586 Implement PostgresMailboxChangeRepository add bcfb97cdd0 JAMES-2586 Guice binding PostgresMailboxChangeRepository add 2b82392799 JAMES-2586 Implement PostgresFilteringProjection add 86ec6f0736 JAMES-2586 Implement PostgresCustomIdentityDAO add 9df1f973ef JAMES-2586 Handle case when Postgres index/constraint already exists add 97efc695b5 JAMES-2586 More flexible on comparing Vacation's ZonedDateTime add c13bd486f0 JAMES-2586 Implement PostgresVacationRepository add 3e874a5c53 JAMES-2586 Guice binding PostgresVacationRepository add 455414a9fc JAMES-2586 Improve PostgresVacationRepository add 9605940115 JAMES-2586 Temporarily disable a flaky PostgresUploadService test add 3942699520 JAMES-2586 Optimize query increase/decrease for Quota Current Value add edb1022be3 JAMES-2586 Add Index for Postgres Mailbox table add 7a07632bf5 JAMES-2586 Implement PostgresNotificationRegistry add c7eb23bd3c JAMES-2586 SQL script to clean outdated vacation notifications add 2c7e33d21e JAMES-2586 Guice binding for PostgresNotificationRegistry add fbbd8bd11c JAMES-2586 Fix contract test NotificationRegistryContract::registerShouldNotPersistWhenExpiryDateIsPresent add f82756b17d JAMES-2586 [Documentation] Using pg_stat_statements extension for track the stats of the SQL statement execution add c6a5ca0287 JAMES-2586 Avoid Using COUNT() in SQL When You Could Use EXISTS() add 2047b69f1f JAMES-2586 Implement PostgresEventStore add 2d5bda4556 JAMES-2586 Implement PostgresEmailQueryView (#2007) add 49660cbd2c JAMES-2586 - Postgres push subscription - expires value should be stored Offset time add c0adff1691 JAMES-2586 Integration tests for JMAP postgres add 5bdaa27f39 JAMES-2586 Disable some tests in Integration tests JMAP postgres add d596712b62 JAMES-2586 Fix PostgresAuthenticationTest add 4fe36663a7 JAMES 2586 PostgresPushSubscriptionRepository: rely on Postgres unique constraint for deviceClientId (#2094) add c68167b1ee JAMES-2586 [Postgres] FIXUP when query with IN - should pre-check collection size (#2103) add d0cb3533e5 [Build] Use tmpfs for Postgres db test container add eece20e049 JAMES-2586 Fix PostgresPushSubscriptionSetMethodTest, PostgresThreadGetTest add bb627ed685 JAMES-2586 Replace drop by truncate in PostgresMessageFastViewProjection add e4d595a3a8 JAMES 2586 Increase timeout to 1 hour for postgres-jmap-integration-test module add 17f5e00d3f JAMES 2586 Try forkCount=2 to see if the tests are faster add 12cc9ed17d Add sslMode to require in PostgresqlConnectionConfiguration (#2109) add af2f23f77e JAMES-2586 Reduce repeat count for some JMAP integration tests add 4ef4e9369f JAMES-2586 Add PostgresAttachmentMapper to PostgresMessageIdMapper add 586345d654 JAMES-2586 Bind PostgresMessageFastViewProjection add dc8940ef9d JAMES-2586 Optimize AttachmentLoader add 93cbcee046 JAMES-2586 Fix PostgresEmailGetMethodTest add 82b8dde9af JAMES-2586 Fix PostgresEmailQueryMethodTest add 034540b583 JAMES-2586 Fix PostgresMailboxSetMethodTest add efc2c70057 JAMES-2586 remove redundant import in PostgresPushSubscriptionSetMethodTest add e07d61bfbe JAMES-2586 Remove opensearch in PostgresWebPushTest add a1890176a5 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied add 8be6939116 JAMES-2586 - JMAP Upload - Fix unstable UploadService test add 33bdb62e3b JAMES-2586 Fix Postgres build after rebase on master add b996a8e1ec JAMES-2586 JMAP Upload - fix precision of uploadDate field add 76c9437810 JAMES-2586 Refactor the handle way duplicate value on constraint index to avoid noise log (Mailbox and User table) add 1e49586314 JAMES-2586 [REFACTORING] - PostgresTableManager - fix incorrect log add 6ef82dd2b8 JAMES-2586 Avoid sorting PG messages add da730dfd31 JAMES-2586 [REFACTORING] - Extract dedicated class for retrieving Postgres Message add 45dc6e1726 JAMES-2586 Fix MailboxSetMethodContract add cfd6b6d0ee JAMES-2586 Avoid declare jooq and r2dbc-postgresql version in multiple places add 93a0e2c1ae JAMES-2586 Bump jOOQ to 3.19.6 add 0cd47e86c2 JAMES-2586 Bump r2dbc-postgresql to 1.0.4 add 87cd019e6b JAMES-2586 Adapt jooq 3.19.6 change add 994511a0be JAMES-2586 Postgres RewriteTablesTest should not fail unstable test phase add 3452731588 JAMES-2586 Create AttachmentIdFactory add 948388daf7 JAMES-2586 Add UuidBackedAttachmentIdFactory add 34a0e9bb9d JAMES-2586 Update Guice binding Postgres (#2154) add 90ac3372db Duplicated the QuotaDTO event and related classes from quota-mailing-cassandra to quota-mailing module add 6815107bc2 Refactor cassandra-quota-mailing: using the QuotaDTO event and related classes from quota-mailing module add e4924177e3 JAMES-2586 Postgres - Binding QuotaMailing module for postgres app Tung Tran 10 minutes ago add c3c5008800 JAMES-2586 Postgres - Guice binding EventDTO for DLP Configuration add c3d430c796 JAMES-2586 Postgres - Guice binding EventDTO for FilteringRuleSetDefine add 6ff934c8d6 JAMES-2586 - [Revert] Optimize query increase/decrease for Quota Current Value add 26426ff9b1 Revert "Provision Current Quota when MailboxAdded event" add 5e3c98ea4f JAMES-2586 Introduce module task-postgres add ee9d05ea28 JAMES-2586 Implement PostgresTaskExecutionDetailsProjection add f79c800282 JAMES-2586 Relax TaskExecutionDetailsProjectionContract: can compare ZonedDateTime(s) with different timezones add 57b23afb33 JAMES-2586 Guice binding Distributed TaskManager for postgres-app add b330e0d928 JAMES-2586 Disable DistributedTaskSerializationModule add 50994c1d3a JAMES-2586 Add missing cleanup task webadmin routes add c6c81fe026 JAMES-2586 Do not use ActiveMQ mail queue when distributed mode add 200225cecf JAMES-2586 Add binding for DKIMMailetModule add c16848db5e JAMES-2586 - Postgres - Bind DistributedTaskSerializationModule into postgres-app add e4f9acb1c3 JAMES-2586 - Postgres - Binding ACLUpdated Event DTO add 61f5bb965f JAMES-2586 PopulateEmailQueryViewTask should not hang for postgres-app (#2179) add d613f64192 JAMES-2586 Fix flaky tests in EmailQueryMethodTest add 547440ed17 JAMES-2586 Enable flaky tests in PostgresEmailQueryMethodTest add c3fe94f417 JAMES-2586 Apply reactor timeout for jOOQ add ebf3e9f15a JAMES-2586 Mitigate fix for https://github.com/jOOQ/jOOQ/issues/16556 add bf5b2ee658 JAMES-2586 Create metrics for PostgresExecutor add e55199896a JAMES-2586 Update postgresql guice binding - adapt after rebase master (remove Jmap draft) add a4c5298b48 JAMES-2586 [UPDATE] [PGSQL] more javax APIs migrated to jakarta add e51db4d7e0 [BUILD] Jenkinsfile - add module server/blob/blob-postgres add 5717190f80 JAMES-2586 Disable some unstable tests of PostgresBlobStoreDAOTest add cf6eb0c874 JAMES-2586 Implement PoolBackedPostgresConnectionFactory add be93e53d1e JAMES-2586 Update PostgresCommonModule to use PoolBackedPostgresConnectionFactory add 4587d502b4 JAMES-2586 Add connection pool config to PostgresConfiguration add 427db95c6a JAMES-2586 Close postgres connections when the app shutdown add 853bec5d9d JAMES-2586 Fix some disabled tests in PostgresBlobStoreDAOTest by using connection pool add 6c18887259 JAMES-2586 Create rls-bypass instance for PoolBackedPostgresConnectionFactory add fad709bd4c JAMES-2586 Update PoolBackedPostgresConnectionFactory to avoid running set-domain command in case of empty domain add 1b289b66ba JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline add 3107310ef6 JAMES-2586 Postgres app should use Java 21 base image (#2277) add 7e082fd7f8 JAMES-2586 - Rename class DeletedMessageVaultDeletionCallback -> PostgresDeletedMessageVaultDeletionCallback (#2280) add 4902c8fac6 [BUILD] Increase jOOQ reactive timeout for testing (#2301) add 55abda4480 JAMES-3946 Add a DropLists postgresql backend (#2290) add 1d4546d85a JAMES-2586 Clean/Refactor PostgresExtension add ccf3917d87 JAMES-2586 Drop SinglePostgresConnectionFactory add dc09e202de JAMES-2586 Drop DomainImplPostgresConnectionFactory add 18b9f228f5 JAMES-2586 Refactor JamesPostgresConnectionFactory: distinctly getConnection api add 73ea80608e JAMES-2586 Re naming "non-rls" to "by-pass-rls" add 0a7cc56e3a JAMES-2586 [UPGRADE] jooq 3.19.6 -> 3.19.9 add 33b9102618 JAMES-2586 [UPGRADE] r2dbc.postgresql.version 1.0.4.RELEASE => 1.0.5.RELEASE add ced72a311f JAMES-2586 [UPGRADE] org.testcontainers:postgresql 1.19.1 -> 1.19.8 add 0f784bf9a3 JAMES-2586 [UPGRADE] Postgres docker image 16.1 -> 16.3 add aaff40df6f JAMES-2586 - Update primaryKey constraint for Postgres mailbox_change and email_change add 4019e39045 JAMES-2586 (RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper -create new table MailboxMember (username, mailbox_id) -create dao for new table -create RLSSupportPostgresMailboxMapper to use MailboxMember -update bindings to use RLSSupportPostgresMailboxMapper in case rls is enabled add c31bb071a5 JAMES-2586 (NON_RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper - create index for mailbox_acl column in case rls is disabled - update findNonPersonalMailboxes method in PostgresMailboxMapper and PostgresMailboxDAO add 6c6ee9e156 JAMES-2586 Refactor code after optimizing findNonPersonalMailboxes method - Update AdditionalAlterQuery in PostgresTable - check if upsertACL actually successful - replace batch method - remove duplicated code in PostgresMailboxMapper and RLSSupportPostgresMailboxMapper add 39e0bf5e2d JAMES-2586 Change boolean rlsEnabled to enum RowLevelSecurity add d03d9acd6c JAMES-2586 [PGSQL] Fix checkstyle & adapt code after rebase master add 4f3da250dc JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline - Update: disabled for cassandra weakWrite add 12ef92563e JAMES-2586 Fix BlobStoreConfigurationTest add b528943991 [ENHANCEMENT] Better reactify Identity methods - update for Postgres add e4cc7d8a26 JAMES-2586 Fixup PostgresPushSubscriptionSetMethodTest - add ClockMQExtension add 6042de9a15 Disable test: JamesWithNonCompatibleElasticSearchServerTest add c1e2c48ac3 Fixup - add missing dependencies in apache-james-mpt-smtp-cassandra-rabbitmq-object-storage add 35d5825b75 [Antora] [PGSQL] Setup postgresql James server documentation section add 6b10399a4e [Antora] [PGSQL] Objectives and motivation page for postgres doc add db5f2765db [Antora] Make partial for server configure section & clean format add 0e3e34481f [Antora] [PGSQL] Add Configuration section to postgresql doc add c6f85839b9 [Antora] [PGSQL] Add Performance benchmarks section to postgresql doc add 3539e3043d [Antora] Make partial for server Architecture section add d0f5b56952 [Antora] [PGSQL] Architecture section for postgres doc add 87eb9d5976 [Antora] Make partial for server Operate section & clean format add bcf0c0b418 [Antora] [PGSQL] Add Operate section to postgresql doc add 8d3d542efa [Antora] Add run section to postgresql documentation add db928c6911 [Antora] Add missing link in run with docker page to james cli commands documentation page add 5a631c9153 [Antora] [PGSQL] Add Extending to postgresql doc add 074272d8db JAMES-4054 Remove X-SMIME-Status header in mailetcontainer.xml add 27abcf55c7 Postgres-app: unset JAVA_TOOL_OPTIONS env variable when running james-cli add b3566a2c2b Bump jOOQ to 3.19.13 add 49694cfbf7 Bump r2dbc-postgresql to 1.0.7.RELEASE add 25bf45af6f [PGSQL] Adapt from new master code - BlobId.Factory add 56661040ac [PGSQL] Adapt from new master code - TypeStateFactory add a8523bd84d [PGSQL] Adapt from new master code - SearchQuery add fec4a91793 [PGSQL] Disable PostgresAuthenticatedStateTest.rightsCommandsShouldBeSupported new 61b6018f2c JAMES-2586 - Fixup InMemoryUploadRepository.deleteByUploadDateBefore This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (2b6f445053) \ N -- N -- N refs/heads/postgresql (61b6018f2c) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .mvn/gradle-enterprise-custom-user-data.groovy | 4 +- CHANGELOG.md | 40 + backends-common/cassandra/pom.xml | 2 - backends-common/opensearch/pom.xml | 6 +- .../backends/opensearch/search/ScrolledSearch.java | 2 +- .../backends/pulsar/DockerPulsarExtension.java | 2 +- .../backends/rabbitmq/RabbitMQConfiguration.java | 2 +- .../backends/rabbitmq/RabbitMQManagementAPI.java | 16 +- .../rabbitmq/ReactorRabbitMQChannelPool.java | 12 +- backends-common/redis/pom.xml | 8 + .../james/backends/redis/RedisClientFactory.scala | 93 ++ .../james/backends/redis/RedisConfiguration.scala | 143 +- .../james/backends/redis/RedisHealthCheck.scala | 84 +- .../redis/RedisClusterHealthCheckTest.scala | 3 +- .../backends/redis/RedisConfigurationTest.scala | 104 +- .../james/backends/redis/RedisHealthCheckTest.java | 65 +- .../redis/RedisMasterReplicaExtension.java | 128 +- .../redis/RedisMasterReplicaHealthCheckTest.scala | 48 +- .../backends/redis/RedisSentinelExtension.java | 292 ++++ .../redis/RedisSentinelHealthCheckTest.scala | 55 + .../redis/RedisStandaloneHealthCheckTest.scala | 3 +- .../james/backends/redis/RedisTLSExtension.java | 117 ++ .../RedisTLSMasterReplicaHealthCheckTest.java | 49 +- .../redis/RedisTLSSentinelHealthCheckTest.java | 49 +- .../redis/RedisTLSStandaloneHealthCheckTest.scala | 42 +- .../redis/src/test/resources/certificate.crt | 21 + .../redis/src/test/resources/keystore.p12 | Bin 0 -> 3557 bytes .../redis/src/test/resources/private.key | 27 + .../redis/src/test/resources/rootCA.crt | 23 + .../redis/src/test/resources/sentinel.conf | 8 + .../redis/src/test/resources/sentinel_tls.conf | 14 + .../java/org/apache/james/core/MailAddress.java | 43 +- .../main/java/org/apache/james/core/Username.java | 2 +- .../apache/james/core/quota/QuotaLimitValue.java | 7 + .../org/apache/james/core/MailAddressTest.java | 91 +- docs/antora.yml | 2 +- .../consistency_model_data_replication_extend.adoc | 4 +- .../servers/pages/distributed/objectives.adoc | 2 +- .../servers/pages/distributed/operate/index.adoc | 2 + .../operate/logging/docker-compose-block.adoc | 16 +- .../operate/webadmin/admin-mailboxes-extend.adoc | 64 + .../servers/partials/AddHabeasWarrantMark.adoc | 54 - .../servers/partials/AmqpForwardAttribute.adoc | 4 +- .../servers/partials/DeconnectionRight.adoc | 17 + .../servers/partials/HasHabeasWarrantMark.adoc | 40 - docs/modules/servers/partials/LDAPMatchers.adoc | 94 ++ docs/modules/servers/partials/RemoteDelivery.adoc | 4 + .../servers/partials/SMIMECheckSignature.adoc | 7 + docs/modules/servers/partials/SubAddressing.adoc | 22 + .../partials/architecture/consistency-model.adoc | 15 +- .../architecture/implemented-standards.adoc | 1 + .../servers/partials/benchmark/db-benchmark.adoc | 11 + .../partials/configure/collecting-events.adoc | 10 +- .../servers/partials/configure/droplists.adoc | 5 +- .../servers/partials/configure/extensions.adoc | 2 +- docs/modules/servers/partials/configure/imap.adoc | 2 +- docs/modules/servers/partials/configure/jmap.adoc | 4 + docs/modules/servers/partials/configure/jvm.adoc | 29 + .../partials/configure/mailetcontainer.adoc | 2 +- .../servers/partials/configure/mailets.adoc | 6 +- .../partials/configure/mailrepositorystore.adoc | 2 +- .../servers/partials/configure/opensearch.adoc | 9 + docs/modules/servers/partials/configure/redis.adoc | 56 +- .../servers/partials/configure/smtp-hooks.adoc | 38 +- docs/modules/servers/partials/configure/tika.adoc | 2 +- .../partials/configure/usersrepository.adoc | 12 + docs/modules/servers/partials/configure/vault.adoc | 6 + .../servers/partials/configure/webadmin.adoc | 4 +- docs/modules/servers/partials/operate/cli.adoc | 63 +- docs/modules/servers/partials/operate/index.adoc | 4 +- docs/modules/servers/partials/operate/logging.adoc | 10 +- .../modules/servers/partials/operate/webadmin.adoc | 228 +++ event-bus/cassandra/pom.xml | 5 - .../apache/james/events/RabbitMQEventBusTest.java | 21 +- .../java/org/apache/james/events/InVMEventBus.java | 3 +- event-sourcing/event-store-cassandra/pom.xml | 5 - examples/README.md | 6 +- examples/oidc/apisix/conf/apisix.yaml | 40 +- examples/oidc/docker-compose.yml | 2 + examples/oidc/james/jmap.properties | 3 +- examples/opensearch-dahsboard/README.md | 129 ++ examples/opensearch-dahsboard/docker-compose.yml | 15 + examples/opensearch-dahsboard/img.png | Bin 0 -> 35390 bytes examples/opensearch-dahsboard/img_1.png | Bin 0 -> 26465 bytes examples/opensearch-dahsboard/img_10.png | Bin 0 -> 29796 bytes examples/opensearch-dahsboard/img_11.png | Bin 0 -> 18361 bytes examples/opensearch-dahsboard/img_12.png | Bin 0 -> 33262 bytes examples/opensearch-dahsboard/img_13.png | Bin 0 -> 38839 bytes examples/opensearch-dahsboard/img_14.png | Bin 0 -> 44316 bytes examples/opensearch-dahsboard/img_15.png | Bin 0 -> 15756 bytes examples/opensearch-dahsboard/img_2.png | Bin 0 -> 30891 bytes examples/opensearch-dahsboard/img_3.png | Bin 0 -> 30498 bytes examples/opensearch-dahsboard/img_4.png | Bin 0 -> 20059 bytes examples/opensearch-dahsboard/img_5.png | Bin 0 -> 14701 bytes examples/opensearch-dahsboard/img_6.png | Bin 0 -> 9261 bytes examples/opensearch-dahsboard/img_7.png | Bin 0 -> 10371 bytes examples/opensearch-dahsboard/img_8.png | Bin 0 -> 14871 bytes examples/opensearch-dahsboard/img_9.png | Bin 0 -> 14786 bytes .../opensearch-dahsboard/james-dashboard.ndjson | 26 + .../james/mailbox/acl/MailboxACLResolver.java | 4 +- .../james/mailbox/acl/UnionMailboxACLResolver.java | 30 +- .../org/apache/james/mailbox/model/MailboxACL.java | 29 +- .../apache/james/mailbox/model/MailboxPath.java | 10 +- .../apache/james/mailbox/model/SearchQuery.java | 15 +- .../model/search/ExactNameCaseInsensitive.java | 50 +- .../search/PrefixedWildcardCaseInsensitive.java | 49 +- .../mailbox/searchhighligt/SearchHighlighter.java | 25 +- .../SearchHighlighterConfiguration.java | 47 +- .../mailbox/searchhighligt/SearchSnippet.java | 22 +- .../apache/james/mailbox/MailboxManagerTest.java | 41 + .../org/apache/james/mailbox/acl/ACLDiffTest.java | 2 +- .../james/mailbox/acl/PositiveUserACLDiffTest.java | 2 +- .../mailbox/acl/UnionMailboxACLResolverTest.java | 254 ++-- .../mailbox/model/MailboxACLEntryKeyTest.java | 24 +- .../apache/james/mailbox/model/MailboxACLTest.java | 3 +- .../james/mailbox/model/MailboxPathTest.java | 16 + .../model/search/ExactNameCaseInsensitiveTest.java | 88 ++ .../PrefixedWildcardCaseInsensitiveTest.java | 105 ++ .../searchhighligt/SearchHighLighterContract.java | 468 ++++++ mailbox/cassandra/pom.xml | 5 - .../cassandra/mail/CassandraAttachmentDAOV2.java | 4 +- .../cassandra/mail/CassandraMessageDAOV3.java | 6 +- .../cassandra/mail/CassandraMessageIdDAO.java | 2 +- .../mail/CassandraMessageIdToImapUidDAO.java | 2 +- .../SolveMailboxFlagInconsistenciesService.java | 181 +++ ...nconsistenciesTaskAdditionalInformationDTO.java | 67 + .../SolveMailboxFlagInconsistenciesTaskDTO.java | 49 + .../task/SolveMailboxFlagInconsistencyTask.java | 85 ++ .../cassandra/CassandraMailboxManagerTest.java | 10 +- .../mail/CassandraAttachmentDAOV2Test.java | 14 +- .../cassandra/mail/CassandraMessageDAOV3Test.java | 4 +- .../cassandra/mail/CassandraMessageIdDAOTest.java | 6 +- .../mail/CassandraMessageIdMapperTest.java | 12 +- .../mail/CassandraMessageIdToImapUidDAOTest.java | 6 +- .../cassandra/mail/CassandraMessageMapperTest.java | 12 +- .../mail/eventsourcing/acl/ACLUpdatedDTOTest.java | 2 +- ...SolveMailboxFlagInconsistenciesServiceTest.java | 220 +++ ...lboxFlagInconsistencyTaskSerializationTest.java | 65 + .../mailbox/cassandra/mail/utils/GuiceUtils.java | 4 +- .../cassandra/search/AllSearchOverrideTest.java | 13 +- .../search/DeletedSearchOverrideTest.java | 5 + .../search/DeletedWithRangeSearchOverrideTest.java | 6 + .../NotDeletedWithRangeSearchOverrideTest.java | 12 +- .../cassandra/search/UidSearchOverrideTest.java | 11 +- .../cassandra/search/UnseenSearchOverrideTest.java | 11 + .../MailboxACLUpdatedEventSerializationTest.java | 4 +- mailbox/lucene/pom.xml | 14 +- .../lucene/search/LenientImapSearchAnalyzer.java | 47 +- .../lucene/search/LuceneMessageSearchIndex.java | 973 ++++++------ .../lucene/search/LuceneSearchHighlighter.java | 172 +++ .../lucene/search/StrictImapSearchAnalyzer.java | 61 - .../search/LuceneFSSearchHighLighterTest.java | 118 ++ .../mailbox/lucene/search/LuceneGenericTests.java | 150 ++ .../search/LuceneMailboxMessageFlagSearchTest.java | 373 +++++ .../LuceneMailboxMessageSearchIndexTest.java | 22 +- .../search/LuceneMemorySearchHighLighterTest.java | 115 ++ .../search/LuceneMessageSearchIndexTest.java | 4 +- ...eSearchIndexText.java => LuceneTestsUtils.java} | 29 +- .../manager/InMemoryIntegrationResources.java | 12 +- .../mailbox/opensearch/MailboxMappingFactory.java | 3 + .../opensearch/OpenSearchMailboxConfiguration.java | 53 +- .../DisabledListeningMessageSearchIndex.java | 5 + .../OpenSearchListeningMessageSearchIndex.java | 14 +- .../mailbox/opensearch/json/IndexableMessage.java | 23 +- .../opensearch/json/JsonMessageConstants.java | 2 +- .../opensearch/json/MessageToOpenSearchJson.java | 41 +- .../opensearch/query/CriterionConverter.java | 41 +- .../search/OpenSearchSearchHighlighter.java | 91 ++ .../opensearch/search/OpenSearchSearcher.java | 42 +- .../opensearch/OpenSearchIntegrationTest.java | 5 +- .../OpenSearchMailboxConfigurationTest.java | 25 + ...hOptimizeMoveAndFuzzySearchIntegrationTest.java | 91 ++ .../json/MessageToOpenSearchJsonTest.java | 27 + .../search/OpenSearchSearchHighlighterTest.java | 244 +++ .../deleted-messages-vault-cassandra/pom.xml | 5 - .../vault/metadata/StorageInformationDAO.java | 2 +- .../CassandraDeletedMessageMetadataVaultTest.java | 4 +- .../james/vault/metadata/MetadataDAOTest.java | 4 +- .../vault/metadata/StorageInformationDAOTest.java | 8 +- .../PostgresDeletedMessageMetadataVault.java | 2 +- .../PostgresDeletedMessageMetadataVaultTest.java | 5 +- .../org/apache/james/vault/DeletedMessage.java | 2 +- ...etedMessageWithStorageInformationConverter.java | 2 +- .../org/apache/james/vault/DeletedMessageTest.java | 10 +- .../james/vault/DeletedMessageVaultHookTest.java | 4 +- .../blob/BlobStoreDeletedMessageVaultTest.java | 4 +- ...eletedMessageWithStorageInformationDTOTest.java | 4 +- .../DeletedMessageVaultMetadataFixture.java | 6 +- mailbox/plugin/quota-mailing-cassandra/pom.xml | 5 - .../opensearch/QuotaRatioMappingFactory.java | 17 + .../opensearch/json/JsonMessageConstants.java | 5 + .../search/opensearch/json/QuotaRatioAsJson.java | 75 +- .../json/QuotaRatioToOpenSearchJson.java | 4 + .../opensearch/json/QuotaRatioAsJsonTest.java | 6 + .../json/QuotaRatioToOpenSearchJsonTest.java | 2 + .../src/test/resources/quotaRatio.json | 2 +- .../src/test/resources/quotaRatioNoDomain.json | 2 +- .../postgres/mail/PostgresMessageRetriever.java | 2 +- .../postgres/mail/dao/PostgresAttachmentDAO.java | 6 +- .../postgres/mail/dao/PostgresMessageDAO.java | 6 +- .../postgres/DeleteMessageListenerWithRLSTest.java | 4 +- .../PostgresMailboxManagerAttachmentTest.java | 4 +- .../postgres/PostgresMailboxManagerProvider.java | 6 +- .../postgres/PostgresTestSystemFixture.java | 4 +- ...stgresAnnotationMapperRowLevelSecurityTest.java | 4 +- .../PostgresAttachmentBlobReferenceSourceTest.java | 12 +- .../mail/PostgresAttachmentMapperTest.java | 4 +- .../postgres/mail/PostgresMapperProvider.java | 4 +- .../PostgresMessageBlobReferenceSourceTest.java | 4 +- .../PostgresMessageMapperRowLevelSecurityTest.java | 4 +- .../postgres/search/AllSearchOverrideTest.java | 7 +- .../postgres/search/DeletedSearchOverrideTest.java | 5 +- .../search/DeletedWithRangeSearchOverrideTest.java | 5 +- .../NotDeletedWithRangeSearchOverrideTest.java | 6 +- .../postgres/search/UidSearchOverrideTest.java | 5 +- .../postgres/search/UnseenSearchOverrideTest.java | 10 +- .../james/mailbox/store/StoreMailboxManager.java | 2 +- .../james/mailbox/store/StoreRightManager.java | 6 +- .../store/search/LazyMessageSearchIndex.java | 5 + .../store/search/ListeningMessageSearchIndex.java | 2 + .../search/comparator/CombinedComparator.java | 1 - .../store/streaming/InputStreamContent.java | 9 + .../store/mail/model/MailboxMapperACLTest.java | 6 +- .../store/search/CombinedComparatorTest.java | 8 +- .../nonTextualWithoutAttachmentTextContent.json | 83 ++ .../james/mailbox/tika/TikaHttpClientImpl.java | 6 +- .../mailbox/tika/CachingTextExtractorTest.java | 22 + .../apache/james/mailbox/tika/TikaContainer.java | 6 +- .../james/mailbox/tika/TikaTextExtractorTest.java | 17 + .../mailbox/tools/indexer/ReIndexerPerformer.java | 1 + .../tools/indexer/CassandraReIndexerImplTest.java | 1 + .../mailbox/tools/indexer/ReIndexerImplTest.java | 6 + .../transport/mailets/AmqpForwardAttribute.java | 104 +- .../mailets/AmqpForwardAttributeTest.java | 32 + mailet/crypto/pom.xml | 9 + .../org/apache/james/transport/KeyFileType.java | 15 +- .../org/apache/james/transport/KeyStoreHolder.java | 55 +- .../transport/KeyStoreHolderConfiguration.java | 145 ++ .../james/transport/KeyStoreHolderFactory.java | 126 ++ .../java/org/apache/james/transport/PemReader.java | 162 ++ .../transport/mailets/SMIMECheckSignature.java | 49 +- .../james/transport/matcher/IsSMIMESigned.java | 3 +- .../james/transport/matcher/IsSMIMESignedTest.java | 80 + .../transport/mailets/AddHabeasWarrantMark.java | 121 -- .../transport/matchers/HasHabeasWarrantMark.java | 134 -- mpt/impl/imap-mailbox/cassandra/pom.xml | 5 - .../apache/james/mpt/imapmailbox/suite/Fetch.java | 7 + .../suite/ListingWithRelaxedMailboxName.java | 51 +- .../{Rights.test => FetchAllEmptyMailbox.test} | 37 +- .../ListWithPercentWildcardInMailboxName.test | 67 + .../org/apache/james/imap/scripts/Rights.test | 40 +- .../org/apache/james/imap/scripts/Uid.test | 34 + mpt/impl/imap-mailbox/inmemory/pom.xml | 2 +- ...InMemoryListingWithRelaxedMailboxNameTest.java} | 26 +- .../imapmailbox/jpa/JpaAuthenticatedStateTest.java | 8 + .../lucenesearch/host/LuceneSearchHostSystem.java | 4 +- .../postgres/PostgresAuthenticatedStateTest.java | 6 + .../postgres/host/PostgresHostSystem.java | 4 +- mpt/impl/managesieve/cassandra/pom.xml | 7 - .../smtp/cassandra-rabbitmq-object-storage/pom.xml | 5 - mpt/impl/smtp/cassandra/pom.xml | 5 - pom.xml | 22 +- .../main/java/org/apache/james/imap/api/Tag.java | 5 +- .../james/imap/decode/main/DefaultImapDecoder.java | 9 +- .../imap/decode/parser/DeleteACLCommandParser.java | 8 +- .../imap/decode/parser/GetACLCommandParser.java | 3 +- .../decode/parser/ListRightsCommandParser.java | 8 +- .../imap/decode/parser/MyRightsCommandParser.java | 3 +- .../imap/decode/parser/SetACLCommandParser.java | 51 +- .../james/imap/decode/parser/UidCommandParser.java | 1 - .../james/imap/encode/ACLResponseEncoder.java | 13 +- .../imap/encode/ListRightsResponseEncoder.java | 15 +- .../james/imap/encode/MyRightsResponseEncoder.java | 13 +- .../james/imap/main/DefaultImapDecoderFactory.java | 33 +- .../org/apache/james/imap/message/MailboxName.java | 20 +- .../imap/message/request/AbstractImapRequest.java | 7 + .../imap/message/request/DeleteACLRequest.java | 18 +- .../james/imap/message/request/GetACLRequest.java | 7 +- .../imap/message/request/ListRightsRequest.java | 18 +- .../imap/message/request/MyRightsRequest.java | 7 +- .../james/imap/message/request/SetACLRequest.java | 26 +- .../james/imap/message/response/ACLResponse.java | 7 +- .../message/response/ImmutableStatusResponse.java | 32 +- .../imap/message/response/ListRightsResponse.java | 21 +- .../imap/message/response/MyRightsResponse.java | 7 +- .../response/UnpooledStatusResponseFactory.java | 4 + .../imap/processor/AbstractMailboxProcessor.java | 12 +- .../james/imap/processor/DeleteACLProcessor.java | 22 +- .../james/imap/processor/GetACLProcessor.java | 7 +- .../apache/james/imap/processor/ListProcessor.java | 4 +- .../james/imap/processor/ListRightsProcessor.java | 19 +- .../james/imap/processor/MyRightsProcessor.java | 7 +- .../james/imap/processor/SearchProcessor.java | 2 + .../james/imap/processor/SetACLProcessor.java | 53 +- .../imap/processor/base/AbstractProcessor.java | 6 +- .../imap/processor/fetch/ContentBodyElement.java | 8 + .../james/imap/processor/fetch/FetchProcessor.java | 7 +- .../imap/main/DefaultImapDecoderFactoryTest.java | 59 + .../imap/processor/DeleteACLProcessorTest.java | 7 +- .../james/imap/processor/GetACLProcessorTest.java | 3 +- .../imap/processor/ListRightsProcessorTest.java | 11 +- .../james/imap/processor/SearchProcessorTest.java | 2 + .../james/imap/processor/SetACLProcessorTest.java | 59 +- protocols/netty/pom.xml | 4 + .../james/protocols/netty/AbstractAsyncServer.java | 35 +- .../apache/james/protocols/smtp/SMTPSession.java | 11 +- .../smtp/core/ReceivedDataLineFilter.java | 16 +- .../protocols/smtp/core/esmtp/AuthCmdHandler.java | 82 +- .../protocols/smtp/core/esmtp/EhloCmdHandler.java | 12 +- .../smtp/core/fastfail/MaxRcptHandler.java | 2 +- .../docker-configuration/jvm.properties | 6 +- server/apps/cassandra-app/pom.xml | 5 - .../deletedMessageVault.properties | 10 +- .../sample-configuration/jvm.properties | 9 +- .../sample-configuration/mailetcontainer.xml | 4 + .../apps/cassandra-app/src/main/scripts/james-cli | 1 + server/apps/cli-integration-tests/pom.xml | 6 + .../james/cli/DropListCommandsIntegrationTest.java | 140 ++ .../main/java/org/apache/james/cli/ServerCmd.java | 274 ++-- .../apache/james/cli/probe/impl/JmxDataProbe.java | 123 +- .../james/cli/probe/impl/JmxDropListProbe.java | 127 ++ .../java/org/apache/james/cli/type/CmdType.java | 30 +- .../java/org/apache/james/cli/ServerCmdTest.java | 122 +- .../org/apache/james/cli/type/CmdTypeTest.java | 22 +- .../docker-configuration/jvm.properties | 4 + .../apps/distributed-app/docs}/Dockerfile | 0 .../apps/distributed-app/docs}/README.md | 0 .../docs}/antora-playbook-local.yml | 0 server/apps/distributed-app/docs/antora.yml | 4 + .../distributed-app/docs/modules/ROOT/nav.adoc | 1 + .../docs/modules/ROOT/pages/index.adoc | 5 + .../docs}/ui-overrides/img/james.svg | 0 .../docs}/ui-overrides/partials/header-content.hbs | 0 server/apps/distributed-app/pom.xml | 5 - .../deletedMessageVault.properties | 10 +- .../sample-configuration/jvm.properties | 9 +- .../sample-configuration/mailetcontainer.xml | 4 + .../sample-configuration/opensearch.properties | 6 +- .../distributed-app/src/main/scripts/james-cli | 1 + .../docker-configuration/jvm.properties | 4 + server/apps/distributed-pop3-app/pom.xml | 5 - .../deletedMessageVault.properties | 4 + .../sample-configuration/jvm.properties | 9 +- .../sample-configuration/mailetcontainer.xml | 4 + .../src/main/scripts/james-cli | 1 + server/apps/jpa-app/pom.xml | 4 + .../jpa-app/sample-configuration/jvm.properties | 9 +- .../sample-configuration/mailetcontainer.xml | 4 + .../java/org/apache/james/JPAJamesServerMain.java | 2 + server/apps/jpa-app/src/main/scripts/james-cli | 1 + .../sample-configuration/jvm.properties | 5 +- .../sample-configuration/mailetcontainer.xml | 4 + .../apps/jpa-smtp-app/src/main/scripts/james-cli | 1 + .../memory-app/sample-configuration/jvm.properties | 9 +- .../sample-configuration/mailetcontainer.xml | 4 + server/apps/memory-app/src/main/scripts/james-cli | 1 + .../org/apache/james/DKIMHookIntegrationTest.java | 133 ++ .../resources/eml/otherDomainDkimLocalFrom.eml | 59 + .../sample-configuration/jvm.properties | 3 + .../scaling-pulsar-smtp/src/main/scripts/james-cli | 1 + server/apps/webadmin-cli/james-cli | 1 + .../java/org/apache/james/blob/api/BlobId.java | 14 +- .../java/org/apache/james/blob/api/BlobStore.java | 13 + .../java/org/apache/james/blob/api/HashBlobId.java | 126 -- .../apache/james/blob/api/MetricableBlobStore.java | 17 +- .../blob/api/{BlobId.java => PlainBlobId.java} | 29 +- .../apache/james/blob/api/BlobStoreContract.java | 4 +- .../blob/api/DeduplicationBlobStoreContract.java | 35 +- .../james/blob/api/DeleteBlobStoreContract.java | 4 +- .../james/blob/api/DeleteBlobStoreDAOContract.java | 8 + .../org/apache/james/blob/api/HashBlobIdTest.java | 126 -- .../apache/james/blob/api/PlainBlobIdTest.java} | 37 +- .../java/org/apache/james/blob/api/TestBlobId.java | 17 +- server/blob/blob-cassandra/pom.xml | 5 - .../blob/cassandra/CassandraBlobStoreFactory.java | 4 +- .../james/blob/cassandra/CassandraBucketDAO.java | 4 +- .../blob/cassandra/CassandraDefaultBucketDAO.java | 2 +- .../blob/cassandra/cache/CachedBlobStore.java | 79 +- .../cassandra/CassandraBlobStoreClOneTest.java | 40 +- .../blob/cassandra/CassandraBlobStoreFixture.java | 6 +- .../blob/cassandra/CassandraBlobStoreTest.java | 35 +- .../blob/cassandra/CassandraBucketDAOTest.java | 4 +- .../CassandraPassTroughBlobStoreTest.java | 6 +- .../cassandra/cache/BlobStoreCacheContract.java | 19 +- .../blob/cassandra/cache/CachedBlobStoreTest.java | 9 +- .../cache/CassandraBlobStoreCacheTest.java | 9 +- .../export/api/ExportedFileNamesGeneratorTest.java | 2 +- .../file/LocalFileBlobExportMechanismTest.java | 6 +- .../apache/james/blob/file/FileBlobStoreDAO.java | 2 +- .../james/blob/file/FileBlobStoreDAOTest.java | 4 +- .../blob/file/FileBlobStoreGCAlgorithmTest.java | 4 +- .../blob/file/FileBlobStorePassThroughTest.java | 4 +- .../apache/james/blob/file/FileBlobStoreTest.java | 17 +- .../memory/MemoryBlobStorePassThroughTest.java | 4 +- .../james/blob/memory/MemoryBlobStoreTest.java | 17 +- .../james/blob/postgres/PostgresBlobStoreDAO.java | 2 +- .../blob/postgres/PostgresBlobStoreDAOTest.java | 4 +- .../objectstorage/aws/JamesS3MetricPublisher.java | 15 +- .../blob/objectstorage/aws/S3BlobStoreDAO.java | 128 +- .../blob/objectstorage/aws/S3ClientFactory.java | 156 ++ .../blob/objectstorage/aws/S3BlobStoreDAOTest.java | 9 +- .../aws/S3DeDuplicationBlobStoreTest.java | 84 +- .../blob/objectstorage/aws/S3HealthCheckTest.java | 3 +- .../james/blob/objectstorage/aws/S3MinioTest.java | 63 +- .../blob/objectstorage/aws/S3NamespaceTest.java | 12 +- .../aws/S3PassThroughBlobStoreTest.java | 13 +- .../aws/S3PrefixAndNamespaceTest.java | 66 +- .../james/blob/objectstorage/aws/S3PrefixTest.java | 12 +- .../blob/deduplication/BloomFilterGCAlgorithm.java | 2 +- .../blob/deduplication/GenerationAwareBlobId.java | 21 +- .../deduplication/DeDuplicationBlobStore.scala | 110 +- .../blob/deduplication/PassThroughBlobStore.scala | 69 +- .../deduplication/BlobGCTaskSerializationTest.java | 4 +- .../BloomFilterGCAlgorithmContract.java | 6 +- .../deduplication/GenerationAwareBlobIdTest.java | 95 +- .../james/blob/mail/MimeMessageStoreTest.java | 8 +- .../james/modules/mailbox/BlobStoreAPIModule.java | 7 +- .../blobstore/BlobDeduplicationGCModule.java | 6 +- .../org/apache/james/modules/BlobMemoryModule.java | 6 +- ...assandraConsistencyTaskSerializationModule.java | 20 + .../modules/data/CassandraDropListsModule.java | 10 + .../webadmin/InconsistencySolvingRoutesModule.java | 33 + .../java/org/apache/james/GuiceJamesServer.java | 9 +- .../org/apache/james/utils/DropListProbeImpl.java | 56 +- .../james/data/LdapUsersRepositoryModule.java | 13 +- ...ributedDeletedMessageVaultDeletionCallback.java | 4 +- .../james/modules/server/JMXServerModule.java | 25 +- .../james/modules/data/JPADropListsModule.java | 10 + server/container/guice/{onami => lucene}/pom.xml | 22 +- .../mailbox/LuceneMemorySearchMailboxModule.java} | 23 +- .../modules/mailbox/LuceneSearchMailboxModule.java | 6 +- .../org/apache/james/modules/ACLProbeImpl.java | 6 + .../modules/server/MailetContainerModule.java | 7 +- .../BlobstoreMailRepositoryModule.java | 10 +- .../org/apache/james/FakeMessageSearchIndex.java | 5 + .../james/modules/data/MemoryDropListsModule.java | 10 + server/container/guice/onami/pom.xml | 4 + .../james/onami/lifecycle/DefaultStager.java | 6 + .../james/onami/lifecycle/StageableMethod.java | 6 + .../java/org/apache/james/SearchModuleChooser.java | 5 + server/container/guice/pom.xml | 6 + .../james/modules/protocols/IMAPServerModule.java | 7 +- .../apache/james/jmap/MailetPreconditionTest.java | 42 + .../james/modules/server/DataRoutesModules.java | 4 +- .../apache/james/droplists/api/DropListEntry.java | 13 +- .../droplists/api/DropListManagementMBean.java | 72 +- .../org/apache/james/probe/DropListProbe.java} | 25 +- .../org/apache/james/user/api/UsersRepository.java | 6 +- server/data/data-cassandra/pom.xml | 5 - .../cassandra/CassandraRecipientRewriteTable.java | 8 - .../james/user/cassandra/CassandraUsersDAO.java | 4 +- .../james/rrt/file/XMLRecipientRewriteTable.java | 9 - .../rrt/file/XMLRecipientRewriteTableTest.java | 11 + server/data/data-jmap-cassandra/pom.xml | 5 - .../CassandraPushSubscriptionDAO.java | 2 +- .../james/jmap/cassandra/upload/UploadDAO.java | 2 +- ...sandraJMAPCurrentUploadUsageCalculatorTest.java | 4 +- .../upload/CassandraUploadRepositoryTest.java | 4 +- .../upload/CassandraUploadServiceTest.java | 6 +- .../PostgresPushSubscriptionDAO.java | 2 +- .../jmap/postgres/upload/PostgresUploadDAO.java | 2 +- .../upload/PostgresUploadRepositoryTest.java | 5 +- .../postgres/upload/PostgresUploadServiceTest.java | 5 +- .../jmap/api/upload/UploadServiceDefaultImpl.java | 2 +- .../memory/upload/InMemoryUploadRepository.java | 3 +- .../james/jmap/api/change/TypeStateFactory.scala | 12 +- ...MemoryJMAPCurrentUploadUsageCalculatorTest.java | 4 +- .../upload/InMemoryUploadRepositoryTest.java | 4 +- .../memory/upload/InMemoryUploadServiceTest.java | 4 +- .../james/rrt/jpa/JPARecipientRewriteTable.java | 177 +-- .../james/rrt/jpa/model/JPARecipientRewrite.java | 21 +- server/data/data-ldap/pom.xml | 4 + .../james/user/ldap/LDAPConnectionFactory.java | 108 ++ .../user/ldap/LdapRepositoryConfiguration.java | 35 +- .../james/user/ldap/ReadOnlyLDAPUsersDAO.java | 102 +- .../user/ldap/ReadOnlyUsersLDAPRepository.java | 34 +- .../james/user/ldap/LdapHealthCheckTest.java | 5 +- .../ReadOnlyUsersLDAPRepositoryEmptyListTest.java | 8 +- .../ReadOnlyUsersLDAPRepositoryInvalidDnTest.java | 8 +- .../user/ldap/ReadOnlyUsersLDAPRepositoryTest.java | 68 +- ...nlyUsersLDAPRepositoryWithLDAPFailoverTest.java | 22 +- ...LDAPRepositoryWithLocalPartAsLoginNameTest.java | 8 +- .../james/droplist/lib/DropListManagement.java | 69 + .../rrt/lib/AbstractRecipientRewriteTable.java | 8 +- .../apache/james/user/lib/UsersRepositoryImpl.java | 2 +- .../rrt/lib/RecipientRewriteTableContract.java | 27 + .../james/user/lib/UsersRepositoryContract.java | 22 +- .../rrt/memory/MemoryRecipientRewriteTable.java | 99 +- .../postgres/PostgresMailRepositoryContentDAO.java | 6 +- ...tgresMailRepositoryBlobReferenceSourceTest.java | 4 +- .../james/mailets/configuration/Constants.java | 9 +- .../mailets/configuration/SmtpConfiguration.java | 50 +- .../main/resources/eml/mail_with_bad_signature.eml | 68 + .../main/resources/eml/mail_with_no_signature.eml | 8 + .../src/main/resources/eml/non_smime_mail.eml | 7 + .../smime-test-resource-set/certificate.crt | 21 + .../smime-test-resource-set/instruction.md | 36 + .../mail-with-signature-and-multi-certs.eml | 71 + .../mail_with_signature.eml | 63 + ..._with_signature_and_content_type_xpkcs7mime.eml | 49 + .../resources/smime-test-resource-set/private.key | 27 + .../resources/smime-test-resource-set/request.csr | 18 + .../resources/smime-test-resource-set/rootCA.crt | 23 + .../smime-test-resource-set/rootCA.private.key | 27 + .../resources/smime-test-resource-set/rootCA.srl | 1 + .../src/main/resources/smtpserver.xml | 12 +- .../src/main/resources/trusted_cert_keystore | Bin 0 -> 1382 bytes .../src/main/resources/trusted_certificate.pem | 23 + .../apache/james/mailets/SubAddressingTest.java | 277 ++++ .../configuration/SmtpConfigurationTest.java | 30 + .../crypto/SMIMECheckSignatureIntegrationTest.java | 132 ++ ...ckSignatureWithKeyStoreFileIntegrationTest.java | 103 ++ ...MECheckSignatureWithPemFileIntegrationTest.java | 101 ++ .../james/smtp/SmtpIdentityVerificationTest.java | 20 + .../apache/james/smtp/SmtpMaxRcptHandlerTest.java | 108 ++ .../AmqpForwardAttributeIntegrationTest.java | 229 +++ .../transport/mailets/amqp/AmqpExtension.java | 10 +- server/mailet/ldap/README.md | 81 + server/mailet/ldap/pom.xml | 27 + .../{HasLDAPAttribute.java => AttributeUtils.java} | 34 +- .../james/transport/matchers/CacheSettings.java | 74 + .../james/transport/matchers/HasLDAPAttribute.java | 165 +- .../james/transport/matchers/IsInLDAPGroup.java | 98 ++ .../transport/matchers/SenderHasLDAPAttribute.java | 200 +++ .../transport/matchers/SenderIsInLDAPGroup.java | 105 ++ .../transport/matchers/CacheSettingsTest.java | 115 ++ .../transport/matchers/HasLDAPAttributeTest.java | 293 ++++ .../transport/matchers/IsInLDAPGroupTest.java | 134 ++ .../matchers/SenderHasLDAPAttributeTest.java | 331 +++++ .../matchers/SenderIsInLDAPGroupTest.java | 140 ++ .../src/test/resources/ldif-files/populate.ldif | 51 + .../james/transport/mailets/DeconnectionRight.java | 149 ++ .../james/transport/mailets/RemoteDelivery.java | 17 +- .../james/transport/mailets/SubAddressing.java | 156 ++ .../james/transport/mailets/WithPriority.java | 4 +- .../transport/mailets/redirect/SpecialAddress.java | 2 +- .../mailets/remote/delivery/DeliveryRunnable.java | 2 + .../remote/delivery/MailDelivrerToHost.java | 20 +- .../transport/mailets/DeconnectionRightTest.java | 195 +++ .../james/transport/mailets/SubAddressingTest.java | 232 +++ .../james/transport/mailets/WithPriorityTest.java | 2 +- .../mailets/WithStorageDirectiveTest.java | 2 +- .../remote/delivery/DeliveryRunnableTest.java | 28 + .../remote/delivery/RemoteDeliveryTest.java | 29 +- .../james/mock/smtp/server/MockSMTPServerTest.java | 6 +- .../docker-compose-sample/README.md | 27 + .../master/docker-entrypoint-master.sh | 6 + .../config-template/master/redis.conf.template | 3 + .../replica/docker-entrypoint-replica.sh | 6 + .../config-template/replica/redis.conf.template | 5 + .../sentinel/docker-entrypoint-sentinel.sh | 6 + .../sentinel/sentinel.conf.template | 9 + .../docker-compose-with-redis-sentinel.yml | 120 ++ .../docker-compose-sample/redis.properties | 3 + .../rate/limiter/redis/RedisRateLimiter.scala | 25 +- .../james/rate/limiter/RedisRateLimiterTest.scala | 5 +- ...sRateLimiterWithMasterReplicaTopologyTest.scala | 36 +- .../limiter/RedisRateLimiterWithSentinelTest.scala | 100 ++ ...ateLimiterWithTLSMasterReplicaTopologyTest.java | 16 +- .../RedisRateLimiterWithTLSSentinelTest.java | 15 +- ...est.scala => RedisRateLimiterWithTLSTest.scala} | 22 +- ...st.scala => TopologyRedisRateLimiterTest.scala} | 34 +- .../src/test/resources/keystore.p12 | Bin 0 -> 3557 bytes .../smtp/priority/SmtpMtPriorityRelayTest.java | 304 ++++ .../mailrepository/MailRepositoryContract.java | 217 +-- .../mailrepository/blob/BlobMailRepository.scala | 83 +- .../blob/BlobMailRepositoryFactory.scala | 61 +- .../james/mailrepository/blob/MailMetadata.scala | 4 +- .../blob/BlobMailRepositoryTest.java | 12 +- .../blob/MailRepositoryBlobIdFactoryTest.java | 61 + .../mailrepository-cassandra/pom.xml | 5 - .../CassandraMailRepositoryMailDaoV2.java | 8 +- .../CassandraMailRepositoryMailDAOTest.java | 20 +- .../cassandra/CassandraMailRepositoryTest.java | 4 +- ...aMailRepositoryWithFakeImplementationsTest.java | 4 +- server/pom.xml | 1 + .../pom.xml | 5 - .../contract/DisabledCapabilityContract.scala | 99 ++ .../jmap/rfc8621/contract/EchoMethodContract.scala | 48 +- .../contract/EmailQueryMethodContract.scala | 6 +- .../rfc8621/contract/EmailSetMethodContract.scala | 48 +- .../james/jmap/rfc8621/contract/Fixture.scala | 42 + .../jmap/rfc8621/contract/WebSocketContract.scala | 33 + ...eJmapRFC8621AuthenticationStrategyContract.java | 129 ++ .../jmap/mailet/TextCalendarBodyToAttachment.java | 10 +- .../james/jmap/utils/JsoupHtmlTextExtractor.java | 34 +- .../james/jmap/change/JmapEventSerializer.scala | 4 +- .../org/apache/james/jmap/core/Capability.scala | 16 +- .../apache/james/jmap/core/ProblemDetails.scala | 19 +- .../james/jmap/core/PushSubscriptionSet.scala | 2 +- .../apache/james/jmap/json/PushSerializer.scala | 2 +- .../jmap/json/PushSubscriptionSerializer.scala | 2 +- .../james/jmap/json/ResponseSerializer.scala | 4 +- .../james/jmap/routes/EventSourceRoutes.scala | 2 +- .../apache/james/jmap/routes/JMAPApiRoutes.scala | 43 +- .../org/apache/james/jmap/routes/JmapApi.scala | 27 +- .../apache/james/jmap/routes/SessionSupplier.scala | 9 +- .../apache/james/jmap/routes/WebSocketRoutes.scala | 5 +- .../james/jmap/utils/search/MailboxFilter.scala | 4 +- .../event/PropagateLookupRightListenerTest.java | 2 +- .../mailet/TextCalendarBodyToAttachmentTest.java | 19 +- .../jmap/utils/JsoupHtmlTextExtractorTest.java | 10 + .../change/StateChangeEventSerializerTest.scala | 19 + .../james/jmap/change/TypeStateFactoryTest.scala | 69 +- .../james/jmap/routes/SessionRoutesTest.scala | 2 +- .../james/jmap/routes/SessionSupplierTest.scala | 4 +- server/protocols/jmap/pom.xml | 5 + .../jmap/http/XUserAuthenticationStrategy.java | 62 +- .../netty/ChannelImapResponseWriter.java | 20 + .../james/imapserver/netty/IMAPHealthCheck.java | 50 +- .../apache/james/imapserver/netty/IMAPServer.java | 9 + .../james/imapserver/netty/IMAPServerFactory.java | 10 +- .../netty/ImapChannelUpstreamHandler.java | 11 +- .../james/imapserver/netty/ReactiveThrottler.java | 4 + .../imapserver/netty/IMAPHealthCheckTest.java | 121 ++ .../james/imapserver/netty/IMAPServerTest.java | 2 +- .../src/test/resources/imapServerHealthCheck.xml | 36 + .../protocols/lib/netty/AbstractServerFactory.java | 16 +- .../MetaDataFixInconsistenciesServiceTest.java | 8 +- .../java/org/apache/james/smtpserver/DKIMHook.java | 89 +- .../org/apache/james/smtpserver/DKIMHookTest.java | 39 +- .../SenderAuthIdentifyVerificationHook.java | 8 +- .../james/smtpserver/fastfail/MaxRcptHandler.java | 2 +- .../priority/SmtpMtPriorityEhloHook.java} | 24 +- .../priority/SmtpMtPriorityMessageHook.java} | 50 +- .../priority/SmtpMtPriorityParameterHook.java | 82 + .../priority/SmtpMtPriorityParameters.java | 78 + .../org/apache/james/smtpserver/SMTPSTest.java | 2 +- .../org/apache/james/smtpserver/SMTPSaslTest.java | 22 + .../apache/james/smtpserver/SMTPServerTest.java | 14 + .../smtpserver/SmtpMtPriorityMessageHookTest.java | 151 ++ .../james/smtpserver/ValidRcptHandlerTest.java | 11 + .../priority/SmtpMtPriorityParametersTest.java | 15 +- .../src/test/resources/smtpserver-mtPriority.xml | 53 + .../rabbitmq/ConsistencyTasksIntegrationTest.java | 80 + ...itMQWebAdminServerIntegrationImmutableTest.java | 2 +- ...moryWebAdminServerIntegrationImmutableTest.java | 2 +- ...MessageDeletedInconsistenciesRequestToTask.java | 35 +- ...eMessageRecentInconsistenciesRequestToTask.java | 35 +- .../james/webadmin/routes/HealthCheckRoutes.java | 116 +- .../apache/james/webadmin/utils/JsonExtractor.java | 27 +- .../webadmin/routes/HealthCheckRoutesTest.java | 277 +++- .../james/webadmin/dto/MappingSourceModule.java | 51 - .../apache/james/webadmin/dto/MappingValueDTO.java | 46 - .../apache/james/webadmin/dto/MappingsModule.java | 132 ++ .../james/webadmin/routes/MappingRoutes.java | 63 +- .../james/webadmin/routes/AliasRoutesTest.java | 5 +- .../james/webadmin/routes/BlobRoutesTest.java | 4 +- .../james/webadmin/routes/ForwardRoutesTest.java | 5 +- .../james/webadmin/routes/GroupsRoutesTest.java | 5 +- .../james/webadmin/routes/MappingRoutesTest.java | 51 +- .../webadmin/data/jmap/JmapUploadRoutesTest.java | 6 +- .../routes/DeletedMessagesVaultRoutesTest.java | 6 +- .../james/webadmin/routes/MailboxesRoutesTest.java | 3 + .../webadmin/routes/UserMailboxesRoutesTest.java | 1 + .../james/webadmin/service/ExportServiceTest.java | 8 +- .../webadmin/service/ExportServiceTestSystem.java | 4 +- .../Pop3MetaDataFixInconsistenciesRoutesTest.java | 8 +- .../james/queue/api/MailPrioritySupport.java | 8 +- .../james/queue/api/ManageableMailQueue.java | 14 + .../james/queue/api/PriorityMailQueueContract.java | 58 +- .../api/PriorityManageableMailQueueContract.java | 48 +- server/queue/queue-pulsar/README.adoc | 32 + server/queue/queue-pulsar/pom.xml | 27 +- .../org/apache/james/queue/pulsar/Filter.scala | 12 +- .../apache/james/queue/pulsar/MailMetadata.scala | 4 +- .../james/queue/pulsar/PulsarMailQueue.scala | 98 +- .../queue/pulsar/PulsarMailQueueFactoryTest.java | 6 +- .../james/queue/pulsar/PulsarMailQueueTest.java | 31 +- server/queue/queue-rabbitmq/pom.xml | 5 - .../org/apache/james/queue/rabbitmq/Dequeuer.java | 14 +- .../james/queue/rabbitmq/MailReferenceDTO.java | 4 +- .../rabbitmq/view/cassandra/EnqueuedMailsDAO.java | 4 +- .../view/cassandra/EnqueuedMailsDaoUtil.java | 4 +- .../james/queue/rabbitmq/EnqueuedItemTest.java | 6 +- .../apache/james/queue/rabbitmq/MailDTOTest.java | 12 +- .../james/queue/rabbitmq/MailLoaderTest.java | 4 +- .../RabbitMQMailQueueConfigurationChangeTest.java | 4 +- .../queue/rabbitmq/RabbitMQMailQueueTest.java | 6 +- .../rabbitmq/RabbitMqMailQueueFactoryTest.java | 4 +- .../rabbitmq/view/api/DeleteConditionTest.java | 6 +- .../CassandraMailQueueViewTestFactory.java | 4 +- .../view/cassandra/EnqueuedMailsDaoTest.java | 10 +- .../model/EnqueuedItemWithSlicingContextTest.java | 6 +- server/task/task-distributed/pom.xml | 5 - src/homepage/index.html | 4 +- src/site/markdown/server/manage-cli.md | 56 +- src/site/markdown/server/manage-webadmin.md | 150 +- src/site/resources/server/rfclist/smtp/rfc6710.txt | 1571 ++++++++++++++++++++ src/site/xdoc/download.xml | 6 +- src/site/xdoc/server/config-jmap.xml | 3 + src/site/xdoc/server/config-opensearch.xml | 5 + src/site/xdoc/server/config-users.xml | 12 + src/site/xdoc/server/config-vault.xml | 14 + src/site/xdoc/server/rfcs.xml | 1 + .../linshare/LinshareBlobExportMechanismTest.java | 8 +- third-party/rspamd/docker-compose-distributed.yml | 12 +- third-party/rspamd/docker-compose.yml | 12 +- third-party/rspamd/sample-configuration/redis.conf | 1 + .../sample-configuration/worker-controller.inc | 1 + .../james/rspamd/DockerRspamdExtensionTest.java | 17 +- .../org/apache/james/rspamd/RspamdExtension.java | 18 +- .../james/rspamd/client/RspamdHttpClientTest.java | 2 +- .../james/rspamd/route/FeedMessageRouteTest.java | 21 +- .../src/test/resources/mail/spam/phishing.eml | 19 + .../src/test/resources/rspamd-config/actions.conf | 32 +- .../test/resources/rspamd-config/antivirus.conf | 2 +- .../src/test/resources/rspamd-config/redis.conf | 1 + .../resources/rspamd-config/worker-controller.inc | 1 + upgrade-instructions.md | 103 ++ 710 files changed, 20240 insertions(+), 4829 deletions(-) create mode 100644 backends-common/redis/src/main/java/org/apache/james/backends/redis/RedisClientFactory.scala copy server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/MailLoaderTest.java => backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisHealthCheckTest.java (52%) create mode 100644 backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisSentinelExtension.java create mode 100644 backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisSentinelHealthCheckTest.scala create mode 100644 backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisTLSExtension.java copy server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreTest.java => backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisTLSMasterReplicaHealthCheckTest.java (52%) copy server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreTest.java => backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisTLSSentinelHealthCheckTest.java (51%) copy server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/RedisRateLimiterTest.scala => backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisTLSStandaloneHealthCheckTest.scala (56%) create mode 100644 backends-common/redis/src/test/resources/certificate.crt create mode 100644 backends-common/redis/src/test/resources/keystore.p12 create mode 100644 backends-common/redis/src/test/resources/private.key create mode 100644 backends-common/redis/src/test/resources/rootCA.crt create mode 100644 backends-common/redis/src/test/resources/sentinel.conf create mode 100644 backends-common/redis/src/test/resources/sentinel_tls.conf delete mode 100644 docs/modules/servers/partials/AddHabeasWarrantMark.adoc create mode 100644 docs/modules/servers/partials/DeconnectionRight.adoc delete mode 100644 docs/modules/servers/partials/HasHabeasWarrantMark.adoc create mode 100644 docs/modules/servers/partials/LDAPMatchers.adoc create mode 100644 docs/modules/servers/partials/SubAddressing.adoc create mode 100644 examples/opensearch-dahsboard/README.md create mode 100644 examples/opensearch-dahsboard/docker-compose.yml create mode 100644 examples/opensearch-dahsboard/img.png create mode 100644 examples/opensearch-dahsboard/img_1.png create mode 100644 examples/opensearch-dahsboard/img_10.png create mode 100644 examples/opensearch-dahsboard/img_11.png create mode 100644 examples/opensearch-dahsboard/img_12.png create mode 100644 examples/opensearch-dahsboard/img_13.png create mode 100644 examples/opensearch-dahsboard/img_14.png create mode 100644 examples/opensearch-dahsboard/img_15.png create mode 100644 examples/opensearch-dahsboard/img_2.png create mode 100644 examples/opensearch-dahsboard/img_3.png create mode 100644 examples/opensearch-dahsboard/img_4.png create mode 100644 examples/opensearch-dahsboard/img_5.png create mode 100644 examples/opensearch-dahsboard/img_6.png create mode 100644 examples/opensearch-dahsboard/img_7.png create mode 100644 examples/opensearch-dahsboard/img_8.png create mode 100644 examples/opensearch-dahsboard/img_9.png create mode 100644 examples/opensearch-dahsboard/james-dashboard.ndjson copy protocols/imap/src/main/java/org/apache/james/imap/api/Tag.java => mailbox/api/src/main/java/org/apache/james/mailbox/model/search/ExactNameCaseInsensitive.java (60%) copy protocols/imap/src/main/java/org/apache/james/imap/api/Tag.java => mailbox/api/src/main/java/org/apache/james/mailbox/model/search/PrefixedWildcardCaseInsensitive.java (61%) copy server/blob/blob-api/src/main/java/org/apache/james/blob/api/BlobId.java => mailbox/api/src/main/java/org/apache/james/mailbox/searchhighligt/SearchHighlighter.java (72%) copy protocols/imap/src/main/java/org/apache/james/imap/api/Tag.java => mailbox/api/src/main/java/org/apache/james/mailbox/searchhighligt/SearchHighlighterConfiguration.java (53%) copy core/src/main/java/org/apache/james/core/quota/QuotaLimitValue.java => mailbox/api/src/main/java/org/apache/james/mailbox/searchhighligt/SearchSnippet.java (71%) create mode 100644 mailbox/api/src/test/java/org/apache/james/mailbox/model/search/ExactNameCaseInsensitiveTest.java create mode 100644 mailbox/api/src/test/java/org/apache/james/mailbox/model/search/PrefixedWildcardCaseInsensitiveTest.java create mode 100644 mailbox/api/src/test/java/org/apache/james/mailbox/searchhighligt/SearchHighLighterContract.java create mode 100644 mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMailboxFlagInconsistenciesService.java create mode 100644 mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMailboxFlagInconsistenciesTaskAdditionalInformationDTO.java create mode 100644 mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMailboxFlagInconsistenciesTaskDTO.java create mode 100644 mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMailboxFlagInconsistencyTask.java create mode 100644 mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/SolveMailboxFlagInconsistenciesServiceTest.java create mode 100644 mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/SolveMailboxFlagInconsistencyTaskSerializationTest.java create mode 100644 mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneSearchHighlighter.java delete mode 100644 mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/StrictImapSearchAnalyzer.java create mode 100644 mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneFSSearchHighLighterTest.java create mode 100644 mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneGenericTests.java create mode 100644 mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageFlagSearchTest.java create mode 100644 mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMemorySearchHighLighterTest.java copy mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/{StrictLuceneMessageSearchIndexText.java => LuceneTestsUtils.java} (57%) create mode 100644 mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/search/OpenSearchSearchHighlighter.java create mode 100644 mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/OpenSearchOptimizeMoveAndFuzzySearchIntegrationTest.java create mode 100644 mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/search/OpenSearchSearchHighlighterTest.java create mode 100644 mailbox/store/src/test/resources/eml/nonTextualWithoutAttachmentTextContent.json rename mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/StrictLuceneMessageSearchIndexText.java => mailet/crypto/src/main/java/org/apache/james/transport/KeyFileType.java (80%) create mode 100644 mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolderConfiguration.java create mode 100644 mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolderFactory.java create mode 100644 mailet/crypto/src/main/java/org/apache/james/transport/PemReader.java create mode 100644 mailet/crypto/src/test/java/org/apache/james/transport/matcher/IsSMIMESignedTest.java delete mode 100644 mailet/standard/src/main/java/org/apache/james/transport/mailets/AddHabeasWarrantMark.java delete mode 100644 mailet/standard/src/main/java/org/apache/james/transport/matchers/HasHabeasWarrantMark.java copy server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStorePassThroughTest.java => mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ListingWithRelaxedMailboxName.java (50%) copy mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/{Rights.test => FetchAllEmptyMailbox.test} (65%) create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/ListWithPercentWildcardInMailboxName.test copy mpt/impl/imap-mailbox/{postgres/src/test/java/org/apache/james/mpt/imapmailbox/postgres/PostgresAuthenticatedStateTest.java => inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryListingWithRelaxedMailboxNameTest.java} (66%) copy core/src/main/java/org/apache/james/core/quota/QuotaLimitValue.java => protocols/imap/src/main/java/org/apache/james/imap/message/MailboxName.java (76%) create mode 100644 protocols/imap/src/test/java/org/apache/james/imap/main/DefaultImapDecoderFactoryTest.java create mode 100644 server/apps/cli-integration-tests/src/test/java/org/apache/james/cli/DropListCommandsIntegrationTest.java create mode 100644 server/apps/cli/src/main/java/org/apache/james/cli/probe/impl/JmxDropListProbe.java copy {docs => server/apps/distributed-app/docs}/Dockerfile (100%) copy {docs => server/apps/distributed-app/docs}/README.md (100%) copy {docs => server/apps/distributed-app/docs}/antora-playbook-local.yml (100%) create mode 100644 server/apps/distributed-app/docs/antora.yml create mode 100644 server/apps/distributed-app/docs/modules/ROOT/nav.adoc create mode 100644 server/apps/distributed-app/docs/modules/ROOT/pages/index.adoc copy {docs => server/apps/distributed-app/docs}/ui-overrides/img/james.svg (100%) copy {docs => server/apps/distributed-app/docs}/ui-overrides/partials/header-content.hbs (100%) create mode 100644 server/apps/memory-app/src/test/resources/eml/otherDomainDkimLocalFrom.eml delete mode 100644 server/blob/blob-api/src/main/java/org/apache/james/blob/api/HashBlobId.java copy server/blob/blob-api/src/main/java/org/apache/james/blob/api/{BlobId.java => PlainBlobId.java} (69%) delete mode 100644 server/blob/blob-api/src/test/java/org/apache/james/blob/api/HashBlobIdTest.java copy server/blob/blob-api/src/{main/java/org/apache/james/blob/api/BlobId.java => test/java/org/apache/james/blob/api/PlainBlobIdTest.java} (56%) create mode 100644 server/blob/blob-s3/src/main/java/org/apache/james/blob/objectstorage/aws/S3ClientFactory.java copy protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/ContentBodyElement.java => server/container/guice/common/src/main/java/org/apache/james/utils/DropListProbeImpl.java (53%) copy server/container/guice/{onami => lucene}/pom.xml (75%) copy server/container/guice/{memory/src/main/java/org/apache/james/modules/data/MemoryDropListsModule.java => lucene/src/main/java/org/apache/james/modules/mailbox/LuceneMemorySearchMailboxModule.java} (73%) rename server/container/guice/{mailbox-jpa => lucene}/src/main/java/org/apache/james/modules/mailbox/LuceneSearchMailboxModule.java (95%) copy mailet/crypto/src/main/java/org/apache/james/transport/matcher/IsSMIMESigned.java => server/data/data-api/src/main/java/org/apache/james/droplists/api/DropListManagementMBean.java (52%) copy server/{container/guice/cassandra/src/main/java/org/apache/james/modules/data/CassandraDropListsModule.java => data/data-api/src/main/java/org/apache/james/probe/DropListProbe.java} (70%) create mode 100644 server/data/data-ldap/src/main/java/org/apache/james/user/ldap/LDAPConnectionFactory.java create mode 100644 server/data/data-library/src/main/java/org/apache/james/droplist/lib/DropListManagement.java create mode 100644 server/mailet/integration-testing/src/main/resources/eml/mail_with_bad_signature.eml create mode 100644 server/mailet/integration-testing/src/main/resources/eml/mail_with_no_signature.eml create mode 100644 server/mailet/integration-testing/src/main/resources/eml/non_smime_mail.eml create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/certificate.crt create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/instruction.md create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/mail-with-signature-and-multi-certs.eml create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/mail_with_signature.eml create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/mail_with_signature_and_content_type_xpkcs7mime.eml create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/private.key create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/request.csr create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/rootCA.crt create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/rootCA.private.key create mode 100644 server/mailet/integration-testing/src/main/resources/smime-test-resource-set/rootCA.srl create mode 100644 server/mailet/integration-testing/src/main/resources/trusted_cert_keystore create mode 100644 server/mailet/integration-testing/src/main/resources/trusted_certificate.pem create mode 100644 server/mailet/integration-testing/src/test/java/org/apache/james/mailets/SubAddressingTest.java create mode 100644 server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMECheckSignatureIntegrationTest.java create mode 100644 server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMECheckSignatureWithKeyStoreFileIntegrationTest.java create mode 100644 server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMECheckSignatureWithPemFileIntegrationTest.java create mode 100644 server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpMaxRcptHandlerTest.java create mode 100644 server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttributeIntegrationTest.java create mode 100644 server/mailet/ldap/README.md copy server/mailet/ldap/src/main/java/org/apache/james/transport/matchers/{HasLDAPAttribute.java => AttributeUtils.java} (54%) create mode 100644 server/mailet/ldap/src/main/java/org/apache/james/transport/matchers/CacheSettings.java create mode 100644 server/mailet/ldap/src/main/java/org/apache/james/transport/matchers/IsInLDAPGroup.java create mode 100644 server/mailet/ldap/src/main/java/org/apache/james/transport/matchers/SenderHasLDAPAttribute.java create mode 100644 server/mailet/ldap/src/main/java/org/apache/james/transport/matchers/SenderIsInLDAPGroup.java create mode 100644 server/mailet/ldap/src/test/java/org/apache/james/transport/matchers/CacheSettingsTest.java create mode 100644 server/mailet/ldap/src/test/java/org/apache/james/transport/matchers/HasLDAPAttributeTest.java create mode 100644 server/mailet/ldap/src/test/java/org/apache/james/transport/matchers/IsInLDAPGroupTest.java create mode 100644 server/mailet/ldap/src/test/java/org/apache/james/transport/matchers/SenderHasLDAPAttributeTest.java create mode 100644 server/mailet/ldap/src/test/java/org/apache/james/transport/matchers/SenderIsInLDAPGroupTest.java create mode 100644 server/mailet/ldap/src/test/resources/ldif-files/populate.ldif create mode 100644 server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/DeconnectionRight.java create mode 100644 server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java create mode 100644 server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DeconnectionRightTest.java create mode 100644 server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SubAddressingTest.java create mode 100644 server/mailet/rate-limiter-redis/docker-compose-sample/README.md create mode 100644 server/mailet/rate-limiter-redis/docker-compose-sample/config-template/master/docker-entrypoint-master.sh create mode 100644 server/mailet/rate-limiter-redis/docker-compose-sample/config-template/master/redis.conf.template create mode 100644 server/mailet/rate-limiter-redis/docker-compose-sample/config-template/replica/docker-entrypoint-replica.sh create mode 100644 server/mailet/rate-limiter-redis/docker-compose-sample/config-template/replica/redis.conf.template create mode 100644 server/mailet/rate-limiter-redis/docker-compose-sample/config-template/sentinel/docker-entrypoint-sentinel.sh create mode 100644 server/mailet/rate-limiter-redis/docker-compose-sample/config-template/sentinel/sentinel.conf.template create mode 100755 server/mailet/rate-limiter-redis/docker-compose-sample/docker-compose-with-redis-sentinel.yml create mode 100755 server/mailet/rate-limiter-redis/docker-compose-sample/redis.properties create mode 100644 server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/RedisRateLimiterWithSentinelTest.scala copy mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatedStateTest.java => server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/RedisRateLimiterWithTLSMasterReplicaTopologyTest.java (70%) copy mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatedStateTest.java => server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/RedisRateLimiterWithTLSSentinelTest.java (70%) copy server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/{RedisRateLimiterTest.scala => RedisRateLimiterWithTLSTest.scala} (63%) copy server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/{RedisRateLimiterWithMasterReplicaTopologyTest.scala => TopologyRedisRateLimiterTest.scala} (62%) create mode 100644 server/mailet/rate-limiter-redis/src/test/resources/keystore.p12 create mode 100644 server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/priority/SmtpMtPriorityRelayTest.java create mode 100644 server/mailrepository/mailrepository-blob/src/test/java/org/apache/james/mailrepository/blob/MailRepositoryBlobIdFactoryTest.java copy protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetACLCommandParser.java => server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPHealthCheck.java (53%) create mode 100644 server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPHealthCheckTest.java create mode 100644 server/protocols/protocols-imap4/src/test/resources/imapServerHealthCheck.xml copy server/{mailet/ldap/src/main/java/org/apache/james/transport/matchers/HasLDAPAttribute.java => protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/priority/SmtpMtPriorityEhloHook.java} (66%) copy server/{mailet/mailets/src/main/java/org/apache/james/transport/mailets/WithPriority.java => protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/priority/SmtpMtPriorityMessageHook.java} (54%) create mode 100644 server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/priority/SmtpMtPriorityParameterHook.java create mode 100644 server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/priority/SmtpMtPriorityParameters.java create mode 100644 server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SmtpMtPriorityMessageHookTest.java rename mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/OpenSearchOptimizeMoveIntegrationTest.java => server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/priority/SmtpMtPriorityParametersTest.java (78%) create mode 100644 server/protocols/protocols-smtp/src/test/resources/smtpserver-mtPriority.xml copy protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetACLCommandParser.java => server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/SolveMessageDeletedInconsistenciesRequestToTask.java (54%) copy protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetACLCommandParser.java => server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/SolveMessageRecentInconsistenciesRequestToTask.java (54%) delete mode 100644 server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/dto/MappingSourceModule.java delete mode 100644 server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/dto/MappingValueDTO.java create mode 100644 server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/dto/MappingsModule.java create mode 100644 server/queue/queue-pulsar/README.adoc create mode 100644 src/site/resources/server/rfclist/smtp/rfc6710.txt create mode 100644 third-party/rspamd/sample-configuration/redis.conf create mode 100644 third-party/rspamd/sample-configuration/worker-controller.inc create mode 100644 third-party/rspamd/src/test/resources/mail/spam/phishing.eml create mode 100644 third-party/rspamd/src/test/resources/rspamd-config/redis.conf create mode 100644 third-party/rspamd/src/test/resources/rspamd-config/worker-controller.inc --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org