This is an automated email from the ASF dual-hosted git repository. rcordier pushed a change to branch postgresql-backup in repository https://gitbox.apache.org/repos/asf/james-project.git
omit bf5f99e455 JAMES-2586 Plug PreDeletionHooks omit bf9a4b1d00 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest omit de96f76fd9 JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener omit 55a09898a5 JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault omit c2dbfc579f JAMES-2586 Implement PostgresDeletedMessageMetadataVault omit c43b2c544e JAMES-2586 Refactor the way initPostgres of PostgresTableManager omit 46af7b1cfa Guice InitializationOperation support priority when init module omit 81b412e3d3 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS omit 7941d71733 JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security omit 3db14637e1 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE omit c58e619d34 JAMES-2586 Bump jOOQ to 3.16.23 omit 602faa9980 JAMES-3777 [FIX] ReadProjection was not correctly used (#1899) omit e6ff72c754 JAMES-2586 Adopt Postgres 16.1 (#1897) omit d279e01dcc JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser omit 42ccbca1b8 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO omit 5c125e46e2 JAMES-2586 Implement PostgresBlobStoreDAO omit 8a85f704f2 JAMES-3817 Only perform JMAP event bus dead letter health check if JMAP is used omit 0ea2767f7c JAMES-2586 Add a health check integration test omit 42cb00e2b3 JAMES-2586 Add missing license omit 72861a5b4f JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota omit 3e86c78b58 JAMES-2586 Implement PostgresEventDeadLetters omit 23be5d2b63 JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880) omit 3af35b7f99 JAMES-2586 Implement DeleteMessageListener for postgres (#1869) omit 174278eb53 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app omit e4d992ba71 JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice omit 6d1c45fcc6 JAMES-2586 Unnecessary join on deleted uid search queries in postgresql omit a177afee3b JAMES-2586 Refactor search overrides tests for postgresql omit 41f476362d JAMES-2586 Correct search overrides documentation in opensearch.properties omit b367787dae JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql omit bd650deb7e JAMES-2586 Implement UidSearchOverride for Postgresql omit c95f95e221 JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql omit 6aee4e9297 JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql omit 4621b0ad62 JAMES-2586 Implement DeletedSearchOverride for Postgresql omit 931fccc8d5 JAMES-2586 Implement AllSearchOverride for Postgresql omit 77ca11653c JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875) omit ee731c57ba JAMES-2586 Message body deduplication (#1873) omit 64d524375a JAMES-2586 Module chooser: S3, file blobStore omit 77b4291cc5 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser omit b83e6a79c1 JAMES-2586 Add docker compose distributed with OpenSearch for postgres app omit bc35746b50 JAMES-2586 Add search module chooser for Postgres app omit 1f1582ddcd [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867) omit 3e837a2951 JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858) omit 23b3efa252 JAMES-2586 Add an Id for SieveScript (#1863) omit e0ded32754 JAMES-2586 add missing RLS tests omit d3162c0726 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml omit 4020a3904e JAMES-2586 Fix compilation errors omit a47923646a JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table omit a0d56c7862 JAMES-2586 Finally remove the rest of JPA in postgres-app omit a61ce58027 JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository omit f488c1d6b4 JAMES-2586 Documentation for PostgresMailRepository omit 3ea0846a0c JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code omit 6741396e91 JAMES-2586 Implement PostgresMailRepository omit 2059be497e JAMES-2586 Guice binding for PostgresSieveScriptDAO omit c3ee8db7ee JAMES-2586 Delete JPASieveScript.java omit 4e56c426df JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository omit b6ef595fc3 JAMES-2586 ADR for Posgres mailbox tables structure (#1857) omit 6d3c27eda4 JAMES-3967 Store mails when relay is exceeded omit 9132406cb6 JAMES-2586 Implement and bind PostgresHealthCheck omit 6e6e0d05fe JAMES-2586 Remove JPAMailRepositoryUrlStore.java omit 27c5402889 JAMES-2586 Implement PostgresMailRepositoryUrlStore omit 107465410d JAMES-2586 Remove JPAHealthCheck.java omit decec6ffc5 JAMES-2586 PostgresDelegationStore (#1851) omit ddad6b5951 JAMES-2586 Fixup compile error after merge master omit 540c68b026 JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable omit 6c47b076ad JAMES-2586 PostgresTableManager - Cleanup omit c73b5b9eaf JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table omit 85cb680676 JAMES-2586 PostgresExecutor: better recognize prepared statement conflict omit 95ce123a75 JAMES-2586 Add a unit test for recreate RLS column should not fail omit 6ff020d40c JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader omit 7a12cd37fe JAMES-2586 Postgres app – Remove server test for authentication database sql validation omit b5070d0e75 JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4) omit bee56a7392 JAMES-2586 Fix missing guice binding for Postgres quota module omit 30bb3f4822 JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method omit 462d4d3c30 JAMES-2586 [PGSQL] Optimize getMailboxCounter method omit 4752c9063a JAMES-2586 [PGSQL] Implement correctly FetchType omit 0c70f75840 JAMES-2586 Fully drop JPA within mailbox-postgresql omit dbf254034b JAMES-2586 Enable PostgresMailboxManager annotation tests omit e2f58e133e JAMES-2586 Enable UniqueID support for PostgresMailboxManager omit 0d0ef9b3fe JAMES-2586 Remove unused method in MessageManager omit f76c03ee6c JAMES-2586 Remove unused class MessageUtils.java omit ad7118be26 JAMES-2586 Enable ACL support for PG omit 88ea870ab5 JAMES-2586 [PGSQL] Initialization to configure users repository omit c88db1a3d1 JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839) omit ac8629030d JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception omit 1d0734ae74 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts omit 88c7c95d4f JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest omit 5bfb986f99 JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test omit a27db56f89 JAMES-2586 Guide binding Postgres Message/Mailbox mapper omit fb512dc780 JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test omit 5f002f91df JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer omit 54445aab14 JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock omit d4178d1bec JAMES-2586 - Fixup PostgresMailboxMessageDAO omit cf3db9cd34 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages omit a0a9be54f4 JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted omit 7919fe0569 JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table omit 781dc04e40 JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc omit 63cf6b41e2 JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager omit d36f402283 JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain omit 9cc986a1f5 JAMES-2586 Guice bindings and package renaming for domain postgres implementation omit 88577b0a7c JAMES-2586 Implement PostgresDomainList omit bf68d222d9 JAMES-2586 Remove unused method in PostgresExecutor omit cd12569cf5 JAMES-2586 postgres mailbox annotation dao and mapper (#1822) omit b6e9be7844 JAMES-2586 Implement Postgres Current Quota manager omit d8e4a263b2 JAMES-2586 Implement PostgresMailboxMessageDAO (#1812) omit dae2214e96 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres omit 3afbbe13ad JAMES-2586 Implement SieveQuotaRepository backed by Postgres omit 5b0368c228 JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816) omit a9b79a1970 JAMES-2586 Implement PostgresQuotaLimitDAO omit 956dd732fe JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813) omit 59c6016407 JAMES-2586 postgres users dao and repository (#1803) omit 36a91ded62 JAMES-2586 Create hstore extension if needed upon James startup omit 80d8824f2c JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper omit 6306fdef98 JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module omit ccbff67d12 JAMES-2586 Implement PostgresModSeqProvider omit a36130960d JAMES-2586 Implement PostgresUidProvider omit 74c057aa30 JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory omit 8c6a055755 JAMES-2586 Clean-up the provision.sh file of postgres-app omit 0f3e353033 JAMES-2586 LOGGER when choice implementation of Postgresql connection factory omit 2447d7285b JAMES-2586 Introduce Single postgres connection factory when disable row level security omit 087574af07 JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory omit 0b49ce9c36 JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks omit 0620c26a0f JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain omit a73424bae8 JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem omit 57393a6e3c JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres omit 5d8e145e9b JAMES-2586 Postgres app performance test materials (#1794) omit 4783dc0802 JAMES-2586 implement postgres mailbox mapper (#1791) omit 85ecb2de61 JAMES-2586 implement dao for mailbox table (#1786) omit 67f6794e56 JAMES-2586 Fix row-level security implementation omit b2a40923c6 JAMES-2586 Small codestyle refactorings omit d2c1e40d5c JAMES-2586 PostgresExtension: favor factory methods to constructor omit 89900704c5 JAMES-2586 Document (link) varchar underlying maximum lengths omit 60d852be6e JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions omit 8679270ad2 JAMES-2586 Drop unused class: JPASubscription omit 702ada7633 JAMES-2586 Drop unused class: EncryptDecryptHelper omit 6b105a283f JAMES-2586 Drop reporting-site.xml omit e7e1353cc4 JAMES-2586 Drop Spring files for mailbox-postgres omit c177e241cf JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule omit d57e96ce4e JAMES-2586 Polish code style: PostgresSubscriptionMapper omit 3b5bacec91 JAMES-2586 Use prepared statements by default omit 0133b82993 JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage omit a039fb8bc3 JAMES-2586 Rename mailbox postgres package omit 9644cdc76c JAMES-2586 Rename Postgres Subscription omit 2b47ee79fd JAMES-2586 Guice binding for Postgres subscription module omit 9466c7bce9 JAMES-2586 Fix review comments omit c580f1db22 JAMES-2586 Sample docker configuration for postgres.properties omit 38b02af197 JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled omit 4b00d8ecf9 JAMES-2586 Guice binding for PostgresTableManager omit 83f3383135 JAMES-2586 Guice binding for JamesPostgresConnectionFactory omit 9492d0d40d JAMES-2586 Guice binding for PostgresConfiguration omit e3da8b68a5 JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres omit 621c46a426 JAMES-2586 Introduce PostgresConfiguration omit fcaeb611fe JAMES-2586 implement pg connection factory (#1774) omit fbcc6c9111 JAMES-2586 Postgres Subscription mapper (#1775) omit 8fb0502405 JAMES-2586 Introduce PostgresExtension omit 062ad690fa [CI] Maven runs test on only postgres modules (postgresql branch) omit 17b80bce8c JAMES-2586 PostgresTableManager support create table when enable row level security omit 115d0dcd1e JAMES-2586 - Implement PostgresTableManager omit d8b314fa42 JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres omit 4386110020 JAMES-2586 - Postgres - Init james-server-postgres-common-guice omit 141bb97237 JAMES-2586 - Postgres - Init james-server-data-postgres omit b43158b3b3 JAMES-2586 - Postgres - Init postgres app server omit b61d7fd05d JAMES-2586 - Postgres - Init postgres mailbox module omit a8a86c2ec7 JAMES-2586 - Postgres - Init backend common module for postgres add d1affd2426 [FIX] LdapRepositoryConfiguration should interoperate with UsersRepositoryImpl (#1855) add aad590c27c [ENHANCEMENT] More tests for ReactiveThrottler (#1854) add a4d751b147 JAMES-3967 Store mails when relay is exceeded add 00334457dc JAMES-3967 RelayLimit: add error log add 75a776dbf8 [FIX] Set up JMX auth filter for Guice add 877e361c3e [FIX] Set up JMX auth for Spring add a14ddfa1f9 [FIX] Document JMX auth for Spring add 8e7c7ac7ae [FIX] Add more JMX disclaimers add 39886e3947 JAMES-3944 Add more tests with filter forwards with self forward use cases add 45356a83d1 JAMES-3944 Forcing local copy out of forwards add b99353a17d JAMES-3944 Forcing local copy out of forwards rule add c08a1bbb29 JAMES-3944 Rename CommonProcessor: rrtError add d7b0c26128 JAMES-3944 Record forward loops as rrt-error add c86910953c JAMES-3944 Keep original name add e21f85beec JAMES-3944 IsSenderInRRTLoop should also rely on recorded recipients add 8b418eb6de JAMES-3944 Configure rrt-error in more places add d7475326f1 JAMES-3944 Reprocessing should reset loop detection add a254af3458 [FIX] Enforce CRLF as part of SMTP DATA transaction (#1876) add 30ad5e1704 [FIX] Close connection after DATA errors add dfbd3b2aef [FIX] Ignore commands after closed connection add 3cf42e9630 [ENHANCEMENT] DataLineJamesMessageHookHandler: method extraction add 9e1fa03a17 JAMES-3817 Only perform JMAP event bus dead letter health check if JMAP is used add e89f35a503 [PERF] Only bind JMAPEventBusModule when JMAP is enabled add eeb7a09e02 [FIX] JMX password auto-detection add a444f47c95 JAMES-3897 CrowdSec integration test for SMTP add 7bce5b4eda JAMES-3897 CrowdsecHttpClientTest: some test statements were not taken into account add 26eac6facf CHANGELOG refresher as off 08/01/2024 add 9a057de5d1 [Documentation] Fix some broken links in install page add e2e5bd0ea3 JAMES-2586 - Postgres - Init backend common module for postgres add 616ac7eb6e JAMES-2586 - Postgres - Init postgres mailbox module add 0c7deb07c0 JAMES-2586 - Postgres - Init postgres app server add 6f0e1e8b3f JAMES-2586 - Postgres - Init james-server-data-postgres add aff9605ed4 JAMES-2586 - Postgres - Init james-server-postgres-common-guice add 1ad2132ca8 JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres add d9380e90a2 JAMES-2586 - Implement PostgresTableManager add 2b07a8519c JAMES-2586 PostgresTableManager support create table when enable row level security add e97ac61b10 [CI] Maven runs test on only postgres modules (postgresql branch) add 82fa876823 JAMES-2586 Introduce PostgresExtension add da72c5f9a1 JAMES-2586 Postgres Subscription mapper (#1775) add 525735b115 JAMES-2586 implement pg connection factory (#1774) add d0870b8d06 JAMES-2586 Introduce PostgresConfiguration add b40c3b418d JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres add ca315c7bd7 JAMES-2586 Guice binding for PostgresConfiguration add f8b920e815 JAMES-2586 Guice binding for JamesPostgresConnectionFactory add 2a3593f40d JAMES-2586 Guice binding for PostgresTableManager add c6cd4c1297 JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled add c27919bdb9 JAMES-2586 Sample docker configuration for postgres.properties add 3c0e6c9b88 JAMES-2586 Fix review comments add 4a6f974a11 JAMES-2586 Guice binding for Postgres subscription module add 701ad53656 JAMES-2586 Rename Postgres Subscription add db658a2502 JAMES-2586 Rename mailbox postgres package add 6a16a4cb45 JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage add ab85e99053 JAMES-2586 Use prepared statements by default add 302b712da0 JAMES-2586 Polish code style: PostgresSubscriptionMapper add 4977c6c358 JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule add 778c8a2fcd JAMES-2586 Drop Spring files for mailbox-postgres add 757726a3e3 JAMES-2586 Drop reporting-site.xml add d224f90f79 JAMES-2586 Drop unused class: EncryptDecryptHelper add 273e292e73 JAMES-2586 Drop unused class: JPASubscription add 00ad65a2e4 JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions add 4165320c42 JAMES-2586 Document (link) varchar underlying maximum lengths add d7e807b9d9 JAMES-2586 PostgresExtension: favor factory methods to constructor add ab6a795f18 JAMES-2586 Small codestyle refactorings add 41b4ef8cbe JAMES-2586 Fix row-level security implementation add a83acfc7ca JAMES-2586 implement dao for mailbox table (#1786) add cdc4115f04 JAMES-2586 implement postgres mailbox mapper (#1791) add cea451f9cc JAMES-2586 Postgres app performance test materials (#1794) add cb44ee01eb JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres add e10085b27c JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem add 67c3d85cbd JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain add aa6e334d8c JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks add 289e86471e JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory add 26e23a9c91 JAMES-2586 Introduce Single postgres connection factory when disable row level security add c7857a876a JAMES-2586 LOGGER when choice implementation of Postgresql connection factory add 61c7a27d17 JAMES-2586 Clean-up the provision.sh file of postgres-app add 804c855190 JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory add 1d75e52137 JAMES-2586 Implement PostgresUidProvider add cafd28ab02 JAMES-2586 Implement PostgresModSeqProvider add eda31672af JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module add cce5f98746 JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper add 3bf5656e76 JAMES-2586 Create hstore extension if needed upon James startup add c4d3acbdbd JAMES-2586 postgres users dao and repository (#1803) add ce1279f46b JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813) add 01ed9c9780 JAMES-2586 Implement PostgresQuotaLimitDAO add d8af3d3ead JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816) add e0e1793e9c JAMES-2586 Implement SieveQuotaRepository backed by Postgres add bea6b9d591 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres add 3cd1ed5249 JAMES-2586 Implement PostgresMailboxMessageDAO (#1812) add 6bc2792bcb JAMES-2586 Implement Postgres Current Quota manager add f35eb140c4 JAMES-2586 postgres mailbox annotation dao and mapper (#1822) add 20ce82321b JAMES-2586 Remove unused method in PostgresExecutor add 3feadb463d JAMES-2586 Implement PostgresDomainList add b84b641a40 JAMES-2586 Guice bindings and package renaming for domain postgres implementation add e89b92a2be JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain add 59c699c8c6 JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager add cbcd3a75b0 JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc add f61e2b397a JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table add 52034b6058 JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted add cffb676ac5 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages add cb9f703c28 JAMES-2586 - Fixup PostgresMailboxMessageDAO add 078ec58ca1 JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock add 2d3755c241 JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer add 80990d9e0a JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test add a809cc0834 JAMES-2586 Guide binding Postgres Message/Mailbox mapper add ce783bf0ea JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test add dd4ff12c1e JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest add 734f0f6545 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts add b1875b3728 JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception add 3780f0ee8e JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839) add fcad76e023 JAMES-2586 [PGSQL] Initialization to configure users repository add 98c83ce092 JAMES-2586 Enable ACL support for PG add 38f0659204 JAMES-2586 Remove unused class MessageUtils.java add b898f148f8 JAMES-2586 Remove unused method in MessageManager add 7f99f10ede JAMES-2586 Enable UniqueID support for PostgresMailboxManager add d71da17a74 JAMES-2586 Enable PostgresMailboxManager annotation tests add a7b87fcd4f JAMES-2586 Fully drop JPA within mailbox-postgresql add f096f54407 JAMES-2586 [PGSQL] Implement correctly FetchType add f414eba135 JAMES-2586 [PGSQL] Optimize getMailboxCounter method add 542e495631 JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method add b779c03d8b JAMES-2586 Fix missing guice binding for Postgres quota module add 7ae08f0787 JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4) add 4395e4b763 JAMES-2586 Postgres app – Remove server test for authentication database sql validation add abcf6a3172 JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader add eb1d5d3d39 JAMES-2586 Add a unit test for recreate RLS column should not fail add ea53cb9598 JAMES-2586 PostgresExecutor: better recognize prepared statement conflict add 0479e46221 JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table add 6656e7e585 JAMES-2586 PostgresTableManager - Cleanup add 96c2a6c621 JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable add f1edd181ef JAMES-2586 Fixup compile error after merge master add e33e472361 JAMES-2586 PostgresDelegationStore (#1851) add 4640351088 JAMES-2586 Remove JPAHealthCheck.java add 8600abedea JAMES-2586 Implement PostgresMailRepositoryUrlStore add 96371967af JAMES-2586 Remove JPAMailRepositoryUrlStore.java add 697886b33a JAMES-2586 Implement and bind PostgresHealthCheck add 7ba0914bd9 JAMES-3967 Store mails when relay is exceeded add 6f28b22155 JAMES-2586 ADR for Posgres mailbox tables structure (#1857) add 826d3f8366 JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository add 0e1e1c5577 JAMES-2586 Delete JPASieveScript.java add 5d91717e2b JAMES-2586 Guice binding for PostgresSieveScriptDAO add 0923eeda52 JAMES-2586 Implement PostgresMailRepository add fb8e8cc607 JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code add 3fa7d49e36 JAMES-2586 Documentation for PostgresMailRepository add 8050e015d0 JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository add 974640eb1c JAMES-2586 Finally remove the rest of JPA in postgres-app add 962c6f845f JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table add 231a9ba1dc JAMES-2586 Fix compilation errors add 9c278ffa07 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml add c74ee55e1f JAMES-2586 add missing RLS tests add 295e435013 JAMES-2586 Add an Id for SieveScript (#1863) add b2b92ed6f7 JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858) add 2d6211dcd8 [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867) add a037884397 JAMES-2586 Add search module chooser for Postgres app add 1a6dc5684e JAMES-2586 Add docker compose distributed with OpenSearch for postgres app add 55bd624ee5 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser add c5f0cea5ce JAMES-2586 Module chooser: S3, file blobStore add fd1fe3562d JAMES-2586 Message body deduplication (#1873) add dc5d2a61e3 JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875) add 9ba5d0a8bd JAMES-2586 Implement AllSearchOverride for Postgresql add 8fce1eb347 JAMES-2586 Implement DeletedSearchOverride for Postgresql add 5283b13b68 JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql add 9a6c242aee JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql add 7c742d0a47 JAMES-2586 Implement UidSearchOverride for Postgresql add d7b0da3f35 JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql add ba5591e225 JAMES-2586 Correct search overrides documentation in opensearch.properties add 5d73c3dd3a JAMES-2586 Refactor search overrides tests for postgresql add 88e5638818 JAMES-2586 Unnecessary join on deleted uid search queries in postgresql add acc74a131b JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice add d5ea5b6eb2 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app add 4936eadc55 JAMES-2586 Implement DeleteMessageListener for postgres (#1869) add 959f4a16a8 JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880) add 133dbe675e JAMES-2586 Implement PostgresEventDeadLetters add 5cb0036ed2 JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota add 5e88a16e9d JAMES-2586 Add missing license add 5840dbe903 JAMES-2586 Add a health check integration test add d4011ecd93 JAMES-2586 Implement PostgresBlobStoreDAO add 5dc7bd77c4 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO add 1a1e5fe3a2 JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser add 680b3bb077 JAMES-2586 Adopt Postgres 16.1 (#1897) add 0b458d8d89 JAMES-3777 [FIX] ReadProjection was not correctly used (#1899) add 701fa0db77 JAMES-2586 Bump jOOQ to 3.16.23 add 749c69bb49 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE add 839c1e0995 JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security add 8dabcacd42 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS add bab9bbe1ea Guice InitializationOperation support priority when init module add 79291445a3 JAMES-2586 Refactor the way initPostgres of PostgresTableManager add 4d139f6a25 JAMES-2586 Implement PostgresDeletedMessageMetadataVault add 617a3d3b58 JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault add bc6b5eff50 JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener add 7053bb8143 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest add 320bc007c3 JAMES-2586 Plug PreDeletionHooks add 26259e43ee JAMES-2586 - Set blobStorage implementation is postgres by default add 35bd908641 JAMES-2586 Implement BlobReferenceSource(s) for postgres-app add 5abe1b002e JAMES-2586 add mailbox para for generateMessageUid method in MapperProvider add 17b5e2bd2f JAMES-2586 Implement PostgresMessageIdMapper add 84aab1f734 JAMES-2586 Introduce data-jmap-postgres module add c40afa00ee JAMES-2586 DeleteMessageListener: better concurrency control upon mailbox deletion add 199cf8d3e7 JAMES-2586 Jenkinsfile: run tests for `server/data/data-jmap-postgres` module add 96f245cea3 JAMES-2586 - CLEAN CODE - Guice binding for Postgres User Repository modules add 1ddd299f8c JAMES-2586 Implement PostgresMessageFastViewProjection add 8065b31abf JAMES-2586 Moving Managers out of the mail package add 3fbe2c7179 JAMES-2586 Wire StoreMessageIdManager on top of the PostgresMessageIdMapper + tests add f10d4a442c JAMES-2586 Little refactoring around DeleteMessageListener binding in posgres mailbox tests add fc37dddac3 JAMES-2586 JMAP Guice bindings modules to pg-app add 25721620e6 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app add b092ea3591 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app add 3243752f86 JAMES-2586 Implement PostgresAttachmentMapper, DAO and binding add 0c072806ae JAMES-2586 Implement Postgres Attachment Blob reference source add 2e8dacb72f JAMES-2586 - Delete attachment in DeleteMessageListener add 1d2df3d316 JAMES-2586 Webadmin integration tests for postgres add 8ca4c41ab8 JAMES-2586 Implement PostgresEmailChangeRepository add 68f65ab2c5 JAMES-2586 - Delete Message Listener - add test case when delete mailbox has a lot of messages add e4f011c70c JAMES-2586 - Fixbug - Delete Message Listener - Fix hanging issue add 1d4ba1a19f JAMES-2586 - Fixbug hanging issue when Jooq execute delete and return list add b4f5d855c9 JAMES-2586 Implement PostgresEmailChangeRepository - Fixup Guice binding add 50cfa66223 JAMES-2586 Implement Postgres upload repository add b8e17bf992 JAMES-2586 Implement Postgres upload usage repository add 58d68faf06 JAMES-2586 Guice binding for Postgres upload add 22f544c99c JAMES-2586: The UploadRepositoryCleanupTask should rely on the UploadRepository interface add 20392b7801 JAMES-2586: Guice binding JmapUploadCleanupModule for Postgres webadmin add b912aca11e JAMES-2586 Disable row-level security by default in postgres.properties add 553868f628 JAMES-2586 Implement Postgres Push subscription add 3bb9feafbb JAMES-2586 Introduce sql script to clean up PGSL data add 1ac910c8e6 JAMES-2586 Implement PostgresThreadIdGuessingAlgorithm (#1941) add 53e92ede2c JAMES-2586 Implement PostgresMailboxChangeRepository add 1a96bbfd82 JAMES-2586 Guice binding PostgresMailboxChangeRepository add 72227cda18 JAMES-2586 Implement PostgresFilteringProjection add e58f7311b4 JAMES-2586 Implement PostgresCustomIdentityDAO add f4efc92ef9 JAMES-2586 Handle case when Postgres index/constraint already exists add ba7abd395d JAMES-2586 More flexible on comparing Vacation's ZonedDateTime add e9f1a69063 JAMES-2586 Implement PostgresVacationRepository add 18c7b91edb JAMES-2586 Guice binding PostgresVacationRepository add dadd591cb2 JAMES-2586 Improve PostgresVacationRepository add 5358cec299 JAMES-2586 Temporarily disable a flaky PostgresUploadService test add 1a0be7116c JAMES-2586 Optimize query increase/decrease for Quota Current Value add 7fe663814e JAMES-2586 Add Index for Postgres Mailbox table add 7dc4891429 JAMES-2586 Implement PostgresNotificationRegistry add 442305327a JAMES-2586 SQL script to clean outdated vacation notifications add 9282cb6840 JAMES-2586 Guice binding for PostgresNotificationRegistry add 24947d762b JAMES-2586 Fix contract test NotificationRegistryContract::registerShouldNotPersistWhenExpiryDateIsPresent add 310fbcce44 JAMES-2586 [Documentation] Using pg_stat_statements extension for track the stats of the SQL statement execution add b69d11dbc5 JAMES-3981 Lower log level of closed connections add 91594e0921 JAMES-3981 Warn upon invalid RCPT add 5f8f5bf161 JAMES-3981 Remove double logs upon closed channels add 7239b59a79 JAMES-2586 Avoid Using COUNT() in SQL When You Could Use EXISTS() add d51f6326d4 JAMES-2586 Move some files from event-store-cassandra to event-store-api add dd346e3e25 JAMES-2586 Implement PostgresEventStore add e1beb6150d JAMES-2586 Implement PostgresEmailQueryView (#2007) add cefca128d7 JAMES-2586 - Postgres push subscription - expires value should be stored Offset time add 5e2bc8ab72 JAMES-2586 Integration tests for JMAP postgres add bbf0ef8264 JAMES-2586 Disable some tests in Integration tests JMAP postgres add 159806c86a JAMES-2586 Fix PostgresAuthenticationTest add 29c85f3fe2 JAMES 2586 PostgresPushSubscriptionRepository: rely on Postgres unique constraint for deviceClientId (#2094) add 3d69dc9fdc JAMES-2586 [Postgres] FIXUP when query with IN - should pre-check collection size (#2103) add 12da8afd15 [Build] Use tmpfs for Postgres db test container add 37d12539dc JAMES-2586 Fix PostgresPushSubscriptionSetMethodTest, PostgresThreadGetTest add e37d3e1ae3 JAMES-2586 Replace drop by truncate in PostgresMessageFastViewProjection add 2132e540c9 JAMES 2586 Increase timeout to 1 hour for postgres-jmap-integration-test module add 6d2c565812 JAMES 2586 Try forkCount=2 to see if the tests are faster add f5ca047cfe Provision Current Quota when MailboxAdded event add e8dd1d4f26 Add sslMode to require in PostgresqlConnectionConfiguration (#2109) add 8b4f355688 JAMES-2586 Reduce repeat count for some JMAP integration tests add b0334068c6 JAMES-2586 Add PostgresAttachmentMapper to PostgresMessageIdMapper add 843aa8463e JAMES-2586 Bind PostgresMessageFastViewProjection add 7c538ce49c JAMES-2586 Optimize AttachmentLoader add b71b7e0a99 JAMES-2586 Fix PostgresEmailGetMethodTest add bdf92d37b0 JAMES-2586 Fix PostgresEmailQueryMethodTest add 3ea70f0020 JAMES-2586 Fix PostgresMailboxSetMethodTest add b3275a5133 JAMES-2586 remove redundant import in PostgresPushSubscriptionSetMethodTest add 0d75d20651 JAMES-2586 Remove opensearch in PostgresWebPushTest add 34dc0ba650 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied add 50c3de82ab JAMES-3925 - JMAP Upload - Update current usage only when delete succeed add b18ca30f2c JAMES-2586 - JMAP Upload - Fix unstable UploadService test 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 (bf5f99e455) \ N -- N -- N refs/heads/postgresql-backup (b18ca30f2c) 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. No new revisions were added by this update. Summary of changes: CHANGELOG.md | 94 +++++++ Jenkinsfile | 2 + .../james/backends/postgres/PostgresCommons.java | 25 +- .../backends/postgres/PostgresConfiguration.java | 204 ++++++++++---- .../quota/PostgresQuotaCurrentValueDAO.java | 87 ++++-- .../utils/JamesPostgresConnectionFactory.java | 1 + .../backends/postgres/utils/PostgresExecutor.java | 26 ++ .../postgres/PostgresConfigurationTest.java | 131 +++++---- .../james/backends/postgres/PostgresExtension.java | 62 +++-- .../james/backends/postgres/PostgresFixture.java | 4 +- .../james/events/PostgresEventDeadLetters.java | 6 +- event-sourcing/event-store-api/pom.xml | 8 + .../eventstore}/EventNestedTypes.java | 2 +- .../eventstore}/JsonEventSerializer.scala | 4 +- .../eventsourcing/eventstore}/dto/EventDTO.scala | 2 +- .../eventstore}/dto/EventDTOModule.scala | 2 +- .../eventstore/EventStoreContract.scala | 2 +- .../eventsourcing/eventstore}/dto/OtherEvent.scala | 2 +- .../eventstore}/dto/OtherTestEventDTO.scala | 3 +- .../eventstore}/dto/SnapshotEvent.scala | 2 +- .../eventstore}/dto/SnapshotEventDTO.scala | 3 +- .../eventstore}/dto/TestEventDTO.scala | 3 +- .../eventstore}/dto/TestEventDTOModules.scala | 3 +- .../eventstore/cassandra/EventStoreDao.scala | 2 +- .../cassandra/CassandraEventStoreExtension.scala | 2 +- ...CassandraEventStoreExtensionForTestEvents.scala | 3 +- .../cassandra/CassandraEventStoreTest.scala | 2 +- .../cassandra/JsonEventSerializerTest.scala | 3 +- .../event-store-postgres}/pom.xml | 62 ++--- .../eventstore/postgres/PostgresEventStore.java | 81 ++++++ .../eventstore/postgres/PostgresEventStoreDAO.java | 124 +++++++++ .../postgres/PostgresEventStoreModule.java | 41 +-- .../postgres/PostgresEventSourcingSystemTest.java | 13 +- .../postgres/PostgresEventStoreExtension.java | 72 +++++ .../PostgresEventStoreExtensionForTestEvents.java | 20 +- .../postgres/PostgresEventStoreTest.java | 65 +++++ event-sourcing/pom.xml | 1 + .../mail/eventsourcing/acl/ACLModule.java | 2 +- .../mail/eventsourcing/acl/ACLUpdatedDTO.java | 2 +- .../cassandra/CassandraMailboxManagerTest.java | 4 +- .../CassandraThreadIdGuessingAlgorithmTest.java | 6 +- .../mail/CassandraACLMapperNoACLTest.java | 3 +- .../cassandra/mail/CassandraACLMapperV2Test.java | 2 +- .../cassandra/mail/CassandraMailboxMapperTest.java | 3 +- .../cassandra/mail/CassandraMapperProvider.java | 13 +- .../mail/CassandraMessageIdMapperTest.java | 12 +- .../mailbox/cassandra/mail/utils/GuiceUtils.java | 6 +- .../james/mailbox/jpa/mail/JPAMapperProvider.java | 2 +- .../inmemory/mail/InMemoryMapperProvider.java | 2 +- .../DeletedMessageVaultDeletionCallback.java | 2 +- .../quota/cassandra/dto/QuotaEventDTOModules.java | 2 +- .../dto/QuotaThresholdChangedEventDTO.java | 2 +- ...sandraQuotaMailingListenersIntegrationTest.java | 2 +- mailbox/postgres/pom.xml | 13 +- .../mailbox/postgres/DeleteMessageListener.java | 45 ++- .../postgres/PostgresMailboxAggregateModule.java | 6 +- .../{mail => }/PostgresMailboxManager.java | 9 +- .../PostgresMailboxSessionMapperFactory.java | 37 ++- .../james/mailbox/postgres/PostgresMessageId.java | 3 +- .../{mail => }/PostgresMessageManager.java | 9 +- .../PostgresThreadIdGuessingAlgorithm.java | 91 +++++++ ....java => UnsupportAttachmentContentLoader.java} | 2 +- .../mailbox/postgres/mail/AttachmentLoader.java | 86 ++++++ .../mail/MailboxDeleteDuringUpdateException.java | 6 +- .../postgres/mail/MessageRepresentation.java | 70 ++++- .../PostgresAttachmentBlobReferenceSource.java | 37 +-- .../postgres/mail/PostgresAttachmentMapper.java | 124 +++++++++ .../postgres/mail/PostgresAttachmentModule.java | 42 +-- .../postgres/mail/PostgresMailboxModule.java | 5 + .../PostgresMessageBlobReferenceSource.java} | 26 +- .../postgres/mail/PostgresMessageIdMapper.java | 288 ++++++++++++++++++++ .../postgres/mail/PostgresMessageMapper.java | 19 +- .../postgres/mail/PostgresMessageModule.java | 6 + .../postgres/mail/dao/PostgresAttachmentDAO.java | 126 +++++++++ .../postgres/mail/dao/PostgresMailboxDAO.java | 12 +- .../mail/dao/PostgresMailboxMessageDAO.java | 100 +++++-- .../dao/PostgresMailboxMessageFetchStrategy.java | 1 + .../postgres/mail/dao/PostgresMessageDAO.java | 17 +- .../postgres/mail/dao/PostgresThreadDAO.java | 123 +++++++++ .../postgres/mail/dao/PostgresThreadModule.java | 48 ++-- .../mailbox/postgres/mail/dto/AttachmentsDTO.java | 140 ++++++++++ .../postgres/user/PostgresSubscriptionModule.java | 2 +- .../postgres/DeleteMessageListenerContract.java | 176 +++++++++++- .../postgres/DeleteMessageListenerTest.java | 68 ++++- .../postgres/DeleteMessageListenerWithRLSTest.java | 70 ++++- ...st.java => PostgresCombinationManagerTest.java} | 39 +-- .../PostgresCombinationManagerTestSystem.java | 66 +++++ ...a => PostgresMailboxManagerAttachmentTest.java} | 106 +++++--- .../postgres/PostgresMailboxManagerProvider.java | 28 +- .../postgres/PostgresMailboxManagerStressTest.java | 1 - .../postgres/PostgresMailboxManagerTest.java | 1 - ...java => PostgresMessageIdManagerQuotaTest.java} | 48 ++-- ...=> PostgresMessageIdManagerSideEffectTest.java} | 28 +- ...va => PostgresMessageIdManagerStorageTest.java} | 40 +-- .../PostgresMessageIdManagerTestSystem.java | 60 ++++ ...rovider.java => PostgresTestSystemFixture.java} | 100 +++---- .../PostgresThreadIdGuessingAlgorithmTest.java | 166 ++++++++++++ .../PostgresAttachmentBlobReferenceSourceTest.java | 111 ++++++++ .../mail/PostgresAttachmentMapperTest.java | 35 ++- .../postgres/mail/PostgresMapperProvider.java | 40 ++- .../PostgresMessageBlobReferenceSourceTest.java | 100 +++++++ ...rTest.java => PostgresMessageIdMapperTest.java} | 9 +- .../postgres/mail/PostgresMessageMapperTest.java | 1 + ...gresSubscriptionMapperRowLevelSecurityTest.java | 2 +- .../SearchThreadIdGuessingAlgorithmTest.java | 3 +- .../store/quota/ListeningCurrentQuotaUpdater.java | 22 +- .../store/ThreadIdGuessingAlgorithmContract.java | 14 +- .../mailbox/store/mail/model/MapperProvider.java | 2 +- .../store/mail/model/MessageIdMapperTest.java | 134 ++++----- .../quota/ListeningCurrentQuotaUpdaterTest.java | 38 +++ .../james/transport/matchers/RelayLimit.java | 5 +- .../postgres/host/PostgresHostSystem.java | 2 +- .../protocols/api/AbstractProtocolTransport.java | 11 +- .../netty/BasicChannelInboundHandler.java | 7 +- .../core/fastfail/AbstractValidRcptHandler.java | 7 + .../sample-configuration/mailetcontainer.xml | 4 +- .../org/apache/james/CassandraJamesServerMain.java | 2 +- .../src/test/resources/mailetcontainer.xml | 4 + .../main/java/org/apache/james/cli/ServerCmd.java | 12 +- .../docs/modules/ROOT/pages/configure/jmx.adoc | 11 +- .../sample-configuration/mailetcontainer.xml | 4 +- .../james/CassandraRabbitMQJamesServerMain.java | 9 +- ...oreConfigurationValidationStartUpCheckTest.java | 6 +- .../sample-configuration/mailetcontainer.xml | 4 +- .../james/DistributedPOP3JamesServerMain.java | 2 +- .../sample-configuration/mailetcontainer.xml | 4 +- .../sample-configuration/mailetcontainer.xml | 4 +- .../sample-configuration/mailetcontainer.xml | 4 +- .../java/org/apache/james/LmtpIntegrationTest.java | 26 ++ server/apps/postgres-app/README.adoc | 31 +++ server/apps/postgres-app/clean_up.sql | 26 ++ server/apps/postgres-app/docker-compose.yml | 1 + server/apps/postgres-app/pom.xml | 15 + .../sample-configuration/blob.properties | 66 +++++ .../sample-configuration/postgres.properties | 27 +- .../apache/james/PostgresJamesConfiguration.java | 35 ++- .../org/apache/james/PostgresJamesServerMain.java | 69 +++-- .../java/org/apache/james/PostgresJmapModule.java | 75 +++++ .../james/BodyDeduplicationIntegrationTest.java | 2 +- .../apache/james/JamesCapabilitiesServerTest.java | 3 +- ...rTest.java => PostgresJmapJamesServerTest.java} | 35 +-- .../src/test/resources/mailetcontainer.xml | 8 + .../sample-configuration/mailetcontainer.xml | 4 +- .../spring-app/src/main/resources/jmxremote.access | 1 + .../src/main/resources/jmxremote.password | 1 + .../src/main/resources/mailetcontainer.xml | 4 +- .../james/app/spring/JamesAppSpringMainTest.java | 17 ++ .../james/app/spring/JamesSpringContextTest.java | 18 +- .../org/apache/james/cli/DomainManageTest.java | 2 +- .../src/test/resources/mailetcontainer.xml | 6 + .../james/blob/postgres/PostgresBlobStoreDAO.java | 3 + ...PolicyConfigurationSanityEnforcementModule.java | 4 +- .../validation/StorageStrategyChangedDTO.java | 2 +- .../validation/StorageStrategyModule.java | 2 +- .../data/CassandraDLPConfigurationStoreModule.java | 4 +- .../james/modules/data/CassandraJmapModule.java | 10 +- .../eventstore/CassandraEventStoreModule.java | 5 +- .../modules/mailbox/CassandraMailboxModule.java | 6 +- .../mailbox/CassandraQuotaMailingModule.java | 4 +- .../java/org/apache/james/GuiceJamesServer.java | 2 +- .../org/apache/james/JamesServerExtension.java | 52 +++- .../DistributedTaskSerializationModule.java | 6 +- .../org/apache/james/modules/server/JMXServer.java | 5 +- .../modules/mailbox/PostgresMailboxModule.java | 37 ++- .../james/modules/data/MemoryDataJmapModule.java | 4 + server/container/guice/postgres-common/pom.xml | 10 + .../james/modules/data/PostgresCommonModule.java | 47 +++- .../data/PostgresDLPConfigurationStoreModule.java | 22 +- .../modules/data/PostgresDataJmapModule.java} | 36 +-- .../data/PostgresDelegationStoreModule.java | 23 -- .../modules/data/PostgresEventStoreModule.java} | 31 ++- .../modules/data/PostgresMailRepositoryModule.java | 7 + .../data/PostgresUsersRepositoryModule.java | 26 ++ .../james/modules/data/PostgresVacationModule.java | 56 ++++ .../main/resources/defaultJmapMailetContainer.xml | 5 + .../modules/server/JmapUploadCleanupModule.java | 6 +- .../rabbitmq/CassandraMailQueueViewModule.java | 4 +- .../META-INF/org/apache/james/spring-server.xml | 7 + .../org/apache/james/vacation/api/Vacation.java | 11 +- .../vacation/api/NotificationRegistryContract.java | 2 +- .../cassandra/DLPConfigurationItemAddedDTO.java | 2 +- .../cassandra/DLPConfigurationItemsRemovedDTO.java | 2 +- .../cassandra/DLPConfigurationModules.java | 2 +- .../cassandra/CassandraNotificationRegistry.java | 2 +- ...ventSourcingDLPConfigurationStoreExtension.java | 2 +- .../filtering/CassandraFilteringProjection.java | 1 + .../upload/CassandraUploadRepository.java | 11 +- .../james/jmap/cassandra/upload/UploadDAO.java | 5 +- ...ourcingFilteringManagementNoProjectionTest.java | 3 +- ...sandraEventSourcingFilteringManagementTest.java | 3 +- .../james/jmap/cassandra/filtering/DTOTest.java | 6 +- .../upload/CassandraUploadRepositoryTest.java | 22 +- .../data/data-jmap-postgres}/pom.xml | 100 ++++--- .../postgres/PostgresDataJMapAggregateModule.java | 28 +- .../postgres/change/PostgresEmailChangeDAO.java | 118 ++++++++ .../change/PostgresEmailChangeModule.java} | 51 ++-- .../change/PostgresEmailChangeRepository.java | 115 ++++++++ .../postgres/change/PostgresMailboxChangeDAO.java | 126 +++++++++ .../change/PostgresMailboxChangeModule.java | 73 +++++ .../change/PostgresMailboxChangeRepository.java | 115 ++++++++ .../postgres/change/PostgresStateFactory.java} | 15 +- .../filtering/PostgresFilteringProjection.java | 65 +++++ .../filtering/PostgresFilteringProjectionDAO.java | 109 ++++++++ .../PostgresFilteringProjectionModule.java | 45 ++- .../identity/PostgresCustomIdentityDAO.java | 231 ++++++++++++++++ .../identity/PostgresCustomIdentityModule.java | 77 ++++++ .../projections/PostgresEmailQueryView.java | 88 ++++++ .../projections/PostgresEmailQueryViewDAO.java | 143 ++++++++++ .../PostgresEmailQueryViewManager.java} | 29 +- .../projections/PostgresEmailQueryViewModule.java | 81 ++++++ .../PostgresMessageFastViewProjection.java | 105 +++++++ .../PostgresMessageFastViewProjectionModule.java} | 38 ++- .../PostgresPushSubscriptionDAO.java | 172 ++++++++++++ .../PostgresPushSubscriptionModule.java | 82 ++++++ .../PostgresPushSubscriptionRepository.java | 142 ++++++++++ .../jmap/postgres/upload/PostgresUploadDAO.java | 119 ++++++++ .../jmap/postgres/upload/PostgresUploadModule.java | 78 ++++++ .../postgres/upload/PostgresUploadRepository.java} | 66 +++-- .../upload/PostgresUploadUsageRepository.java | 69 +++++ .../change/PostgresEmailChangeRepositoryTest.java | 43 +-- .../PostgresMailboxChangeRepositoryTest.java | 43 +-- ...urcingFilteringManagementNoProjectionTest.java} | 31 +-- ...tgresEventSourcingFilteringManagementTest.java} | 37 +-- .../identity/PostgresCustomIdentityDAOTest.java | 19 +- .../PostgresEmailQueryViewManagerRLSTest.java | 73 +++++ .../projections/PostgresEmailQueryViewTest.java | 71 +++++ .../PostgresMessageFastViewProjectionTest.java | 51 ++-- .../PostgresPushSubscriptionRepositoryTest.java | 47 ++-- .../upload/PostgresUploadRepositoryTest.java} | 29 +- .../postgres/upload/PostgresUploadServiceTest.java | 78 ++++++ .../upload/PostgresUploadUsageRepositoryTest.java | 42 ++- .../FilteringIncrementalRuleChangeDTO.java | 5 +- .../FilteringRuleSetDefineDTOModules.java | 4 +- .../api}/filtering/FilteringRuleSetDefinedDTO.java | 4 +- .../apache/james/jmap/api}/filtering/RuleDTO.java | 3 +- .../projections/DefaultEmailQueryViewManager.java | 23 +- .../api/projections/EmailQueryViewManager.java | 9 +- .../api/projections/MessageFastViewProjection.java | 2 + .../james/jmap/api/upload/UploadRepository.java | 5 +- .../jmap/api/upload/UploadServiceDefaultImpl.java | 8 +- .../memory/upload/InMemoryUploadRepository.java | 20 +- .../api/filtering/FilteringManagementContract.java | 2 +- .../api/projections/EmailQueryViewContract.java | 2 +- .../jmap/api/upload/UploadRepositoryContract.scala | 31 +++ .../upload/InMemoryUploadRepositoryTest.java | 10 +- .../PushSubscriptionRepositoryContract.scala | 19 ++ .../jmap/api/upload/UploadServiceContract.scala | 5 + server/data/data-ldap/pom.xml | 4 + .../user/ldap/LdapRepositoryConfiguration.java | 4 +- .../user/ldap/LdapRepositoryConfigurationTest.java | 66 +++++ .../src/test/resources/usersrepository-default.xml | 8 + .../usersrepository-enableVirtualHosting.xml | 9 + .../usersrepository-supportsVirtualHosting.xml | 9 + .../memory/MemoryNotificationRegistry.java | 2 +- .../postgres/PostgresMailRepository.java | 301 +-------------------- .../PostgresMailRepositoryBlobReferenceSource.java | 25 +- ....java => PostgresMailRepositoryContentDAO.java} | 78 +++--- .../postgres/PostgresMailRepositoryFactory.java | 2 +- .../postgres/PostgresMailRepositoryUrlStore.java | 6 +- .../PostgresRecipientRewriteTableModule.java | 2 +- .../sieve/postgres/PostgresSieveScriptDAO.java | 7 +- .../user/postgres/PostgresDelegationStore.java | 2 +- .../james/user/postgres/PostgresUsersDAO.java | 7 +- .../postgres/PostgresNotificationRegistry.java} | 39 +-- .../postgres/PostgresNotificationRegistryDAO.java | 71 +++++ .../vacation/postgres/PostgresVacationModule.java | 91 +++++++ .../postgres/PostgresVacationRepository.java | 64 +++++ .../postgres/PostgresVacationResponseDAO.java | 156 +++++++++++ ...tgresMailRepositoryBlobReferenceSourceTest.java | 94 +++++++ .../postgres/PostgresMailRepositoryTest.java | 2 +- .../postgres/PostgresNotificationRegistryTest.java | 43 ++- .../postgres/PostgresVacationRepositoryTest.java | 30 +- .../apache/james/mailets/TemporaryJamesServer.java | 2 + .../mailets/configuration/CommonProcessors.java | 2 +- .../mailets/FilterForwardIntegrationTest.java | 55 +++- .../james/mailets/ForwardIntegrationTest.java | 76 +++++- .../james/mailets/ForwardLoopIntegrationTest.java | 221 +++++++++++++-- .../org/apache/james/mailets/MailetErrorsTest.java | 7 + .../james/transport/mailets/AliasMappingTest.java | 2 +- .../james/transport/mailets/DomainMappingTest.java | 2 +- .../transport/mailets/GroupMappingRelayTest.java | 2 +- .../james/transport/mailets/GroupMappingTest.java | 2 +- .../src/main/resources/mailetcontainer.xml | 9 + .../mailets/RecipientRewriteTableProcessor.java | 37 ++- .../transport/matchers/IsSenderInRRTLoop.java | 11 +- .../transport/matchers/IsSenderInRRTLoopTest.java | 27 ++ .../RemoteDeliveryForwardIntegrationTest.java | 2 +- server/pom.xml | 1 + .../jmap/draft/methods/GetMessageListMethod.java | 12 +- .../jmap/event/PopulateEmailQueryViewListener.java | 23 +- .../james/jmap/mailet/filter/ActionApplier.java | 38 ++- .../james/jmap/mailet/filter/JMAPFiltering.java | 11 +- .../event/PopulateEmailQueryViewListenerTest.java | 24 +- .../rfc8621/contract/EmailGetMethodContract.scala | 2 +- .../contract/EmailQueryMethodContract.scala | 34 +-- .../contract/MailboxSetMethodContract.scala | 3 +- .../PushSubscriptionSetMethodContract.scala | 5 + .../rfc8621/contract/QuotaGetMethodContract.scala | 134 ++++----- .../jmap/rfc8621/contract/UploadContract.scala | 2 +- .../src/test/resources/mailetcontainer.xml | 6 + .../jmap-rfc-8621-integration-tests/pom.xml | 1 + .../pom.xml | 72 +++-- .../postgres/PostgresAuthenticationTest.java} | 54 ++-- .../james/jmap/rfc8621/postgres/PostgresBase.java} | 56 ++-- .../postgres/PostgresCustomMethodTest.java} | 55 ++-- .../postgres/PostgresCustomNamespaceTest.java} | 55 ++-- .../PostgresDelegatedAccountGetMethodTest.java} | 11 +- .../postgres/PostgresDelegatedAccountSetTest.java} | 11 +- .../rfc8621/postgres/PostgresDownloadTest.java | 22 +- .../rfc8621/postgres/PostgresEchoMethodTest.java} | 11 +- .../postgres/PostgresEmailChangesMethodTest.java | 69 +++++ .../postgres/PostgresEmailGetMethodTest.java | 22 +- .../postgres/PostgresEmailQueryMethodTest.java | 83 ++++++ .../postgres/PostgresEmailSetMethodTest.java} | 47 ++-- ...sEmailSubmissionSetMethodFutureReleaseTest.java | 95 +++++++ .../PostgresEmailSubmissionSetMethodTest.java | 22 +- .../rfc8621/postgres/PostgresIdentityGetTest.java} | 11 +- .../rfc8621/postgres/PostgresIdentitySetTest.java} | 11 +- .../postgres/PostgresMDNParseMethodTest.java | 22 +- .../postgres/PostgresMDNSendMethodTest.java | 22 +- .../postgres/PostgresMailboxChangesMethodTest.java | 76 ++++++ .../postgres/PostgresMailboxGetMethodTest.java} | 15 +- .../postgres/PostgresMailboxQueryChangesTest.java} | 11 +- .../postgres/PostgresMailboxQueryMethodTest.java} | 11 +- .../postgres/PostgresMailboxSetMethodTest.java} | 31 ++- .../postgres/PostgresProvisioningTest.java} | 11 +- .../PostgresPushSubscriptionSetMethodTest.java} | 59 ++-- .../postgres/PostgresQuotaChangesMethodTest.java} | 11 +- .../postgres/PostgresQuotaGetMethodTest.java} | 11 +- .../postgres/PostgresQuotaQueryMethodTest.java} | 11 +- .../postgres/PostgresSessionRoutesTest.java} | 11 +- .../rfc8621/postgres/PostgresThreadGetTest.java} | 61 +++-- .../jmap/rfc8621/postgres/PostgresUploadTest.java | 8 +- .../PostgresVacationResponseGetMethodTest.java} | 11 +- .../PostgresVacationResponseSetMethodTest.java} | 11 +- .../rfc8621/postgres/PostgresWebPushTest.java} | 61 +++-- .../rfc8621/postgres/PostgresWebSocketTest.java} | 11 +- .../src/test/resources/dnsservice.xml | 0 .../src/test/resources/domainlist.xml | 0 .../src/test/resources/imapserver.xml | 0 .../src/test/resources/jmap.properties | 0 .../src/test/resources/keystore | Bin .../src/test/resources/listeners.xml | 0 .../src/test/resources/mailetcontainer.xml | 8 +- .../src/test/resources/mailrepositorystore.xml | 30 ++ .../src/test}/resources/managesieveserver.xml | 0 .../src/test}/resources/pop3server.xml | 0 .../src/test/resources/rabbitmq.properties | 0 .../src/test/resources/smtpserver.xml | 0 .../src/test/resources/usersrepository.xml | 25 ++ .../james/jmap/method/EmailQueryMethod.scala | 19 +- .../netty/ImapChannelUpstreamHandler.java | 8 +- .../imapserver/netty/ReactiveThrottlerTest.java | 81 ++++++ .../DataLineJamesMessageHookHandler.java | 49 +++- ...itMQWebAdminServerIntegrationImmutableTest.java | 1 + .../src/test/resources/mailetcontainer.xml | 5 + .../src/test/resources/mailetcontainer.xml | 5 + .../postgres/PostgresAuthorizedEndpointsTest.java} | 44 +-- ...tViewProjectionHealthCheckIntegrationTest.java} | 43 +-- .../postgres/PostgresForwardIntegrationTest.java} | 43 +-- .../PostgresJwtFilterIntegrationTest.java} | 50 ++-- .../PostgresQuotaSearchIntegrationTest.java} | 42 +-- .../PostgresUnauthorizedEndpointsTest.java} | 46 ++-- ...ostgresWebAdminServerBlobGCIntegrationTest.java | 280 +++++++++++++++++++ ...resWebAdminServerIntegrationImmutableTest.java} | 45 +-- .../PostgresWebAdminServerIntegrationTest.java} | 58 ++-- .../test/resources/eml/emailWithOnlyAttachment.eml | 0 .../src/test/resources/keystore | Bin .../src/test/resources/mailetcontainer.xml | 11 + .../WebAdminServerIntegrationImmutableTest.java | 6 +- .../integration/WebAdminServerIntegrationTest.java | 6 +- .../james/webadmin/data/jmap/JmapUploadRoutes.java | 6 +- .../webadmin/data/jmap/UploadCleanupTaskDTO.java | 4 +- .../data/jmap/UploadRepositoryCleanupTask.java | 10 +- .../webadmin/service/ReprocessingService.java | 3 + .../routes/MailRepositoriesRoutesTest.java | 30 ++ .../CassandraMailQueueViewConfigurationModule.java | 2 +- .../configuration/ConfigurationChangedDTO.java | 2 +- .../RabbitMQMailQueueConfigurationChangeTest.java | 2 +- .../EventsourcingConfigurationManagementTest.java | 2 +- .../distributed/RabbitMQTerminationSubscriber.java | 2 +- .../distributed/TasksSerializationModule.java | 4 +- .../eventsourcing/distributed/TaskEventDTO.scala | 2 +- .../distributed/DistributedTaskManagerTest.java | 7 +- .../RabbitMQTerminationSubscriberTest.java | 6 +- .../distributed/TaskEventsSerializationTest.java | 4 +- src/site/xdoc/server/config-system.xml | 13 +- src/site/xdoc/server/feature-security.xml | 7 + src/site/xdoc/server/install.xml | 5 +- testing/base/src/main/resources/logback-test.xml | 4 - third-party/crowdsec/pom.xml | 5 + .../java/org/apache/james/CrowdsecExtension.java | 65 ++++- .../org/apache/james/CrowdsecHttpClientTest.java | 14 +- .../org/apache/james/CrowdsecIntegrationTest.java | 220 +++++++++++++++ ...rowdsecExtension.java => HAProxyExtension.java} | 49 ++-- .../src/test/resources/crowdsec/acquis.yaml | 5 + .../resources/crowdsec}/collections/james.yaml | 0 .../resources/crowdsec}/parsers/james-auth.yaml | 0 .../crowdsec}/parsers/james-dictionary-attack.yaml | 0 .../resources/crowdsec}/parsers/syslog-logs.yaml | 0 .../crowdsec/scenarios/james-bf-auth.yaml | 14 + .../scenarios/james-dictionary-attack.yaml | 0 .../crowdsec/src/test/resources/imapserver.xml | 64 +++++ .../crowdsec}/src/test/resources/listeners.xml | 0 .../crowdsec/src/test/resources/log/james.log | 0 .../crowdsec/src/test/resources/logback-test.xml | 59 ++++ .../src/test/resources/mailetcontainer.xml | 0 .../crowdsec/src/test}/resources/pop3server.xml | 0 .../crowdsec/src/test/resources/smtpserver.xml | 84 ++++++ .../src/test/resources/usersrepository.xml | 0 upgrade-instructions.md | 11 + 411 files changed, 10471 insertions(+), 2691 deletions(-) copy event-sourcing/{event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/main/java/org/apache/james/eventsourcing/eventstore}/EventNestedTypes.java (95%) rename event-sourcing/{event-store-cassandra/src/main/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/main/scala/org/apache/james/eventsourcing/eventstore}/JsonEventSerializer.scala (96%) copy event-sourcing/{event-store-cassandra/src/main/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/main/scala/org/apache/james/eventsourcing/eventstore}/dto/EventDTO.scala (93%) rename event-sourcing/{event-store-cassandra/src/main/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/main/scala/org/apache/james/eventsourcing/eventstore}/dto/EventDTOModule.scala (96%) rename event-sourcing/{event-store-cassandra/src/test/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/test/scala/org/apache/james/eventsourcing/eventstore}/dto/OtherEvent.scala (95%) rename event-sourcing/{event-store-cassandra/src/test/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/test/scala/org/apache/james/eventsourcing/eventstore}/dto/OtherTestEventDTO.scala (94%) rename event-sourcing/{event-store-cassandra/src/test/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/test/scala/org/apache/james/eventsourcing/eventstore}/dto/SnapshotEvent.scala (95%) rename event-sourcing/{event-store-cassandra/src/test/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/test/scala/org/apache/james/eventsourcing/eventstore}/dto/SnapshotEventDTO.scala (94%) rename event-sourcing/{event-store-cassandra/src/test/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/test/scala/org/apache/james/eventsourcing/eventstore}/dto/TestEventDTO.scala (94%) rename event-sourcing/{event-store-cassandra/src/test/scala/org/apache/james/eventsourcing/eventstore/cassandra => event-store-api/src/test/scala/org/apache/james/eventsourcing/eventstore}/dto/TestEventDTOModules.scala (95%) copy {server/data/data-ldap => event-sourcing/event-store-postgres}/pom.xml (62%) create mode 100644 event-sourcing/event-store-postgres/src/main/java/org/apache/james/eventsourcing/eventstore/postgres/PostgresEventStore.java create mode 100644 event-sourcing/event-store-postgres/src/main/java/org/apache/james/eventsourcing/eventstore/postgres/PostgresEventStoreDAO.java copy server/data/data-postgres/src/main/java/org/apache/james/rrt/postgres/PostgresRecipientRewriteTableModule.java => event-sourcing/event-store-postgres/src/main/java/org/apache/james/eventsourcing/eventstore/postgres/PostgresEventStoreModule.java (60%) copy server/apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => event-sourcing/event-store-postgres/src/test/java/org/apache/james/eventsourcing/eventstore/postgres/PostgresEventSourcingSystemTest.java (79%) create mode 100644 event-sourcing/event-store-postgres/src/test/java/org/apache/james/eventsourcing/eventstore/postgres/PostgresEventStoreExtension.java copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => event-sourcing/event-store-postgres/src/test/java/org/apache/james/eventsourcing/eventstore/postgres/PostgresEventStoreExtensionForTestEvents.java (71%) create mode 100644 event-sourcing/event-store-postgres/src/test/java/org/apache/james/eventsourcing/eventstore/postgres/PostgresEventStoreTest.java rename mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/{mail => }/PostgresMailboxManager.java (94%) rename mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/{mail => }/PostgresMessageManager.java (92%) create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/PostgresThreadIdGuessingAlgorithm.java copy mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/{PostgresAttachmentContentLoader.java => UnsupportAttachmentContentLoader.java} (95%) create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/AttachmentLoader.java rename event-sourcing/event-store-cassandra/src/main/scala/org/apache/james/eventsourcing/eventstore/cassandra/dto/EventDTO.scala => mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/MailboxDeleteDuringUpdateException.java (90%) copy server/data/data-postgres/src/main/java/org/apache/james/mailrepository/postgres/PostgresMailRepositoryFactory.java => mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresAttachmentBlobReferenceSource.java (55%) create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresAttachmentMapper.java copy server/data/data-postgres/src/main/java/org/apache/james/rrt/postgres/PostgresRecipientRewriteTableModule.java => mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresAttachmentModule.java (60%) copy mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/{PostgresAttachmentContentLoader.java => mail/PostgresMessageBlobReferenceSource.java} (64%) create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresMessageIdMapper.java create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/dao/PostgresAttachmentDAO.java create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/dao/PostgresThreadDAO.java copy server/data/data-postgres/src/main/java/org/apache/james/rrt/postgres/PostgresRecipientRewriteTableModule.java => mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/dao/PostgresThreadModule.java (51%) create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/dto/AttachmentsDTO.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{PostgresMailboxManagerStressTest.java => PostgresCombinationManagerTest.java} (62%) create mode 100644 mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresCombinationManagerTestSystem.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{PostgresMailboxManagerProvider.java => PostgresMailboxManagerAttachmentTest.java} (53%) copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{DeleteMessageListenerWithRLSTest.java => PostgresMessageIdManagerQuotaTest.java} (51%) copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{mail/PostgresMessageMapperTest.java => PostgresMessageIdManagerSideEffectTest.java} (66%) copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{PostgresMailboxManagerStressTest.java => PostgresMessageIdManagerStorageTest.java} (59%) create mode 100644 mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMessageIdManagerTestSystem.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{PostgresMailboxManagerProvider.java => PostgresTestSystemFixture.java} (51%) create mode 100644 mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresThreadIdGuessingAlgorithmTest.java create mode 100644 mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/mail/PostgresAttachmentBlobReferenceSourceTest.java copy server/data/data-jmap/src/test/java/org/apache/james/jmap/memory/upload/InMemoryUploadRepositoryTest.java => mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/mail/PostgresAttachmentMapperTest.java (55%) create mode 100644 mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/mail/PostgresMessageBlobReferenceSourceTest.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/mail/{PostgresMessageMapperTest.java => PostgresMessageIdMapperTest.java} (91%) create mode 100644 server/apps/postgres-app/clean_up.sql create mode 100644 server/apps/postgres-app/sample-configuration/blob.properties create mode 100644 server/apps/postgres-app/src/main/java/org/apache/james/PostgresJmapModule.java copy server/apps/postgres-app/src/test/java/org/apache/james/{JamesCapabilitiesServerTest.java => PostgresJmapJamesServerTest.java} (64%) create mode 100644 server/apps/spring-app/src/main/resources/jmxremote.access create mode 100644 server/apps/spring-app/src/main/resources/jmxremote.password copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => server/container/guice/postgres-common/src/main/java/org/apache/james/modules/data/PostgresDLPConfigurationStoreModule.java (69%) copy server/container/guice/{memory/src/main/java/org/apache/james/modules/data/MemoryDataJmapModule.java => postgres-common/src/main/java/org/apache/james/modules/data/PostgresDataJmapModule.java} (73%) copy server/container/guice/{cassandra/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java => postgres-common/src/main/java/org/apache/james/modules/data/PostgresEventStoreModule.java} (57%) create mode 100644 server/container/guice/postgres-common/src/main/java/org/apache/james/modules/data/PostgresVacationModule.java copy {mailbox/postgres => server/data/data-jmap-postgres}/pom.xml (64%) copy mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/PostgresMailboxAggregateModule.java => server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/PostgresDataJMapAggregateModule.java (54%) create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/change/PostgresEmailChangeDAO.java copy server/data/{data-postgres/src/main/java/org/apache/james/rrt/postgres/PostgresRecipientRewriteTableModule.java => data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/change/PostgresEmailChangeModule.java} (52%) create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/change/PostgresEmailChangeRepository.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/change/PostgresMailboxChangeDAO.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/change/PostgresMailboxChangeModule.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/change/PostgresMailboxChangeRepository.java copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/change/PostgresStateFactory.java} (79%) create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/filtering/PostgresFilteringProjection.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/filtering/PostgresFilteringProjectionDAO.java copy mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/user/PostgresSubscriptionModule.java => server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/filtering/PostgresFilteringProjectionModule.java (59%) create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/identity/PostgresCustomIdentityDAO.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/identity/PostgresCustomIdentityModule.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/projections/PostgresEmailQueryView.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/projections/PostgresEmailQueryViewDAO.java copy server/data/{data-jmap/src/main/java/org/apache/james/jmap/api/upload/UploadRepository.java => data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/projections/PostgresEmailQueryViewManager.java} (61%) create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/projections/PostgresEmailQueryViewModule.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/projections/PostgresMessageFastViewProjection.java copy server/data/{data-postgres/src/main/java/org/apache/james/rrt/postgres/PostgresRecipientRewriteTableModule.java => data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/projections/PostgresMessageFastViewProjectionModule.java} (59%) create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/pushsubscription/PostgresPushSubscriptionDAO.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/pushsubscription/PostgresPushSubscriptionModule.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/pushsubscription/PostgresPushSubscriptionRepository.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadDAO.java create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadModule.java copy server/data/{data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/upload/CassandraUploadRepository.java => data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadRepository.java} (57%) create mode 100644 server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadUsageRepository.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java => server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/change/PostgresEmailChangeRepositoryTest.java (58%) copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java => server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/change/PostgresMailboxChangeRepositoryTest.java (58%) copy server/data/{data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/CassandraEventSourcingFilteringManagementNoProjectionTest.java => data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/filtering/PostgresEventSourcingFilteringManagementNoProjectionTest.java} (64%) copy server/data/{data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/CassandraEventSourcingFilteringManagementNoProjectionTest.java => data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/filtering/PostgresEventSourcingFilteringManagementTest.java} (56%) copy mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/PostgresAttachmentContentLoader.java => server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/identity/PostgresCustomIdentityDAOTest.java (64%) create mode 100644 server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/projections/PostgresEmailQueryViewManagerRLSTest.java create mode 100644 server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/projections/PostgresEmailQueryViewTest.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java => server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/projections/PostgresMessageFastViewProjectionTest.java (53%) copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java => server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/pushsubscription/PostgresPushSubscriptionRepositoryTest.java (53%) copy server/data/{data-jmap/src/test/java/org/apache/james/jmap/memory/upload/InMemoryUploadRepositoryTest.java => data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/upload/PostgresUploadRepositoryTest.java} (60%) create mode 100644 server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/upload/PostgresUploadServiceTest.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java => server/data/data-jmap-postgres/src/test/java/org/apache/james/jmap/postgres/upload/PostgresUploadUsageRepositoryTest.java (60%) rename server/data/{data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra => data-jmap/src/main/java/org/apache/james/jmap/api}/filtering/FilteringIncrementalRuleChangeDTO.java (96%) rename server/data/{data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra => data-jmap/src/main/java/org/apache/james/jmap/api}/filtering/FilteringRuleSetDefineDTOModules.java (94%) rename server/data/{data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra => data-jmap/src/main/java/org/apache/james/jmap/api}/filtering/FilteringRuleSetDefinedDTO.java (96%) rename server/data/{data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra => data-jmap/src/main/java/org/apache/james/jmap/api}/filtering/RuleDTO.java (99%) copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => server/data/data-jmap/src/main/java/org/apache/james/jmap/api/projections/DefaultEmailQueryViewManager.java (71%) copy event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/EventNestedTypes.java => server/data/data-jmap/src/main/java/org/apache/james/jmap/api/projections/EmailQueryViewManager.java (86%) create mode 100644 server/data/data-ldap/src/test/java/org/apache/james/user/ldap/LdapRepositoryConfigurationTest.java create mode 100644 server/data/data-ldap/src/test/resources/usersrepository-default.xml create mode 100644 server/data/data-ldap/src/test/resources/usersrepository-enableVirtualHosting.xml create mode 100644 server/data/data-ldap/src/test/resources/usersrepository-supportsVirtualHosting.xml rename mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/PostgresAttachmentContentLoader.java => server/data/data-postgres/src/main/java/org/apache/james/mailrepository/postgres/PostgresMailRepositoryBlobReferenceSource.java (62%) copy server/data/data-postgres/src/main/java/org/apache/james/mailrepository/postgres/{PostgresMailRepository.java => PostgresMailRepositoryContentDAO.java} (87%) copy server/data/{data-cassandra/src/main/java/org/apache/james/vacation/cassandra/CassandraNotificationRegistry.java => data-postgres/src/main/java/org/apache/james/vacation/postgres/PostgresNotificationRegistry.java} (61%) create mode 100644 server/data/data-postgres/src/main/java/org/apache/james/vacation/postgres/PostgresNotificationRegistryDAO.java create mode 100644 server/data/data-postgres/src/main/java/org/apache/james/vacation/postgres/PostgresVacationModule.java create mode 100644 server/data/data-postgres/src/main/java/org/apache/james/vacation/postgres/PostgresVacationRepository.java create mode 100644 server/data/data-postgres/src/main/java/org/apache/james/vacation/postgres/PostgresVacationResponseDAO.java create mode 100644 server/data/data-postgres/src/test/java/org/apache/james/mailrepository/postgres/PostgresMailRepositoryBlobReferenceSourceTest.java copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java => server/data/data-postgres/src/test/java/org/apache/james/vacation/postgres/PostgresNotificationRegistryTest.java (60%) copy mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/mail/PostgresMessageMapperTest.java => server/data/data-postgres/src/test/java/org/apache/james/vacation/postgres/PostgresVacationRepositoryTest.java (63%) copy server/{container/guice/postgres-common => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests}/pom.xml (54%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresAuthenticationTest.java} (56%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresBase.java} (56%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresCustomMethodTest.java} (56%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresCustomNamespaceTest.java} (56%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresDelegatedAccountGetMethodTest.java} (82%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresDelegatedAccountSetTest.java} (83%) copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresDownloadTest.java (70%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresEchoMethodTest.java} (85%) create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresEmailChangesMethodTest.java copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresEmailGetMethodTest.java (69%) create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresEmailQueryMethodTest.java copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesSpringContextTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresEmailSetMethodTest.java} (50%) create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresEmailSubmissionSetMethodFutureReleaseTest.java copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresEmailSubmissionSetMethodTest.java (68%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresIdentityGetTest.java} (85%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresIdentitySetTest.java} (85%) copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresMDNParseMethodTest.java (69%) copy backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/JamesPostgresConnectionFactory.java => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresMDNSendMethodTest.java (69%) create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresMailboxChangesMethodTest.java copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresMailboxGetMethodTest.java} (73%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresMailboxQueryChangesTest.java} (83%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresMailboxQueryMethodTest.java} (83%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresMailboxSetMethodTest.java} (51%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresProvisioningTest.java} (85%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresPushSubscriptionSetMethodTest.java} (51%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresQuotaChangesMethodTest.java} (83%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresQuotaGetMethodTest.java} (84%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresQuotaQueryMethodTest.java} (84%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresSessionRoutesTest.java} (84%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresThreadGetTest.java} (52%) rename event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/EventNestedTypes.java => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresUploadTest.java (86%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresVacationResponseGetMethodTest.java} (82%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresVacationResponseSetMethodTest.java} (82%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresWebPushTest.java} (51%) copy server/{apps/spring-app/src/test/java/org/apache/james/app/spring/JamesAppSpringMainTest.java => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/postgres/PostgresWebSocketTest.java} (85%) copy {examples/custom-imap => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests}/src/test/resources/dnsservice.xml (100%) copy {examples/custom-imap => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests}/src/test/resources/domainlist.xml (100%) copy server/protocols/jmap-rfc-8621-integration-tests/{distributed-jmap-rfc-8621-integration-tests => postgres-jmap-rfc-8621-integration-tests}/src/test/resources/imapserver.xml (100%) copy server/protocols/jmap-rfc-8621-integration-tests/{memory-jmap-rfc-8621-integration-tests => postgres-jmap-rfc-8621-integration-tests}/src/test/resources/jmap.properties (100%) copy {examples/custom-imap => server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests}/src/test/resources/keystore (100%) copy server/protocols/jmap-rfc-8621-integration-tests/{memory-jmap-rfc-8621-integration-tests => postgres-jmap-rfc-8621-integration-tests}/src/test/resources/listeners.xml (100%) copy server/protocols/jmap-rfc-8621-integration-tests/{memory-jmap-rfc-8621-integration-tests => postgres-jmap-rfc-8621-integration-tests}/src/test/resources/mailetcontainer.xml (92%) create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/resources/mailrepositorystore.xml copy server/{mailet/integration-testing/src/main => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test}/resources/managesieveserver.xml (100%) copy server/{mailet/integration-testing/src/main => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test}/resources/pop3server.xml (100%) copy server/{apps/distributed-app => protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests}/src/test/resources/rabbitmq.properties (100%) copy server/protocols/jmap-rfc-8621-integration-tests/{memory-jmap-rfc-8621-integration-tests => postgres-jmap-rfc-8621-integration-tests}/src/test/resources/smtpserver.xml (100%) create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/postgres-jmap-rfc-8621-integration-tests/src/test/resources/usersrepository.xml copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresAuthorizedEndpointsTest.java} (59%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresFastViewProjectionHealthCheckIntegrationTest.java} (59%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresForwardIntegrationTest.java} (59%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresJwtFilterIntegrationTest.java} (59%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresQuotaSearchIntegrationTest.java} (59%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresUnauthorizedEndpointsTest.java} (59%) create mode 100644 server/protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresWebAdminServerBlobGCIntegrationTest.java copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresWebAdminServerIntegrationImmutableTest.java} (57%) copy server/{apps/postgres-app/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java => protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresWebAdminServerIntegrationTest.java} (56%) copy server/protocols/webadmin-integration-test/{distributed-webadmin-integration-test => postgres-webadmin-integration-test}/src/test/resources/eml/emailWithOnlyAttachment.eml (100%) copy {examples/custom-imap => server/protocols/webadmin-integration-test/postgres-webadmin-integration-test}/src/test/resources/keystore (100%) create mode 100644 third-party/crowdsec/src/test/java/org/apache/james/CrowdsecIntegrationTest.java copy third-party/crowdsec/src/test/java/org/apache/james/{CrowdsecExtension.java => HAProxyExtension.java} (55%) create mode 100644 third-party/crowdsec/src/test/resources/crowdsec/acquis.yaml copy third-party/crowdsec/{sample-configuration => src/test/resources/crowdsec}/collections/james.yaml (100%) copy third-party/crowdsec/{sample-configuration => src/test/resources/crowdsec}/parsers/james-auth.yaml (100%) copy third-party/crowdsec/{sample-configuration => src/test/resources/crowdsec}/parsers/james-dictionary-attack.yaml (100%) copy third-party/crowdsec/{sample-configuration => src/test/resources/crowdsec}/parsers/syslog-logs.yaml (100%) create mode 100644 third-party/crowdsec/src/test/resources/crowdsec/scenarios/james-bf-auth.yaml copy third-party/crowdsec/{sample-configuration => src/test/resources/crowdsec}/scenarios/james-dictionary-attack.yaml (100%) create mode 100644 third-party/crowdsec/src/test/resources/imapserver.xml copy {examples/custom-imap => third-party/crowdsec}/src/test/resources/listeners.xml (100%) copy backends-common/rabbitmq/src/test/resources/empty-store => third-party/crowdsec/src/test/resources/log/james.log (100%) create mode 100644 third-party/crowdsec/src/test/resources/logback-test.xml copy {examples/custom-imap => third-party/crowdsec}/src/test/resources/mailetcontainer.xml (100%) copy {server/mailet/integration-testing/src/main => third-party/crowdsec/src/test}/resources/pop3server.xml (100%) create mode 100644 third-party/crowdsec/src/test/resources/smtpserver.xml copy {examples/custom-imap => third-party/crowdsec}/src/test/resources/usersrepository.xml (100%) --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org