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 bfdc3678c0 JAMES-2586 PostgresRecipientRewriteTableDAO and
PostgresRecipientRewriteTable
omit 840ad75651 JAMES-2586 PostgresTableManager - Cleanup
omit 37b9e11444 JAMES-2586 PostgresTableManager - Check the existence of
RLS column/policy before alter the table
omit 77ab188dd6 JAMES-2586 PostgresExecutor: better recognize prepared
statement conflict
omit 830ea81bc5 JAMES-2586 Add a unit test for recreate RLS column should
not fail
omit b229f5faf1 JAMES-2586 Rename JPAAttachmentContentLoader to
PostgresAttachmentContentLoader
omit 52ca5e9dbd JAMES-2586 Postgres app – Remove server test for
authentication database sql validation
omit c3e80734d5 JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to
junit 4)
omit 7ce58fba3a JAMES-2586 Fix missing guice binding for Postgres quota
module
omit db9d39b27d JAMES-2586 [PGSQL] Improve
PostresMessageManager::getMetadata method
omit 28a9895a9b JAMES-2586 [PGSQL] Optimize getMailboxCounter method
omit 6b75683248 JAMES-2586 [PGSQL] Implement correctly FetchType
omit 68e778ac7b JAMES-2586 Fully drop JPA within mailbox-postgresql
omit a38f239a50 JAMES-2586 Enable PostgresMailboxManager annotation tests
omit 7324aa0d6a JAMES-2586 Enable UniqueID support for
PostgresMailboxManager
omit ccf4fa9b6f JAMES-2586 Remove unused method in MessageManager
omit 8238b7ddf6 JAMES-2586 Remove unused class MessageUtils.java
omit 2a1e4c7b59 JAMES-2586 Enable ACL support for PG
omit 698454a765 JAMES-2586 [PGSQL] Initialization to configure users
repository
omit c5bd9ab41f JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839)
omit 9081a2f5a0 JAMES-2586 PostgresExecutor: Retry only upon
PreparedStatement conflict exception
omit dfb5d80379 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement
conflicts
omit 0798659300 JAMES-2586 Rework ConnectionThreadSafetyTest ->
PostgresExecutorThreadSafetyTest
omit eb773f4f44 JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test
omit c79a72a398 JAMES-2586 Guide binding Postgres Message/Mailbox mapper
omit 08712fdf6d JAMES-2586 - Introduce
PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test
omit aedaea1c71 JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null
pointer
omit 7a86b4cc56 JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock
omit b8f3b368db JAMES-2586 - Fixup PostgresMailboxMessageDAO
omit 223c353226 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method
- apply single new modSeq for all messages
omit 68f002dcca JAMES-2586 - Fixup PostgresMessageMapper findMailbox method
- ensuring the message was sorted
omit 0d4874f4f7 JAMES-2586 - MailboxMessage table - Remove FK key to
mailbox table
omit d13bc2d856 JAMES-2586 postgres-app should run tests against Postgresql
container for both JPA and Postgres r2dbc
omit 09dacea43b JAMES-2586 Fix Guice bindings between PostgresDomainList
and PostgresTableManager
omit 5da4c17336 JAMES-2586 DomainList Should throw when insert duplicate or
delete not found domain
omit 6163298422 JAMES-2586 Guice bindings and package renaming for domain
postgres implementation
omit eca9ed2d9c JAMES-2586 Implement PostgresDomainList
omit 877a67c1c9 JAMES-2586 Remove unused method in PostgresExecutor
omit fb28e7d8e3 JAMES-2586 postgres mailbox annotation dao and mapper
(#1822)
omit 904345f5a5 JAMES-2586 Implement Postgres Current Quota manager
omit 691fdaa94e JAMES-2586 Implement PostgresMailboxMessageDAO (#1812)
omit b3c0cfbce1 JAMES-2586 Guice binding for SieveQuotaRepository backed by
Postgres
omit 0628f5fdc8 JAMES-2586 Implement SieveQuotaRepository backed by Postgres
omit 3fb1370128 JAMES-2586 Clean Code – the using PostgresExecutor.Factory
(#1816)
omit 71f383cf31 JAMES-2586 Implement PostgresQuotaLimitDAO
omit 490163ab9b JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813)
omit 52ebcbc2c4 JAMES-2586 postgres users dao and repository (#1803)
omit b32d220f37 JAMES-2586 Create hstore extension if needed upon James
startup
omit 69ebb847cb JAMES-2586 Implement MailboxACL support for
PostgresMailboxMapper
omit 666c7e1b22 JAMES-2586 Implement PostgresExecutor Factory and Mailbox
Aggregate Module
omit d18939b3be JAMES-2586 Implement PostgresModSeqProvider
omit e84d5f1e1a JAMES-2586 Implement PostgresUidProvider
omit 275a8492a2 JAMES-2586 Parameterize MailboxSession for
getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory
omit 02fbe4e47c JAMES-2586 Clean-up the provision.sh file of postgres-app
omit be6782c7c8 JAMES-2586 LOGGER when choice implementation of Postgresql
connection factory
omit 7808c3dba1 JAMES-2586 Introduce Single postgres connection factory
when disable row level security
omit c0bd791102 JAMES-2586 Rename SimpleJamesPostgresConnectionFactory ->
DomainImplPostgresConnectionFactory
omit 3e72b69b30 JAMES-2586 mpt-imapmailbox-postgres - update maven build,
increase memory and disable reuseForks
omit a92be01366 JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty
attribute value when without domain
omit f99210dbb2 JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in
PGHostSystem
omit 6893b437cd JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres
omit c9285fa585 JAMES-2586 Postgres app performance test materials (#1794)
omit f7229b02aa JAMES-2586 implement postgres mailbox mapper (#1791)
omit d105830acc JAMES-2586 implement dao for mailbox table (#1786)
omit d8dec2f997 fixup! JAMES-2586 Fix row-level security implementation
omit a207a9a0fa JAMES-2586 Fix row-level security implementation
omit 753e8f6d3a JAMES-2586 Small codestyle refactorings
omit e74e0f6eee JAMES-2586 PostgresExtension: favor factory methods to
constructor
omit 2cfbef2089 JAMES-2586 Document (link) varchar underlying maximum
lengths
omit 553d0f0c5e JAMES-2586 Implement (failing) tests for Row Level Security
applied on Subscriptions
omit f8d1c60eef JAMES-2586 Drop unused class: JPASubscription
omit 9a75315d5e JAMES-2586 Drop unused class: EncryptDecryptHelper
omit d8d18a1709 JAMES-2586 Drop reporting-site.xml
omit 5207decc0d JAMES-2586 Drop Spring files for mailbox-postgres
omit 84ec3363b5 JAMES-2586 Merge PostgresSubscriptionTable and
PostgresSubscriptionModule
omit 690c513e2a JAMES-2586 Polish code style: PostgresSubscriptionMapper
omit 005cbd5a90 JAMES-2586 Use prepared statements by default
omit 94635f6a2f JAMES-2586 postgres mailbox - drop
JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage,
JPAMailboxMessageWithAttachmentStorage
omit 410bb12f41 JAMES-2586 Rename mailbox postgres package
omit 26156edf76 JAMES-2586 Rename Postgres Subscription
omit 3591f3ec77 JAMES-2586 Guice binding for Postgres subscription module
omit 1fbca94689 JAMES-2586 Fix review comments
omit 0f4472ebc5 JAMES-2586 Sample docker configuration for
postgres.properties
omit 6e3ac918c7 JAMES-2586 PostgresTableManager should only create RLS
column when general RLS configuration enabled
omit ca9e57cf74 JAMES-2586 Guice binding for PostgresTableManager
omit 84d8337ed2 JAMES-2586 Guice binding for JamesPostgresConnectionFactory
omit 3b1c48a958 JAMES-2586 Guice binding for PostgresConfiguration
omit 19387703e1 JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres
omit a350bf3387 JAMES-2586 Introduce PostgresConfiguration
omit 9190994801 JAMES-2586 implement pg connection factory (#1774)
omit 31d8ec6e77 JAMES-2586 Postgres Subscription mapper (#1775)
omit 16576107cd JAMES-2586 Introduce PostgresExtension
omit 898140ff68 [CI] Maven runs test on only postgres modules (postgresql
branch)
omit c1fc08fee6 JAMES-2586 PostgresTableManager support create table when
enable row level security
omit fa0810a29e JAMES-2586 - Implement PostgresTableManager
omit 06a39c22a9 JAMES-2586 - Postgres - Init
james-serrver-guice-mailbox-postgres
omit c5522a0745 JAMES-2586 - Postgres - Init
james-server-postgres-common-guice
omit 9d2e30183d JAMES-2586 - Postgres - Init james-server-data-postgres
omit 7b44425c41 JAMES-2586 - Postgres - Init postgres app server
omit fb2e63ecb8 JAMES-2586 - Postgres - Init postgres mailbox module
omit 050c35ddf8 JAMES-2586 - Postgres - Init backend common module for
postgres
add ff1796e869 JAMES-3949 Prevent usage of JMX file auto configuration on
Windows (#1763)
add 9968f4c8d1 [ADR] Update few ADRs status
add ee0ce806e6 JAMES-2586 ADR: Native PostgreSQL adoption
add 55454b26a3 JAMES-3944 FILTER: forward loop issue (#1762)
add 45661998bd ADR-69 - Crowdsec IP filtering (#1761)
add 5aae9234ed JAMES-3953 New File based blob store implementation
add c704a8f746 JAMES-3953 Guice injections for File blob store
add b223f177d6 JAMES-3953 Documentation for File blob store
add bc6549a740 JAMES-3953 Better namings for BucketModules
add 12c8610296 JAMES-3955 Add James consuming limitation in
TaskManagerWorkQueue in RabbitMQ documentation.
add b3c362fe57 [DOCUMENTATION] Refresh a bit secuirty.adoc
add 51138848e3 JAMES-3491 Deserialized keywords should return empty list
and not null when missing
add 148ca8d75a JAMES-3874 LMTP should handle overQuota exceptions
add 5c9e35089b JAMES-3954 Implement RFC-9394 PARTIAL for IMAP SEARCH
add a5cd87d87c JAMES-3954 Implement RFC-9394 PARTIAL for IMAP FETCH
add 1021e81180 JAMES-3954 Document RFC-9394 PARTIAL implementation
add 5f8eef6379 JAMES 3897 - Crowdsec integration for Dictionary Attack
(#1764)
add 3facc21b00 [Build] Fail tests on modules longer than 30 minutes
instead of 20
add 817e4f5c39 [Build] Increase latency to 2s with dates checks in
MailImplTest
add a1bea0d06e [Build] Increase delay to 1s instead of 500ms in
CachedBlobStoreTest
add 3363a285a1 JAMES-3959 Starting distributed James without OpenSearch
(#1784)
add 180c0ab4a3 JAMES-3897: Crowdsec Extension Test (#1779)
add 8d95aec8f4 JAMES-3960 Hints to ensure UID/ModSeq consistency in case
of disaster
add ec9ad67d5a JAMES-3958 Be resilient when updating mails with invalid
headers (#1783)
add 055675d98f JAMES-3955 Check for queues without consumer and resume
consumption a… (#1778)
add 8cec9479c7 JAMES-3955 Applicative timeouts before Rabbit timeouts
add 47056fc2cf JAMES-3955 WARNING logs upon closing channels
add 4215e592cd JAMES-3926 Handle insert null quota limit (#1796)
add 9a7f6a3bcf JAMES-3956 created redis module in backends-common, moved
redis configuration from rate-limiter-redis
add a61254569f JAMES-3956 added RedisConfigurationTest
add 32f026301b JAMES-3046 Webadmin startup should not hang forever upon
port conflict
add 25ac480393 JAMES-3046 Allow webadmin port conflict to be retries
within JamesServerExtension (integration tests scope)
add 582cf566da JAMES-3955 Increase consumer timeout for
TaskManagerWorkQueue
add 61a077253f JAMES-3774 Remove completely Cassandra cache timeout
configuration
add ccbc4b26d2 JAMES-3962 JMAP Email/set: specific headers for body parts
(#1801)
add 5da0b15180 [UPGRADE] Cassandra driver 4.16.0 -> 4.17.0
add 2932ca8b45 [UPGRADE] S3 driver 2.20.103 -> 4.17.0
add 9263c20769 [UPGRADE] Netty 4.1.94.Final -> 4.1.101.Final
add 351cc273fd [UPGRADE] Reactor 2022.0.9 -> 2023.0.0
add b15787fa34 [UPGRADE] Lettuce 6.2.4.RELEASE -> 6.3.0.RELEASE
add 3dd1b53612 [UPGRADE] amqp-client 5.18.0 -> 5.20.0
add c5d9cbf22f [BUILD] Disable JMX for MailDelivrerToHost object pool
add 9339116155 [BUILD] Disable Metrics logger
add 69e90ce0e4 [BUILD] Implement caching for ExtendedClassLoader
add 3f24078c67 [BUILD] Avoid polling without delays for MemoryMailQueue
add 7e63c3e6e7 [BUILD] Lower password hasking requirements
add caa28d5580 [BUILD] Per test index is actually faster
add 920c19b0e8 JAMES-3897: Implement CrowdsecHttpClient (#1788)
add 2f12c348a1 JAMES-3963 Sort From To Cc on display name first (#1811)
add 4711379766 JAMES-3963 Full text search: AND for combining phrase terms
(#1810)
add ca97a1815e [Build] Do not build on ephemeral nodes (#1825)
add fe820cee72 JAMES-3964 Mutualize SMTP tests set up
add 0b40e17d1e JAMES-3964 Implement and test disabledCaps for SMTP
add fd18efa145 JAMES-3964 Document disabledCaps for SMTP
add 6e1d450336 [BUILD] OpenSearchSearcherTest was unstable
add b8752b0531 JAMES-3965 DKIMSign: Use fileSystem in order to resolve
privateKeyFilepath
add b76e94fb01 JAMES-3965 FileSystemImpl: convenience method for testing
add 72803ca457 JAMES 3897: Implement CrowdsecEhloHook (#1799)
add fa2c2dfa30 [IMPROVEMENT] Display message/disposition-notification in
main message body
add 795aca76d7 [IMPROVEMENT] message/disposition-notification should not
be considered as an attachment
add 3072f2a44d [UPDATE] logback 1.4.8 -> 1.4.13
add c341fa6db3 [UPDATE] logback 1.4.13 -> 1.4.14
add 8c9fa4657e [ENHANCEMENT] Allow to trust all certificates with S3
blobstore (#1846)
add d7a4f45fa4 JAMES-3539 PushSubscription/get should return expired
subscriptions (#1845)
add a8a86c2ec7 JAMES-2586 - Postgres - Init backend common module for
postgres
add b61d7fd05d JAMES-2586 - Postgres - Init postgres mailbox module
add b43158b3b3 JAMES-2586 - Postgres - Init postgres app server
add 141bb97237 JAMES-2586 - Postgres - Init james-server-data-postgres
add 4386110020 JAMES-2586 - Postgres - Init
james-server-postgres-common-guice
add d8b314fa42 JAMES-2586 - Postgres - Init
james-serrver-guice-mailbox-postgres
add 115d0dcd1e JAMES-2586 - Implement PostgresTableManager
add 17b80bce8c JAMES-2586 PostgresTableManager support create table when
enable row level security
add 062ad690fa [CI] Maven runs test on only postgres modules (postgresql
branch)
add 8fb0502405 JAMES-2586 Introduce PostgresExtension
add fbcc6c9111 JAMES-2586 Postgres Subscription mapper (#1775)
add fcaeb611fe JAMES-2586 implement pg connection factory (#1774)
add 621c46a426 JAMES-2586 Introduce PostgresConfiguration
add e3da8b68a5 JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres
add 9492d0d40d JAMES-2586 Guice binding for PostgresConfiguration
add 83f3383135 JAMES-2586 Guice binding for JamesPostgresConnectionFactory
add 4b00d8ecf9 JAMES-2586 Guice binding for PostgresTableManager
add 38b02af197 JAMES-2586 PostgresTableManager should only create RLS
column when general RLS configuration enabled
add c580f1db22 JAMES-2586 Sample docker configuration for
postgres.properties
add 9466c7bce9 JAMES-2586 Fix review comments
add 2b47ee79fd JAMES-2586 Guice binding for Postgres subscription module
add 9644cdc76c JAMES-2586 Rename Postgres Subscription
add a039fb8bc3 JAMES-2586 Rename mailbox postgres package
add 0133b82993 JAMES-2586 postgres mailbox - drop
JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage,
JPAMailboxMessageWithAttachmentStorage
add 3b5bacec91 JAMES-2586 Use prepared statements by default
add d57e96ce4e JAMES-2586 Polish code style: PostgresSubscriptionMapper
add c177e241cf JAMES-2586 Merge PostgresSubscriptionTable and
PostgresSubscriptionModule
add e7e1353cc4 JAMES-2586 Drop Spring files for mailbox-postgres
add 6b105a283f JAMES-2586 Drop reporting-site.xml
add 702ada7633 JAMES-2586 Drop unused class: EncryptDecryptHelper
add 8679270ad2 JAMES-2586 Drop unused class: JPASubscription
add 60d852be6e JAMES-2586 Implement (failing) tests for Row Level Security
applied on Subscriptions
add 89900704c5 JAMES-2586 Document (link) varchar underlying maximum
lengths
add d2c1e40d5c JAMES-2586 PostgresExtension: favor factory methods to
constructor
add b2a40923c6 JAMES-2586 Small codestyle refactorings
add 67f6794e56 JAMES-2586 Fix row-level security implementation
add 85ecb2de61 JAMES-2586 implement dao for mailbox table (#1786)
add 4783dc0802 JAMES-2586 implement postgres mailbox mapper (#1791)
add 5d8e145e9b JAMES-2586 Postgres app performance test materials (#1794)
add 57393a6e3c JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres
add a73424bae8 JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in
PGHostSystem
add 0620c26a0f JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty
attribute value when without domain
add 0b49ce9c36 JAMES-2586 mpt-imapmailbox-postgres - update maven build,
increase memory and disable reuseForks
add 087574af07 JAMES-2586 Rename SimpleJamesPostgresConnectionFactory ->
DomainImplPostgresConnectionFactory
add 2447d7285b JAMES-2586 Introduce Single postgres connection factory
when disable row level security
add 0f3e353033 JAMES-2586 LOGGER when choice implementation of Postgresql
connection factory
add 8c6a055755 JAMES-2586 Clean-up the provision.sh file of postgres-app
add 74c057aa30 JAMES-2586 Parameterize MailboxSession for
getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory
add a36130960d JAMES-2586 Implement PostgresUidProvider
add ccbff67d12 JAMES-2586 Implement PostgresModSeqProvider
add 6306fdef98 JAMES-2586 Implement PostgresExecutor Factory and Mailbox
Aggregate Module
add 80d8824f2c JAMES-2586 Implement MailboxACL support for
PostgresMailboxMapper
add 36a91ded62 JAMES-2586 Create hstore extension if needed upon James
startup
add 59c6016407 JAMES-2586 postgres users dao and repository (#1803)
add 956dd732fe JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813)
add a9b79a1970 JAMES-2586 Implement PostgresQuotaLimitDAO
add 5b0368c228 JAMES-2586 Clean Code – the using PostgresExecutor.Factory
(#1816)
add 3afbbe13ad JAMES-2586 Implement SieveQuotaRepository backed by Postgres
add dae2214e96 JAMES-2586 Guice binding for SieveQuotaRepository backed by
Postgres
add d8e4a263b2 JAMES-2586 Implement PostgresMailboxMessageDAO (#1812)
add b6e9be7844 JAMES-2586 Implement Postgres Current Quota manager
add cd12569cf5 JAMES-2586 postgres mailbox annotation dao and mapper
(#1822)
add bf68d222d9 JAMES-2586 Remove unused method in PostgresExecutor
add 88577b0a7c JAMES-2586 Implement PostgresDomainList
add 9cc986a1f5 JAMES-2586 Guice bindings and package renaming for domain
postgres implementation
add d36f402283 JAMES-2586 DomainList Should throw when insert duplicate or
delete not found domain
add 63cf6b41e2 JAMES-2586 Fix Guice bindings between PostgresDomainList
and PostgresTableManager
add 781dc04e40 JAMES-2586 postgres-app should run tests against Postgresql
container for both JPA and Postgres r2dbc
add 7919fe0569 JAMES-2586 - MailboxMessage table - Remove FK key to
mailbox table
add a0a9be54f4 JAMES-2586 - Fixup PostgresMessageMapper findMailbox method
- ensuring the message was sorted
add cf3db9cd34 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method
- apply single new modSeq for all messages
add d4178d1bec JAMES-2586 - Fixup PostgresMailboxMessageDAO
add 54445aab14 JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock
add 5f002f91df JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null
pointer
add fb512dc780 JAMES-2586 - Introduce
PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test
add a27db56f89 JAMES-2586 Guide binding Postgres Message/Mailbox mapper
add 5bfb986f99 JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test
add 88c7c95d4f JAMES-2586 Rework ConnectionThreadSafetyTest ->
PostgresExecutorThreadSafetyTest
add 1d0734ae74 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement
conflicts
add ac8629030d JAMES-2586 PostgresExecutor: Retry only upon
PreparedStatement conflict exception
add c88db1a3d1 JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839)
add 88ea870ab5 JAMES-2586 [PGSQL] Initialization to configure users
repository
add ad7118be26 JAMES-2586 Enable ACL support for PG
add f76c03ee6c JAMES-2586 Remove unused class MessageUtils.java
add 0d0ef9b3fe JAMES-2586 Remove unused method in MessageManager
add e2f58e133e JAMES-2586 Enable UniqueID support for
PostgresMailboxManager
add dbf254034b JAMES-2586 Enable PostgresMailboxManager annotation tests
add 0c70f75840 JAMES-2586 Fully drop JPA within mailbox-postgresql
add 4752c9063a JAMES-2586 [PGSQL] Implement correctly FetchType
add 462d4d3c30 JAMES-2586 [PGSQL] Optimize getMailboxCounter method
add 30bb3f4822 JAMES-2586 [PGSQL] Improve
PostresMessageManager::getMetadata method
add bee56a7392 JAMES-2586 Fix missing guice binding for Postgres quota
module
add b5070d0e75 JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to
junit 4)
add 7a12cd37fe JAMES-2586 Postgres app – Remove server test for
authentication database sql validation
add 6ff020d40c JAMES-2586 Rename JPAAttachmentContentLoader to
PostgresAttachmentContentLoader
add 95ce123a75 JAMES-2586 Add a unit test for recreate RLS column should
not fail
add 85cb680676 JAMES-2586 PostgresExecutor: better recognize prepared
statement conflict
add c73b5b9eaf JAMES-2586 PostgresTableManager - Check the existence of
RLS column/policy before alter the table
add 6c47b076ad JAMES-2586 PostgresTableManager - Cleanup
add 540c68b026 JAMES-2586 PostgresRecipientRewriteTableDAO and
PostgresRecipientRewriteTable
add ddad6b5951 JAMES-2586 Fixup compile error after merge master
add decec6ffc5 JAMES-2586 PostgresDelegationStore (#1851)
add 107465410d JAMES-2586 Remove JPAHealthCheck.java
add 27c5402889 JAMES-2586 Implement PostgresMailRepositoryUrlStore
add 6e6e0d05fe JAMES-2586 Remove JPAMailRepositoryUrlStore.java
add 9132406cb6 JAMES-2586 Implement and bind PostgresHealthCheck
add 6d3c27eda4 JAMES-3967 Store mails when relay is exceeded
add b6ef595fc3 JAMES-2586 ADR for Posgres mailbox tables structure (#1857)
add 4e56c426df JAMES-2586 Implement PostgresSieveScriptDAO +
PostgresSieveRepository
add c3ee8db7ee JAMES-2586 Delete JPASieveScript.java
add 2059be497e JAMES-2586 Guice binding for PostgresSieveScriptDAO
add 6741396e91 JAMES-2586 Implement PostgresMailRepository
add 3ea0846a0c JAMES-2586 Guice binding for PostgresMailRepository +
remove related JPA code
add f488c1d6b4 JAMES-2586 Documentation for PostgresMailRepository
add a61ce58027 JAMES-2586 Updating postgres-app default configuration to
PostgresMailRepository
add a0d56c7862 JAMES-2586 Finally remove the rest of JPA in postgres-app
add a47923646a JAMES-2586 Add an `addAdditionalAlterQueries` option when
declaring Postgres table
add 4020a3904e JAMES-2586 Fix compilation errors
add d3162c0726 JAMES-2586 Fix repositoryPath in postgres-app
mailetcontainer.xml
add e0ded32754 JAMES-2586 add missing RLS tests
add 23b3efa252 JAMES-2586 Add an Id for SieveScript (#1863)
add 3e837a2951 JAMES-2586 Fix [PGSQL] Concurrency control for flags
updates (#1858)
add 1f1582ddcd [PGSQL] ADR on PGSQL flags update concurrency control
mechanism (#1867)
add bc35746b50 JAMES-2586 Add search module chooser for Postgres app
add b83e6a79c1 JAMES-2586 Add docker compose distributed with OpenSearch
for postgres app
add 77b4291cc5 JAMES-2586 Rework README for Postgres-app and rework the
docker compose with only Postgresql after adding search module chooser
add 64d524375a JAMES-2586 Module chooser: S3, file blobStore
add ee731c57ba JAMES-2586 Message body deduplication (#1873)
add 77ca11653c JAMES-2586 Remove james-server-cassandra-app direct
dependency (#1875)
add 931fccc8d5 JAMES-2586 Implement AllSearchOverride for Postgresql
add 4621b0ad62 JAMES-2586 Implement DeletedSearchOverride for Postgresql
add 6aee4e9297 JAMES-2586 Implement DeletedWithRangeSearchOverride for
Postgresql
add c95f95e221 JAMES-2586 Implement NotDeletedWithRangeSearchOverride for
Postgresql
add bd650deb7e JAMES-2586 Implement UidSearchOverride for Postgresql
add b367787dae JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql
add 41f476362d JAMES-2586 Correct search overrides documentation in
opensearch.properties
add a177afee3b JAMES-2586 Refactor search overrides tests for postgresql
add 6d1c45fcc6 JAMES-2586 Unnecessary join on deleted uid search queries
in postgresql
add e4d992ba71 JAMES-2586 Moving RabbitMQExtension from distributed-app to
queue-rabbitmq-guice
add 174278eb53 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app
add 3af35b7f99 JAMES-2586 Implement DeleteMessageListener for postgres
(#1869)
add 23be5d2b63 JAMES-2586 Fixup search overrides - Using Postgres Factory
Executor replace to invoke DAO directly (#1880)
add 3e86c78b58 JAMES-2586 Implement PostgresEventDeadLetters
add 72861a5b4f JAMES-2586 Fix flaky test
DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota
add 42cb00e2b3 JAMES-2586 Add missing license
add 0ea2767f7c JAMES-2586 Add a health check integration test
add 8a85f704f2 JAMES-3817 Only perform JMAP event bus dead letter health
check if JMAP is used
add 5c125e46e2 JAMES-2586 Implement PostgresBlobStoreDAO
add 42ccbca1b8 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO
add d279e01dcc JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt
to BlobStoreModulesChooser
add e6ff72c754 JAMES-2586 Adopt Postgres 16.1 (#1897)
add 602faa9980 JAMES-3777 [FIX] ReadProjection was not correctly used
(#1899)
add c58e619d34 JAMES-2586 Bump jOOQ to 3.16.23
add 3db14637e1 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE
add 7941d71733 JAMES-2586 - Update test cases for Delete message listener
- when enabling Row level security
add 81b412e3d3 JAMES-2586 - Fix BUG - DeleteMessageListener - not work
correctly when enabling RLS
add 46af7b1cfa Guice InitializationOperation support priority when init
module
add c43b2c544e JAMES-2586 Refactor the way initPostgres of
PostgresTableManager
add c2dbfc579f JAMES-2586 Implement PostgresDeletedMessageMetadataVault
add 55a09898a5 JAMES-2586 Guice binding + module chooser + sample config
for Postgres DeletedMessageVault
add de96f76fd9 JAMES-2586 Plug DeletedMessageVaultDeletionCallback into
DeleteMessageListener
add bf9a4b1d00 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest
add bf5f99e455 JAMES-2586 Plug PreDeletionHooks
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 (bfdc3678c0)
\
N -- N -- N refs/heads/postgresql-backup (bf5f99e455)
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:
Jenkinsfile | 7 +-
backends-common/cassandra/pom.xml | 2 +-
.../components/CassandraQuotaLimitDao.java | 6 +-
.../init/configuration/CassandraConfiguration.java | 32 +-
.../quota/CassandraQuotaLimitDaoTest.java | 9 +
.../opensearch/DockerOpenSearchExtension.java | 4 +-
backends-common/pom.xml | 1 +
backends-common/postgres/pom.xml | 4 +-
.../james/backends/postgres/PostgresTable.java | 44 ++-
.../backends/postgres/PostgresTableManager.java | 38 +-
.../postgres/quota/PostgresQuotaModule.java | 6 +-
.../backends/postgres/utils/PostgresExecutor.java | 13 +-
.../postgres/utils/PostgresHealthCheck.java | 36 +-
.../james/backends/postgres/PostgresExtension.java | 18 +-
.../backends/postgres/PostgresExtensionTest.java | 6 +-
.../james/backends/postgres/PostgresFixture.java | 2 +-
.../postgres/PostgresTableManagerTest.java | 84 ++++-
.../postgres/utils/PostgresHealthCheckTest.java | 54 +--
.../james/backends/rabbitmq/QueueArguments.java | 5 +
.../backends/rabbitmq/RabbitMQConfiguration.java | 33 +-
.../rabbitmq/ReactorRabbitMQChannelPool.java | 8 +
.../rabbitmq/RabbitMQConfigurationTest.java | 55 +++
backends-common/redis/pom.xml | 73 ++++
.../james/backends/redis/RedisConfiguration.scala | 16 +-
.../james/backends}/redis/RedisHealthCheck.scala | 4 +-
.../apache/james/backends/redis}/DockerRedis.java | 8 +-
.../backends/redis/RedisConfigurationTest.scala | 82 +++++
.../james/backends/redis}/RedisExtension.java | 7 +-
.../james/backends/redis}/RedisExtensionTest.java | 7 +-
.../backends/redis}/RedisHealthCheckTest.scala | 5 +-
code-coverage-report/pom.xml | 5 +
.../org/apache/james/events/ListenerExecutor.java | 9 +-
.../events/RabbitEventBusConsumerHealthCheck.java | 85 +++++
...itMQJmapEventBusDeadLetterQueueHealthCheck.java | 41 +--
...MailboxEventBusDeadLetterQueueHealthCheck.java} | 12 +-
...mapEventBusDeadLetterQueueHealthCheckTest.java} | 34 +-
...boxEventBusDeadLetterQueueHealthCheckTest.java} | 31 +-
event-bus/pom.xml | 1 +
.../postgres-common => event-bus/postgres}/pom.xml | 37 +-
.../james/events/PostgresEventDeadLetters.java | 120 ++++++
.../events/PostgresEventDeadLettersModule.java | 35 +-
.../james/events/PostgresEventDeadLettersTest.java | 27 +-
.../java/org/apache/james/mailbox/MessageUid.java | 4 +
.../main/java/org/apache/james/mailbox/ModSeq.java | 4 +
.../cassandra/mail/CassandraModSeqProvider.java | 9 +-
.../cassandra/mail/CassandraUidProvider.java | 8 +-
.../mail/CassandraModSeqProviderTest.java | 30 +-
.../cassandra/mail/CassandraUidProviderTest.java | 32 +-
.../search/LuceneMessageSearchIndexTest.java | 7 +-
.../mailbox/opensearch/MailboxMappingFactory.java | 21 +-
.../DisabledListeningMessageSearchIndex.java | 155 ++++++++
.../opensearch/query/CriterionConverter.java | 11 +-
.../mailbox/opensearch/query/SortConverter.java | 49 ++-
.../opensearch/search/OpenSearchSearcher.java | 2 +-
.../opensearch/OpenSearchIntegrationTest.java | 31 +-
.../opensearch/search/OpenSearchSearcherTest.java | 52 +--
.../deleted-messages-vault-postgres}/pom.xml | 41 +--
.../DeletedMessageVaultDeletionCallback.java | 123 +++++++
.../PostgresDeletedMessageMetadataModule.java | 48 +--
.../PostgresDeletedMessageMetadataVault.java | 115 ++++++
.../PostgresDeletedMessageMetadataVaultTest.java} | 45 +--
.../james/vault/metadata/MetadataSerializer.java | 0
.../QuotaThresholdListenersTestSystem.java | 2 +-
.../subscribers/QuotaThresholdNoticeTest.java | 3 +-
mailbox/pom.xml | 1 +
mailbox/postgres/pom.xml | 5 -
.../mailbox/postgres/DeleteMessageListener.java | 148 ++++++++
.../postgres/PostgresMailboxAnnotationModule.java | 3 +-
.../PostgresMailboxSessionMapperFactory.java | 1 -
.../postgres/mail/MessageRepresentation.java | 113 ++++++
.../postgres/mail/PostgresMailboxManager.java | 6 +-
.../postgres/mail/PostgresMailboxModule.java | 3 +-
.../postgres/mail/PostgresMessageManager.java | 4 +-
.../postgres/mail/PostgresMessageMapper.java | 97 ++---
.../postgres/mail/PostgresMessageModule.java | 29 +-
.../mail/dao/PostgresMailboxMessageDAO.java | 236 ++++++++++--
.../dao/PostgresMailboxMessageFetchStrategy.java | 2 +-
.../postgres/mail/dao/PostgresMessageDAO.java | 64 +++-
.../mailbox/postgres/search/AllSearchOverride.java | 73 ++++
.../postgres/search/DeletedSearchOverride.java | 57 +++
.../search/DeletedWithRangeSearchOverride.java | 71 ++++
.../search/NotDeletedWithRangeSearchOverride.java | 83 +++++
.../mailbox/postgres/search/UidSearchOverride.java | 68 ++++
.../postgres/search/UnseenSearchOverride.java | 98 +++++
.../postgres/user/PostgresSubscriptionModule.java | 3 +-
.../postgres/DeleteMessageListenerContract.java | 147 ++++++++
...essTest.java => DeleteMessageListenerTest.java} | 36 +-
....java => DeleteMessageListenerWithRLSTest.java} | 53 +--
.../postgres/PostgresMailboxManagerProvider.java | 28 +-
.../postgres/PostgresMailboxManagerStressTest.java | 4 +-
.../postgres/PostgresMailboxManagerTest.java | 14 +-
...stgresAnnotationMapperRowLevelSecurityTest.java | 96 +++++
.../postgres/mail/PostgresMapperProvider.java | 2 +-
.../PostgresMessageMapperRowLevelSecurityTest.java | 111 ++++++
.../PostgresRecomputeCurrentQuotasServiceTest.java | 3 +-
.../postgres/search/AllSearchOverrideTest.java | 129 +++++++
.../postgres/search/DeletedSearchOverrideTest.java | 111 ++++++
.../search/DeletedWithRangeSearchOverrideTest.java | 130 +++++++
.../NotDeletedWithRangeSearchOverrideTest.java | 134 +++++++
.../postgres/search/SearchOverrideFixture.java | 71 ++++
.../postgres/search/UidSearchOverrideTest.java | 119 ++++++
.../postgres/search/UnseenSearchOverrideTest.java | 184 ++++++++++
.../store/search/SimpleMessageSearchIndexTest.java | 7 +-
.../james/mailbox/store/FlagsUpdateCalculator.java | 7 +
.../store/mail/model/impl/MessageParser.java | 3 +-
.../store/mail/model/MessageMapperTest.java | 71 ++--
.../store/mail/model/impl/MessageParserTest.java | 5 +-
.../search/AbstractMessageSearchIndexTest.java | 59 +--
mailet/api/pom.xml | 5 +
.../java/org/apache/mailet/LoopPrevention.java | 109 ++++++
.../java/org/apache/mailet/LoopPreventionTest.java | 90 +++++
.../apache/james/mpt/imapmailbox/suite/Fetch.java | 7 +
.../apache/james/imap/scripts/FetchPartial.test | 69 ++++
.../org/apache/james/imap/scripts/SearchAtoms.test | 24 +-
mpt/impl/imap-mailbox/postgres/pom.xml | 13 +-
.../postgres/host/PostgresHostSystem.java | 4 +-
.../smtp/cassandra-rabbitmq-object-storage/pom.xml | 7 +
mpt/impl/smtp/cassandra/pom.xml | 7 +
pom.xml | 61 ++-
.../apache/james/imap/api/message/FetchData.java | 19 +-
.../james/imap/api/message/PartialRange.java | 74 ++++
.../imap/api/message/request/SearchOperation.java | 13 +-
.../api/message/request/SearchResultOption.java | 7 +-
.../james/imap/api/process/SelectedMailbox.java | 3 +
.../james/imap/decode/ImapRequestLineReader.java | 28 ++
.../imap/decode/parser/FetchCommandParser.java | 4 +
.../imap/decode/parser/SearchCommandParser.java | 25 +-
.../james/imap/encode/ESearchResponseEncoder.java | 13 +
.../imap/encode/base/ImapResponseComposerImpl.java | 3 +
.../imap/message/response/ESearchResponse.java | 20 +-
.../james/imap/processor/SearchProcessor.java | 31 +-
.../imap/processor/base/SelectedMailboxImpl.java | 5 +
.../james/imap/processor/base/UidMsnConverter.java | 13 +
.../james/imap/processor/fetch/FetchProcessor.java | 56 +--
.../parser/SearchCommandParserSearchKeyTest.java | 2 +-
.../james/imap/processor/SearchProcessorTest.java | 2 +-
.../james/protocols/smtp/SMTPConfiguration.java | 7 +
.../apache/james/protocols/smtp/SMTPSession.java | 7 +
.../protocols/smtp/core/esmtp/EhloCmdHandler.java | 7 +-
server/apps/cassandra-app/pom.xml | 6 +
.../sample-configuration/cassandra.properties | 6 +-
.../sample-configuration/jvm.properties | 2 +-
.../org/apache/james/CassandraJamesServerMain.java | 4 +-
.../james/CassandraWithOpenSearchDisabled.java | 122 ++++++
.../org/apache/james/CassandraWithTikaTest.java | 2 +-
.../src/test/resources/usersrepository.xml | 1 +
.../distributed-app/docs/modules/ROOT/nav.adoc | 1 +
.../pages/architecture/implemented-standards.adoc | 1 +
.../modules/ROOT/pages/configure/blobstore.adoc | 6 +
.../modules/ROOT/pages/configure/cassandra.adoc | 4 +
.../docs/modules/ROOT/pages/configure/index.adoc | 1 +
.../modules/ROOT/pages/configure/rabbitmq.adoc | 15 +
.../docs/modules/ROOT/pages/configure/search.adoc | 18 +
.../docs/modules/ROOT/pages/configure/smtp.adoc | 3 +
.../ROOT/pages/operate/performanceChecklist.adoc | 1 -
.../docs/modules/ROOT/pages/operate/security.adoc | 9 +-
.../helm-chart/james/configs/blob.properties | 4 -
server/apps/distributed-app/pom.xml | 16 +-
.../sample-configuration/blob.properties | 4 -
.../sample-configuration/cassandra.properties | 6 +-
.../sample-configuration/jvm.properties | 2 +-
.../sample-configuration/rabbitmq.properties | 7 +-
server/apps/distributed-pop3-app/pom.xml | 16 +-
.../sample-configuration/blob.properties | 4 -
.../sample-configuration/jvm.properties | 2 +-
.../james/DistributedPOP3JamesServerMain.java | 1 -
.../jpa-app/sample-configuration/jvm.properties | 2 +-
.../sample-configuration/jvm.properties | 2 +-
.../memory-app/sample-configuration/jvm.properties | 2 +-
server/apps/postgres-app/README.adoc | 139 +++----
.../postgres-app/docker-compose-distributed.yml | 83 +++++
server/apps/postgres-app/docker-compose.yml | 13 +-
server/apps/postgres-app/pom.xml | 77 +++-
.../blob.properties | 28 +-
.../opensearch.properties | 101 +++++
.../rabbitmq.properties | 7 +-
.../sample-configuration-single/search.properties | 2 +
.../deletedMessageVault.properties | 0
.../james-database-postgres.properties | 49 ---
.../sample-configuration/james-database.properties | 53 ---
.../sample-configuration/mailetcontainer.xml | 14 +-
.../sample-configuration/mailrepositorystore.xml | 8 +-
.../apache/james/PostgresJamesConfiguration.java | 121 +++++-
.../org/apache/james/PostgresJamesServerMain.java | 70 +++-
.../src/main/resources/META-INF/persistence.xml | 40 --
.../james/BodyDeduplicationIntegrationTest.java | 134 +++++++
...ava => DistributedPostgresJamesServerTest.java} | 51 ++-
.../apache/james/JamesCapabilitiesServerTest.java | 6 +-
....java => PostgresBlobStoreIntegrationTest.java} | 46 ++-
.../org/apache/james/PostgresJamesServerTest.java | 10 +-
.../james/PostgresWithLDAPJamesServerTest.java | 8 +-
.../james/PostgresWithOpenSearchDisabledTest.java | 143 ++++++++
...esServerTest.java => PostgresWithTikaTest.java} | 35 +-
...t.java => WithScanningSearchImmutableTest.java} | 33 +-
...est.java => WithScanningSearchMutableTest.java} | 37 +-
.../src/test/resources/mailetcontainer.xml | 11 +-
.../src/test/resources/mailrepositorystore.xml | 4 +-
.../src/test/resources/webadmin.properties | 0
.../sample-configuration/blob.properties | 4 -
.../src/main/java/org/apache/james/Main.java | 4 +-
.../blob/api/ReadSaveBlobStoreDAOContract.java | 7 +-
.../cache/CassandraCacheConfiguration.java | 2 -
.../blob/cassandra/cache/CachedBlobStoreTest.java | 4 +-
.../blob/export/file/FileSystemExtension.java | 5 +-
server/blob/{blob-memory => blob-file}/pom.xml | 14 +-
.../apache/james/blob/file/FileBlobStoreDAO.java | 189 ++++++++++
.../james/blob/file/FileBlobStoreFactory.java} | 35 +-
.../james/blob/file/FileBlobStoreDAOTest.java} | 33 +-
.../blob/file/FileBlobStoreGCAlgorithmTest.java} | 34 +-
.../blob/file/FileBlobStorePassThroughTest.java | 49 ++-
.../apache/james/blob/file/FileBlobStoreTest.java | 50 ++-
server/blob/blob-memory/pom.xml | 2 +-
.../postgres => server/blob/blob-postgres}/pom.xml | 91 +++--
.../blob/postgres/PostgresBlobStorageModule.java} | 45 +--
.../james/blob/postgres/PostgresBlobStoreDAO.java | 156 ++++++++
.../blob/postgres/PostgresBlobStoreDAOTest.java | 72 ++++
server/blob/blob-s3/pom.xml | 2 +-
.../objectstorage/aws/AwsS3AuthConfiguration.java | 30 +-
.../blob/objectstorage/aws/S3BlobStoreDAO.java | 23 ++
server/blob/pom.xml | 2 +
.../server/core/filesystem/FileSystemImpl.java | 15 +
.../org/apache/james/server/core/MailImplTest.java | 6 +-
.../guice/blob/postgres}/pom.xml | 37 +-
.../src/main/java/modules/BlobPostgresModule.java} | 15 +-
...efaultBucketModule.java => S3BucketModule.java} | 2 +-
.../aws/s3/AwsS3ConfigurationReader.java | 2 +
.../james/modules/AwsS3BlobStoreExtension.java | 0
.../aws/s3/AwsS3ConfigurationReaderTest.java | 79 ++++
...aBucketModule.java => DefaultBucketModule.java} | 2 +-
.../james/utils/FilteringManagementProbeImpl.java | 10 +
.../james/utils/InitializationOperations.java | 1 +
.../james/utils/MailRepositoryProbeImpl.java | 6 +
.../org/apache/james/JamesServerExtension.java | 22 +-
.../james/utils/InitializationOperation.java | 7 +
.../james/utils/InitilizationOperationBuilder.java | 18 +-
server/container/guice/distributed/pom.xml | 8 +
.../modules/DistributedTaskManagerModule.java | 6 +
.../blobstore/BlobStoreCacheModulesChooser.java | 2 +-
.../modules/blobstore/BlobStoreConfiguration.java | 22 +-
.../modules/blobstore/BlobStoreModulesChooser.java | 36 +-
.../james/modules/event/JMAPEventBusModule.java | 14 +
.../modules/event/RabbitMQEventBusModule.java | 11 +-
.../blobstore/BlobStoreConfigurationTest.java | 42 ++-
.../org/apache/james/modules/server/JMXServer.java | 7 +-
.../james/modules/server/JmxConfiguration.java | 3 +-
server/container/guice/mailbox-postgres/pom.xml | 2 +-
...java => PostgresDeletedMessageVaultModule.java} | 42 +--
.../modules/mailbox/PostgresMailboxModule.java | 10 +-
server/container/guice/opensearch/pom.xml | 18 +
.../java/org/apache/james/SearchConfiguration.java | 41 ++-
.../java/org/apache/james/SearchModuleChooser.java | 5 +
.../modules/mailbox/OpenSearchDisabledModule.java} | 28 +-
.../OpenSearchMailboxConfigurationModule.java | 82 +++++
.../modules/mailbox/OpenSearchMailboxModule.java | 66 +---
.../apache/james/DockerOpenSearchExtension.java | 0
.../org/apache/james/DockerOpenSearchRule.java | 2 +-
.../test/java/org/apache/james/TikaExtension.java | 0
.../org/apache/james/modules/TestTikaModule.java | 0
.../mailbox/OpenSearchMailboxModuleTest.java | 2 +-
.../mailbox}/TestDockerOpenSearchModule.java | 2 +-
server/container/guice/pom.xml | 13 +
server/container/guice/postgres-common/pom.xml | 8 +
.../james/modules/data/JPAEntityManagerModule.java | 116 ------
.../james/modules/data/PostgresCommonModule.java | 30 +-
.../james/modules/data/PostgresDataModule.java | 2 +-
...ule.java => PostgresDelegationStoreModule.java} | 25 +-
...dule.java => PostgresMailRepositoryModule.java} | 22 +-
.../data/PostgresUsersRepositoryModule.java | 22 --
.../modules/events/PostgresDeadLetterModule.java} | 44 +--
...estJPAConfigurationModuleWithSqlValidation.java | 86 -----
server/container/guice/queue/rabbitmq/pom.xml | 17 +
.../queue/rabbitmq/RabbitMQMailQueueModule.java | 4 +
.../apache/james/modules/DockerRabbitMQRule.java | 0
.../apache/james/modules/RabbitMQExtension.java | 2 +-
.../apache/james/modules/TestRabbitMQModule.java | 3 +-
.../data/SievePostgresRepositoryModules.java | 11 +-
.../apache/james/utils/ExtendedClassLoader.java | 19 +-
.../org/apache/james/utils/GuiceGenericLoader.java | 6 +-
.../filtering/CassandraFilteringProjection.java | 6 +-
.../james/jmap/cassandra/filtering/RuleDTO.java | 12 +-
.../CassandraPushSubscriptionRepository.java | 7 +-
...ourcingFilteringManagementNoProjectionTest.java | 5 +-
.../src/test/resources/json/eventComplex.json | 12 +-
.../src/test/resources/json/increment.json | 8 +-
.../org/apache/james/jmap/api/filtering/Rule.java | 40 +-
.../impl/EventSourcingFilteringManagement.java | 19 +-
.../MemoryPushSubscriptionRepository.java | 7 +-
.../james/jmap/api/filtering/RuleFixture.java | 6 +-
.../PushSubscriptionRepositoryContract.scala | 34 +-
.../lib/SieveRepositoryContract.java | 11 +
server/data/data-postgres/pom.xml | 60 +--
.../domainlist/postgres/PostgresDomainModule.java | 3 +-
.../mailrepository/jpa/JPAMailRepository.java | 407 ---------------------
.../james/mailrepository/jpa/model/JPAMail.java | 246 -------------
.../james/mailrepository/jpa/model/JPAUrl.java | 65 ----
.../postgres/PostgresMailRepository.java | 362 ++++++++++++++++++
.../PostgresMailRepositoryFactory.java} | 28 +-
.../postgres/PostgresMailRepositoryModule.java | 91 +++++
.../PostgresMailRepositoryUrlStore.java} | 45 +--
.../PostgresRecipientRewriteTableModule.java | 3 +-
.../postgres/PostgresSieveModule.java} | 49 ++-
.../sieve/postgres/PostgresSieveRepository.java | 281 ++++++--------
.../sieve/postgres/PostgresSieveScriptDAO.java | 156 ++++++++
.../james/sieve/postgres/model/JPASieveScript.java | 200 ----------
.../sieve/postgres/model/PostgresSieveScript.java | 162 ++++++++
.../postgres/model/PostgresSieveScriptId.java} | 21 +-
.../user/postgres/PostgresDelegationStore.java | 89 +++++
.../james/user/postgres/PostgresUserModule.java | 11 +-
.../james/user/postgres/PostgresUsersDAO.java | 98 +++++
.../PostgresMailRepositoryTest.java} | 51 ++-
.../PostgresMailRepositoryUrlStoreExtension.java} | 36 +-
.../PostgresMailRepositoryUrlStoreTest.java} | 6 +-
.../postgres/PostgresSieveRepositoryTest.java | 18 +-
.../user/postgres/PostgresDelegationStoreTest.java | 48 ++-
.../src/test/resources/persistence.xml | 42 ---
server/mailet/dkim/pom.xml | 4 +
.../org/apache/james/jdkim/mailets/DKIMSign.java | 17 +-
.../apache/james/jdkim/mailets/DKIMVerifier.java | 3 +-
.../org/apache/james/jdkim/mailets/DKIMVerify.java | 2 +-
.../apache/james/jdkim/mailets/DKIMSignTest.java | 27 +-
.../apache/james/mailets/DKIMIntegrationTest.java | 77 +++-
.../mailets/FilterForwardIntegrationTest.java | 87 +----
.../james/mailets/ForwardIntegrationTest.java | 12 +-
.../james/mailets/ForwardLoopIntegrationTest.java | 238 ++++++++++++
.../mailets/RecipientRewriteTableProcessor.java | 83 +++--
.../remote/delivery/MailDelivrerToHost.java | 1 +
server/mailet/rate-limiter-redis/pom.xml | 10 +
.../rate/limiter/redis/RedisRateLimiter.scala | 9 +-
.../james/rate/limiter/RedisRateLimiterTest.scala | 9 +-
.../methods/integration/SendMDNMethodTest.java | 55 +--
.../src/test/resources/usersrepository.xml | 1 +
.../pom.xml | 27 +-
.../james/jmap/mailet/filter/ActionApplier.java | 145 +++++---
.../pom.xml | 29 +-
.../rfc8621/contract/EmailGetMethodContract.scala | 103 ++++++
.../rfc8621/contract/EmailSetMethodContract.scala | 104 ++++++
.../src/test/resources/usersrepository.xml | 1 +
.../james/jmap/json/EmailSetSerializer.scala | 54 +--
.../org/apache/james/jmap/mail/EmailBodyPart.scala | 5 +-
.../org/apache/james/jmap/mail/EmailSet.scala | 54 ++-
.../james/jmap/pushsubscription/PushListener.scala | 6 +-
.../jmap/pushsubscription/PushListenerTest.scala | 2 +-
server/protocols/protocols-imap4/pom.xml | 4 +-
.../james/imapserver/netty/IMAPServerTest.java | 7 +-
server/protocols/protocols-lmtp/pom.xml | 9 +-
.../hook/MailboxDeliverToRecipientHandler.java | 15 +-
.../apache/james/lmtpserver/LmtpServerTest.java | 66 +++-
.../mailbox/DistributedPop3ServerTest.java | 7 +-
server/protocols/protocols-pop3/pom.xml | 4 +-
.../apache/james/pop3server/POP3ServerTest.java | 7 +-
server/protocols/protocols-smtp/pom.xml | 4 +-
.../james/smtpserver/ExtendedSMTPSession.java | 7 +
.../apache/james/smtpserver/netty/SMTPServer.java | 11 +
.../apache/james/smtpserver/AuthAnnounceTest.java | 180 ++-------
.../java/org/apache/james/smtpserver/DSNTest.java | 185 ++--------
.../james/smtpserver/DisableFeatureTest.java} | 37 +-
.../apache/james/smtpserver/FutureReleaseTest.java | 174 ++-------
.../org/apache/james/smtpserver/SMTPSaslTest.java | 187 ++--------
.../apache/james/smtpserver/SMTPServerTest.java | 355 ++++++------------
.../james/smtpserver/SMTPServerTestSystem.java | 182 +++++++++
.../test/resources/smtpserver-disabled-feature.xml | 51 +++
.../distributed-webadmin-integration-test/pom.xml | 31 +-
...itMQWebAdminServerIntegrationImmutableTest.java | 6 +-
.../memory-webadmin-integration-test/pom.xml | 2 +-
server/protocols/webadmin-integration-test/pom.xml | 1 +
.../postgres-webadmin-integration-test}/pom.xml | 66 ++--
...ostgresDeletedMessageVaultIntegrationTest.java} | 87 +++--
.../src/test/resources/dnsservice.xml | 0
.../src/test/resources/domainlist.xml | 0
.../src/test}/resources/imapserver.xml | 0
.../src/test/resources/jwt_publickey | 0
.../src/test/resources/listeners.xml} | 33 +-
.../src/test}/resources/lmtpserver.xml | 0
.../src/test/resources/mailetcontainer.xml | 26 +-
.../src/test/resources/mailrepositorystore.xml | 4 +-
.../src/test}/resources/managesieveserver.xml | 0
.../src/test}/resources/pop3server.xml | 0
.../src/test/resources/smtpserver.xml | 0
.../src/test/resources/webadmin.properties | 0
.../org/apache/james/webadmin/WebAdminServer.java | 13 +-
.../org/apache/james/webadmin/WebAdminUtils.java | 4 +-
.../apache/james/webadmin/WebAdminUtilsTest.java | 29 +-
.../data/jmap/PopulateFilteringProjectionTask.java | 2 +-
...pulateFilteringProjectionRequestToTaskTest.java | 2 +-
server/protocols/webadmin/webadmin-mailbox/pom.xml | 4 +-
.../james/queue/memory/MemoryMailQueueFactory.java | 8 +-
.../org/apache/james/queue/rabbitmq/Dequeuer.java | 6 +-
.../RabbitMQMailQueueConsumerHealthCheck.java | 87 +++++
.../DistributedTaskManagerHealthCheck.java | 77 ++++
.../distributed/RabbitMQWorkQueue.java | 14 +-
.../RabbitMQWorkQueueReconnectionHandler.java | 29 +-
.../distributed/RabbitMQWorkQueueTest.java | 12 +-
src/adr/0067-quota-for-jmap-uploads.md | 2 +-
.../0068-mutualize-cassandra-storge-for-quota.md | 2 +-
src/adr/0069-crowdsec-IP-filtering.md | 57 +++
src/adr/0070-postgresql-adoption.md | 84 +++++
.../0071-postgresql-mailbox-tables-structure.md | 58 +++
...-postgresql-flags-update-concurrency-control.md | 57 +++
src/adr/img/adr-69-scenario-diagram.png | Bin 0 -> 77049 bytes
src/adr/img/adr-71-mailbox-tables-diagram.png | Bin 0 -> 146780 bytes
src/site/xdoc/protocols/imap4.xml | 1 +
src/site/xdoc/server/config-blobstore.xml | 6 +
src/site/xdoc/server/config-cassandra.xml | 3 +
.../xdoc/server/config-mailrepositorystore.xml | 6 +
src/site/xdoc/server/config-rabbitmq.xml | 15 +
src/site/xdoc/server/config-redis.xml | 4 +-
src/site/xdoc/server/config-smtp-lmtp.xml | 3 +
testing/base/src/main/resources/logback-test.xml | 3 +-
third-party/crowdsec/README.md | 67 ++++
third-party/crowdsec/docker-compose.yml | 4 +
.../cassandra => third-party/crowdsec}/pom.xml | 100 +++--
.../sample-configuration/collections/james.yaml | 3 +-
.../sample-configuration/crowdsec.properties | 2 +
.../sample-configuration/extensions.properties | 1 +
.../sample-configuration/parsers/james-auth.yaml | 6 +-
.../parsers/james-dictionary-attack.yaml | 25 ++
.../scenarios/james-dictionary-attack.yaml | 14 +
.../crowdsec/sample-configuration/smtpserver.xml | 162 ++++++++
.../java/org/apache/james/CrowdsecEhloHook.java | 73 ++++
.../james/model/CrowdsecClientConfiguration.java | 51 +--
.../org/apache/james/model/CrowdsecDecision.java | 165 +++++++++
.../james/model/CrowdsecDecisionDeserializer.java | 47 ++-
.../org/apache/james/model/CrowdsecHttpClient.java | 96 +++++
.../org/apache/james/module/CrowdsecModule.java | 24 +-
.../james/CrowdsecDecisionDeserializerTest.java | 38 +-
.../org/apache/james/CrowdsecEhloHookTest.java | 90 +++++
.../java/org/apache/james/CrowdsecExtension.java | 69 ++++
.../org/apache/james/CrowdsecHttpClientTest.java | 128 +++++++
.../apache/james/DockerCrowdsecExtensionTest.java | 75 ++++
third-party/pom.xml | 3 +-
upgrade-instructions.md | 15 +
431 files changed, 11734 insertions(+), 4641 deletions(-)
copy
server/container/guice/common/src/main/java/org/apache/james/utils/FilteringManagementProbeImpl.java
=>
backends-common/postgres/src/main/java/org/apache/james/backends/postgres/utils/PostgresHealthCheck.java
(54%)
rename
server/data/data-postgres/src/test/java/org/apache/james/jpa/healthcheck/JPAHealthCheckTest.java
=>
backends-common/postgres/src/test/java/org/apache/james/backends/postgres/utils/PostgresHealthCheckTest.java
(53%)
create mode 100644 backends-common/redis/pom.xml
rename
server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiterConfiguration.scala
=>
backends-common/redis/src/main/java/org/apache/james/backends/redis/RedisConfiguration.scala
(80%)
rename
{server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter
=>
backends-common/redis/src/main/java/org/apache/james/backends}/redis/RedisHealthCheck.scala
(95%)
rename
{server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter
=>
backends-common/redis/src/test/java/org/apache/james/backends/redis}/DockerRedis.java
(94%)
create mode 100644
backends-common/redis/src/test/java/org/apache/james/backends/redis/RedisConfigurationTest.scala
rename
{server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter
=>
backends-common/redis/src/test/java/org/apache/james/backends/redis}/RedisExtension.java
(90%)
copy
{server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter
=>
backends-common/redis/src/test/java/org/apache/james/backends/redis}/RedisExtensionTest.java
(97%)
rename
{server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter
=>
backends-common/redis/src/test/java/org/apache/james/backends/redis}/RedisHealthCheckTest.scala
(93%)
create mode 100644
event-bus/distributed/src/main/java/org/apache/james/events/RabbitEventBusConsumerHealthCheck.java
rename
server/data/data-postgres/src/main/java/org/apache/james/jpa/healthcheck/JPAHealthCheck.java
=>
event-bus/distributed/src/main/java/org/apache/james/events/RabbitMQJmapEventBusDeadLetterQueueHealthCheck.java
(52%)
rename
event-bus/distributed/src/main/java/org/apache/james/events/{RabbitMQEventBusDeadLetterQueueHealthCheck.java
=> RabbitMQMailboxEventBusDeadLetterQueueHealthCheck.java} (80%)
copy
event-bus/distributed/src/test/java/org/apache/james/events/{RabbitMQEventBusDeadLetterQueueHealthCheckTest.java
=> RabbitMQJmapEventBusDeadLetterQueueHealthCheckTest.java} (75%)
rename
event-bus/distributed/src/test/java/org/apache/james/events/{RabbitMQEventBusDeadLetterQueueHealthCheckTest.java
=> RabbitMQMailboxEventBusDeadLetterQueueHealthCheckTest.java} (77%)
copy {server/container/guice/postgres-common => event-bus/postgres}/pom.xml
(72%)
create mode 100644
event-bus/postgres/src/main/java/org/apache/james/events/PostgresEventDeadLetters.java
copy
server/data/data-postgres/src/main/java/org/apache/james/user/postgres/PostgresUserModule.java
=>
event-bus/postgres/src/main/java/org/apache/james/events/PostgresEventDeadLettersModule.java
(60%)
copy
server/mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/RedisExtensionTest.java
=>
event-bus/postgres/src/test/java/org/apache/james/events/PostgresEventDeadLettersTest.java
(67%)
create mode 100644
mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/events/DisabledListeningMessageSearchIndex.java
copy {mpt/impl/smtp/cassandra =>
mailbox/plugin/deleted-messages-vault-postgres}/pom.xml (72%)
create mode 100644
mailbox/plugin/deleted-messages-vault-postgres/src/main/java/org/apache/james/vault/metadata/DeletedMessageVaultDeletionCallback.java
copy
server/data/data-postgres/src/main/java/org/apache/james/rrt/postgres/PostgresRecipientRewriteTableModule.java
=>
mailbox/plugin/deleted-messages-vault-postgres/src/main/java/org/apache/james/vault/metadata/PostgresDeletedMessageMetadataModule.java
(53%)
create mode 100644
mailbox/plugin/deleted-messages-vault-postgres/src/main/java/org/apache/james/vault/metadata/PostgresDeletedMessageMetadataVault.java
copy
mailbox/{postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java
=>
plugin/deleted-messages-vault-postgres/src/test/java/org/apache/james/vault/metadata/PostgresDeletedMessageMetadataVaultTest.java}
(55%)
rename mailbox/plugin/{deleted-messages-vault-cassandra =>
deleted-messages-vault}/src/main/java/org/apache/james/vault/metadata/MetadataSerializer.java
(100%)
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/DeleteMessageListener.java
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/MessageRepresentation.java
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/search/AllSearchOverride.java
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/search/DeletedSearchOverride.java
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/search/DeletedWithRangeSearchOverride.java
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/search/NotDeletedWithRangeSearchOverride.java
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/search/UidSearchOverride.java
create mode 100644
mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/search/UnseenSearchOverride.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/DeleteMessageListenerContract.java
copy
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{PostgresMailboxManagerStressTest.java
=> DeleteMessageListenerTest.java} (60%)
copy
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/{PostgresMailboxManagerTest.java
=> DeleteMessageListenerWithRLSTest.java} (53%)
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/mail/PostgresAnnotationMapperRowLevelSecurityTest.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/mail/PostgresMessageMapperRowLevelSecurityTest.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/search/AllSearchOverrideTest.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/search/DeletedSearchOverrideTest.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/search/DeletedWithRangeSearchOverrideTest.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/search/NotDeletedWithRangeSearchOverrideTest.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/search/SearchOverrideFixture.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/search/UidSearchOverrideTest.java
create mode 100644
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/search/UnseenSearchOverrideTest.java
create mode 100644
mailet/api/src/main/java/org/apache/mailet/LoopPrevention.java
create mode 100644
mailet/api/src/test/java/org/apache/mailet/LoopPreventionTest.java
create mode 100644
mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/FetchPartial.test
create mode 100644
protocols/imap/src/main/java/org/apache/james/imap/api/message/PartialRange.java
create mode 100644
server/apps/cassandra-app/src/test/java/org/apache/james/CassandraWithOpenSearchDisabled.java
copy
server/{protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests
=> apps/cli-integration-tests}/src/test/resources/usersrepository.xml (97%)
create mode 100644
server/apps/distributed-app/docs/modules/ROOT/pages/configure/search.adoc
create mode 100644 server/apps/postgres-app/docker-compose-distributed.yml
copy server/apps/{distributed-app/sample-configuration =>
postgres-app/sample-configuration-distributed}/blob.properties (79%)
create mode 100644
server/apps/postgres-app/sample-configuration-distributed/opensearch.properties
copy server/apps/{distributed-app/sample-configuration =>
postgres-app/sample-configuration-distributed}/rabbitmq.properties (89%)
create mode 100644
server/apps/postgres-app/sample-configuration-single/search.properties
copy server/apps/{cassandra-app =>
postgres-app}/sample-configuration/deletedMessageVault.properties (100%)
delete mode 100644
server/apps/postgres-app/sample-configuration/james-database-postgres.properties
delete mode 100644
server/apps/postgres-app/sample-configuration/james-database.properties
delete mode 100644
server/apps/postgres-app/src/main/resources/META-INF/persistence.xml
create mode 100644
server/apps/postgres-app/src/test/java/org/apache/james/BodyDeduplicationIntegrationTest.java
copy
server/apps/postgres-app/src/test/java/org/apache/james/{PostgresJamesServerTest.java
=> DistributedPostgresJamesServerTest.java} (69%)
copy
server/apps/postgres-app/src/test/java/org/apache/james/{PostgresWithLDAPJamesServerTest.java
=> PostgresBlobStoreIntegrationTest.java} (59%)
create mode 100644
server/apps/postgres-app/src/test/java/org/apache/james/PostgresWithOpenSearchDisabledTest.java
copy
server/apps/postgres-app/src/test/java/org/apache/james/{PostgresWithLDAPJamesServerTest.java
=> PostgresWithTikaTest.java} (63%)
copy
server/apps/postgres-app/src/test/java/org/apache/james/{PostgresWithLDAPJamesServerTest.java
=> WithScanningSearchImmutableTest.java} (63%)
copy
server/apps/postgres-app/src/test/java/org/apache/james/{PostgresWithLDAPJamesServerTest.java
=> WithScanningSearchMutableTest.java} (63%)
copy server/apps/{webadmin-cli =>
postgres-app}/src/test/resources/webadmin.properties (100%)
copy server/blob/{blob-memory => blob-file}/pom.xml (89%)
create mode 100644
server/blob/blob-file/src/main/java/org/apache/james/blob/file/FileBlobStoreDAO.java
copy
server/{container/guice/blob/s3/src/main/java/org/apache/james/modules/objectstorage/DefaultBucketModule.java
=>
blob/blob-file/src/main/java/org/apache/james/blob/file/FileBlobStoreFactory.java}
(60%)
copy
server/{apps/cassandra-app/src/test/java/org/apache/james/TikaExtension.java =>
blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreDAOTest.java}
(62%)
copy
server/{apps/cassandra-app/src/test/java/org/apache/james/TikaExtension.java =>
blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreGCAlgorithmTest.java}
(64%)
copy
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java
=>
server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStorePassThroughTest.java
(55%)
copy
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java
=>
server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreTest.java
(55%)
copy {mpt/impl/imap-mailbox/postgres => server/blob/blob-postgres}/pom.xml
(67%)
copy
server/{data/data-postgres/src/main/java/org/apache/james/rrt/postgres/PostgresRecipientRewriteTableModule.java
=>
blob/blob-postgres/src/main/java/org/apache/james/blob/postgres/PostgresBlobStorageModule.java}
(58%)
create mode 100644
server/blob/blob-postgres/src/main/java/org/apache/james/blob/postgres/PostgresBlobStoreDAO.java
create mode 100644
server/blob/blob-postgres/src/test/java/org/apache/james/blob/postgres/PostgresBlobStoreDAOTest.java
copy server/{protocols/webadmin-integration-test =>
container/guice/blob/postgres}/pom.xml (52%)
rename
server/container/guice/{mailbox-postgres/src/main/java/org/apache/james/modules/mailbox/JPAQuotaSearchModule.java
=> blob/postgres/src/main/java/modules/BlobPostgresModule.java} (73%)
copy
server/container/guice/blob/s3/src/main/java/org/apache/james/modules/objectstorage/{DefaultBucketModule.java
=> S3BucketModule.java} (96%)
rename server/{apps/distributed-app =>
container/guice/blob/s3}/src/test/java/org/apache/james/modules/AwsS3BlobStoreExtension.java
(100%)
rename
server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/{CassandraBucketModule.java
=> DefaultBucketModule.java} (96%)
copy
server/container/guice/mailbox-postgres/src/main/java/org/apache/james/modules/mailbox/{LuceneSearchMailboxModule.java
=> PostgresDeletedMessageVaultModule.java} (55%)
rename
server/container/guice/{mailbox-postgres/src/main/java/org/apache/james/modules/mailbox/LuceneSearchMailboxModule.java
=>
opensearch/src/main/java/org/apache/james/modules/mailbox/OpenSearchDisabledModule.java}
(66%)
create mode 100644
server/container/guice/opensearch/src/main/java/org/apache/james/modules/mailbox/OpenSearchMailboxConfigurationModule.java
rename server/{apps/cassandra-app =>
container/guice/opensearch}/src/test/java/org/apache/james/DockerOpenSearchExtension.java
(100%)
rename server/{apps/cassandra-app =>
container/guice/opensearch}/src/test/java/org/apache/james/DockerOpenSearchRule.java
(96%)
rename server/{apps/cassandra-app =>
container/guice/opensearch}/src/test/java/org/apache/james/TikaExtension.java
(100%)
rename server/{apps/cassandra-app =>
container/guice/opensearch}/src/test/java/org/apache/james/modules/TestTikaModule.java
(100%)
rename server/{apps/cassandra-app/src/test/java/org/apache/james/modules =>
container/guice/opensearch/src/test/java/org/apache/james/modules/mailbox}/TestDockerOpenSearchModule.java
(98%)
delete mode 100644
server/container/guice/postgres-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
copy
server/container/guice/postgres-common/src/main/java/org/apache/james/modules/data/{PostgresUsersRepositoryModule.java
=> PostgresDelegationStoreModule.java} (74%)
rename
server/container/guice/postgres-common/src/main/java/org/apache/james/modules/data/{JPAMailRepositoryModule.java
=> PostgresMailRepositoryModule.java} (70%)
rename
server/container/guice/postgres-common/src/{test/java/org/apache/james/TestJPAConfigurationModule.java
=> main/java/org/apache/james/modules/events/PostgresDeadLetterModule.java}
(55%)
delete mode 100644
server/container/guice/postgres-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java
rename server/{apps/distributed-app =>
container/guice/queue/rabbitmq}/src/test/java/org/apache/james/modules/DockerRabbitMQRule.java
(100%)
rename server/{apps/distributed-app =>
container/guice/queue/rabbitmq}/src/test/java/org/apache/james/modules/RabbitMQExtension.java
(99%)
rename server/{apps/distributed-app =>
container/guice/queue/rabbitmq}/src/test/java/org/apache/james/modules/TestRabbitMQModule.java
(98%)
delete mode 100644
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/jpa/JPAMailRepository.java
delete mode 100644
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/jpa/model/JPAMail.java
delete mode 100644
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/jpa/model/JPAUrl.java
create mode 100644
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/postgres/PostgresMailRepository.java
copy
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/{jpa/JPAMailRepositoryFactory.java
=> postgres/PostgresMailRepositoryFactory.java} (64%)
create mode 100644
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/postgres/PostgresMailRepositoryModule.java
rename
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/{jpa/JPAMailRepositoryUrlStore.java
=> postgres/PostgresMailRepositoryUrlStore.java} (53%)
copy
server/data/data-postgres/src/main/java/org/apache/james/{rrt/postgres/PostgresRecipientRewriteTableModule.java
=> sieve/postgres/PostgresSieveModule.java} (53%)
create mode 100644
server/data/data-postgres/src/main/java/org/apache/james/sieve/postgres/PostgresSieveScriptDAO.java
delete mode 100644
server/data/data-postgres/src/main/java/org/apache/james/sieve/postgres/model/JPASieveScript.java
create mode 100644
server/data/data-postgres/src/main/java/org/apache/james/sieve/postgres/model/PostgresSieveScript.java
rename
server/{container/guice/postgres-common/src/main/java/org/apache/james/modules/data/JPAAuthorizatorModule.java
=>
data/data-postgres/src/main/java/org/apache/james/sieve/postgres/model/PostgresSieveScriptId.java}
(75%)
create mode 100644
server/data/data-postgres/src/main/java/org/apache/james/user/postgres/PostgresDelegationStore.java
rename
server/data/data-postgres/src/test/java/org/apache/james/mailrepository/{jpa/JPAMailRepositoryTest.java
=> postgres/PostgresMailRepositoryTest.java} (55%)
rename
server/data/data-postgres/src/test/java/org/apache/james/mailrepository/{jpa/JPAMailRepositoryUrlStoreExtension.java
=> postgres/PostgresMailRepositoryUrlStoreExtension.java} (60%)
rename
server/data/data-postgres/src/test/java/org/apache/james/mailrepository/{jpa/JPAMailRepositoryUrlStoreTest.java
=> postgres/PostgresMailRepositoryUrlStoreTest.java} (86%)
copy
mailbox/postgres/src/test/java/org/apache/james/mailbox/postgres/PostgresMailboxManagerStressTest.java
=>
server/data/data-postgres/src/test/java/org/apache/james/user/postgres/PostgresDelegationStoreTest.java
(52%)
delete mode 100644 server/data/data-postgres/src/test/resources/persistence.xml
create mode 100644
server/mailet/integration-testing/src/test/java/org/apache/james/mailets/ForwardLoopIntegrationTest.java
copy
server/protocols/{jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests
=>
jmap-draft-integration-testing/memory-jmap-draft-integration-testing}/src/test/resources/usersrepository.xml
(97%)
rename
server/{mailet/rate-limiter-redis/src/test/java/org/apache/james/rate/limiter/RedisExtensionTest.java
=>
protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DisableFeatureTest.java}
(56%)
create mode 100644
server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTestSystem.java
create mode 100644
server/protocols/protocols-smtp/src/test/resources/smtpserver-disabled-feature.xml
copy server/{blob/blob-memory =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test}/pom.xml
(64%)
copy
server/{apps/postgres-app/src/test/java/org/apache/james/PostgresJamesServerTest.java
=>
protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/vault/PostgresDeletedMessageVaultIntegrationTest.java}
(54%)
copy {examples/custom-imap =>
server/protocols/webadmin-integration-test/postgres-webadmin-integration-test}/src/test/resources/dnsservice.xml
(100%)
copy {examples/custom-imap =>
server/protocols/webadmin-integration-test/postgres-webadmin-integration-test}/src/test/resources/domainlist.xml
(100%)
copy server/{mailet/integration-testing/src/main =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test}/resources/imapserver.xml
(100%)
copy server/{apps/cli-integration-tests =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test}/src/test/resources/jwt_publickey
(100%)
copy
server/protocols/{jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/resources/usersrepository.xml
=>
webadmin-integration-test/postgres-webadmin-integration-test/src/test/resources/listeners.xml}
(54%)
copy server/{mailet/integration-testing/src/main =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test}/resources/lmtpserver.xml
(100%)
copy server/{apps/postgres-app =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test}/src/test/resources/mailetcontainer.xml
(81%)
copy server/{apps/postgres-app =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test}/src/test/resources/mailrepositorystore.xml
(87%)
copy server/{mailet/integration-testing/src/main =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test}/resources/managesieveserver.xml
(100%)
copy server/{mailet/integration-testing/src/main =>
protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test}/resources/pop3server.xml
(100%)
copy
server/protocols/webadmin-integration-test/{distributed-webadmin-integration-test
=> postgres-webadmin-integration-test}/src/test/resources/smtpserver.xml (100%)
copy
server/protocols/webadmin-integration-test/{distributed-webadmin-integration-test
=> postgres-webadmin-integration-test}/src/test/resources/webadmin.properties
(100%)
create mode 100644
server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConsumerHealthCheck.java
create mode 100644
server/task/task-distributed/src/main/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerHealthCheck.java
create mode 100644 src/adr/0069-crowdsec-IP-filtering.md
create mode 100644 src/adr/0070-postgresql-adoption.md
create mode 100644 src/adr/0071-postgresql-mailbox-tables-structure.md
create mode 100644 src/adr/0072-postgresql-flags-update-concurrency-control.md
create mode 100644 src/adr/img/adr-69-scenario-diagram.png
create mode 100644 src/adr/img/adr-71-mailbox-tables-diagram.png
create mode 100644 third-party/crowdsec/README.md
copy {backends-common/cassandra => third-party/crowdsec}/pom.xml (56%)
create mode 100644
third-party/crowdsec/sample-configuration/crowdsec.properties
create mode 100644
third-party/crowdsec/sample-configuration/extensions.properties
create mode 100644
third-party/crowdsec/sample-configuration/parsers/james-dictionary-attack.yaml
create mode 100644
third-party/crowdsec/sample-configuration/scenarios/james-dictionary-attack.yaml
create mode 100644 third-party/crowdsec/sample-configuration/smtpserver.xml
create mode 100644
third-party/crowdsec/src/main/java/org/apache/james/CrowdsecEhloHook.java
rename
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/jpa/JPAMailRepositoryFactory.java
=>
third-party/crowdsec/src/main/java/org/apache/james/model/CrowdsecClientConfiguration.java
(51%)
create mode 100644
third-party/crowdsec/src/main/java/org/apache/james/model/CrowdsecDecision.java
rename
server/data/data-postgres/src/main/java/org/apache/james/mailrepository/jpa/MimeMessageJPASource.java
=>
third-party/crowdsec/src/main/java/org/apache/james/model/CrowdsecDecisionDeserializer.java
(53%)
create mode 100644
third-party/crowdsec/src/main/java/org/apache/james/model/CrowdsecHttpClient.java
rename
server/container/guice/blob/s3/src/main/java/org/apache/james/modules/objectstorage/DefaultBucketModule.java
=>
third-party/crowdsec/src/main/java/org/apache/james/module/CrowdsecModule.java
(62%)
copy
server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtilsTest.java
=>
third-party/crowdsec/src/test/java/org/apache/james/CrowdsecDecisionDeserializerTest.java
(50%)
create mode 100644
third-party/crowdsec/src/test/java/org/apache/james/CrowdsecEhloHookTest.java
create mode 100644
third-party/crowdsec/src/test/java/org/apache/james/CrowdsecExtension.java
create mode 100644
third-party/crowdsec/src/test/java/org/apache/james/CrowdsecHttpClientTest.java
create mode 100644
third-party/crowdsec/src/test/java/org/apache/james/DockerCrowdsecExtensionTest.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]