You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2024/04/16 03:19:01 UTC
(james-project) branch postgresql-backup updated (b18ca30f2c -> 4720ef72f6)
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
discard b18ca30f2c JAMES-2586 - JMAP Upload - Fix unstable UploadService test
discard 50c3de82ab JAMES-3925 - JMAP Upload - Update current usage only when delete succeed
discard 34dc0ba650 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied
omit 0d75d20651 JAMES-2586 Remove opensearch in PostgresWebPushTest
omit b3275a5133 JAMES-2586 remove redundant import in PostgresPushSubscriptionSetMethodTest
omit 3ea70f0020 JAMES-2586 Fix PostgresMailboxSetMethodTest
omit bdf92d37b0 JAMES-2586 Fix PostgresEmailQueryMethodTest
omit b71b7e0a99 JAMES-2586 Fix PostgresEmailGetMethodTest
omit 7c538ce49c JAMES-2586 Optimize AttachmentLoader
omit 843aa8463e JAMES-2586 Bind PostgresMessageFastViewProjection
omit b0334068c6 JAMES-2586 Add PostgresAttachmentMapper to PostgresMessageIdMapper
omit 8b4f355688 JAMES-2586 Reduce repeat count for some JMAP integration tests
omit e8dd1d4f26 Add sslMode to require in PostgresqlConnectionConfiguration (#2109)
omit f5ca047cfe Provision Current Quota when MailboxAdded event
omit 6d2c565812 JAMES 2586 Try forkCount=2 to see if the tests are faster
omit 2132e540c9 JAMES 2586 Increase timeout to 1 hour for postgres-jmap-integration-test module
omit e37d3e1ae3 JAMES-2586 Replace drop by truncate in PostgresMessageFastViewProjection
omit 37d12539dc JAMES-2586 Fix PostgresPushSubscriptionSetMethodTest, PostgresThreadGetTest
omit 12da8afd15 [Build] Use tmpfs for Postgres db test container
omit 3d69dc9fdc JAMES-2586 [Postgres] FIXUP when query with IN - should pre-check collection size (#2103)
omit 29c85f3fe2 JAMES 2586 PostgresPushSubscriptionRepository: rely on Postgres unique constraint for deviceClientId (#2094)
omit 159806c86a JAMES-2586 Fix PostgresAuthenticationTest
omit bbf0ef8264 JAMES-2586 Disable some tests in Integration tests JMAP postgres
omit 5e2bc8ab72 JAMES-2586 Integration tests for JMAP postgres
omit cefca128d7 JAMES-2586 - Postgres push subscription - expires value should be stored Offset time
omit e1beb6150d JAMES-2586 Implement PostgresEmailQueryView (#2007)
omit dd346e3e25 JAMES-2586 Implement PostgresEventStore
omit d51f6326d4 JAMES-2586 Move some files from event-store-cassandra to event-store-api
omit 7239b59a79 JAMES-2586 Avoid Using COUNT() in SQL When You Could Use EXISTS()
omit 5f8f5bf161 JAMES-3981 Remove double logs upon closed channels
omit 91594e0921 JAMES-3981 Warn upon invalid RCPT
omit b69d11dbc5 JAMES-3981 Lower log level of closed connections
omit 310fbcce44 JAMES-2586 [Documentation] Using pg_stat_statements extension for track the stats of the SQL statement execution
omit 24947d762b JAMES-2586 Fix contract test NotificationRegistryContract::registerShouldNotPersistWhenExpiryDateIsPresent
omit 9282cb6840 JAMES-2586 Guice binding for PostgresNotificationRegistry
omit 442305327a JAMES-2586 SQL script to clean outdated vacation notifications
omit 7dc4891429 JAMES-2586 Implement PostgresNotificationRegistry
omit 7fe663814e JAMES-2586 Add Index for Postgres Mailbox table
omit 1a0be7116c JAMES-2586 Optimize query increase/decrease for Quota Current Value
omit 5358cec299 JAMES-2586 Temporarily disable a flaky PostgresUploadService test
omit dadd591cb2 JAMES-2586 Improve PostgresVacationRepository
omit 18c7b91edb JAMES-2586 Guice binding PostgresVacationRepository
omit e9f1a69063 JAMES-2586 Implement PostgresVacationRepository
omit ba7abd395d JAMES-2586 More flexible on comparing Vacation's ZonedDateTime
omit f4efc92ef9 JAMES-2586 Handle case when Postgres index/constraint already exists
omit e58f7311b4 JAMES-2586 Implement PostgresCustomIdentityDAO
omit 72227cda18 JAMES-2586 Implement PostgresFilteringProjection
omit 1a96bbfd82 JAMES-2586 Guice binding PostgresMailboxChangeRepository
omit 53e92ede2c JAMES-2586 Implement PostgresMailboxChangeRepository
omit 1ac910c8e6 JAMES-2586 Implement PostgresThreadIdGuessingAlgorithm (#1941)
omit 3bb9feafbb JAMES-2586 Introduce sql script to clean up PGSL data
omit 553868f628 JAMES-2586 Implement Postgres Push subscription
omit b912aca11e JAMES-2586 Disable row-level security by default in postgres.properties
omit 20392b7801 JAMES-2586: Guice binding JmapUploadCleanupModule for Postgres webadmin
omit 22f544c99c JAMES-2586: The UploadRepositoryCleanupTask should rely on the UploadRepository interface
omit 58d68faf06 JAMES-2586 Guice binding for Postgres upload
omit b8e17bf992 JAMES-2586 Implement Postgres upload usage repository
omit 50cfa66223 JAMES-2586 Implement Postgres upload repository
omit b4f5d855c9 JAMES-2586 Implement PostgresEmailChangeRepository - Fixup Guice binding
omit 1d4ba1a19f JAMES-2586 - Fixbug hanging issue when Jooq execute delete and return list
omit e4f011c70c JAMES-2586 - Fixbug - Delete Message Listener - Fix hanging issue
omit 68f65ab2c5 JAMES-2586 - Delete Message Listener - add test case when delete mailbox has a lot of messages
omit 8ca4c41ab8 JAMES-2586 Implement PostgresEmailChangeRepository
omit 1d2df3d316 JAMES-2586 Webadmin integration tests for postgres
omit 2e8dacb72f JAMES-2586 - Delete attachment in DeleteMessageListener
omit 0c072806ae JAMES-2586 Implement Postgres Attachment Blob reference source
omit 3243752f86 JAMES-2586 Implement PostgresAttachmentMapper, DAO and binding
omit b092ea3591 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app
omit 25721620e6 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app
omit fc37dddac3 JAMES-2586 JMAP Guice bindings modules to pg-app
omit f10d4a442c JAMES-2586 Little refactoring around DeleteMessageListener binding in posgres mailbox tests
omit 3fbe2c7179 JAMES-2586 Wire StoreMessageIdManager on top of the PostgresMessageIdMapper + tests
omit 8065b31abf JAMES-2586 Moving Managers out of the mail package
omit 1ddd299f8c JAMES-2586 Implement PostgresMessageFastViewProjection
omit 96f245cea3 JAMES-2586 - CLEAN CODE - Guice binding for Postgres User Repository modules
omit 199cf8d3e7 JAMES-2586 Jenkinsfile: run tests for `server/data/data-jmap-postgres` module
omit c40afa00ee JAMES-2586 DeleteMessageListener: better concurrency control upon mailbox deletion
omit 84aab1f734 JAMES-2586 Introduce data-jmap-postgres module
omit 17b5e2bd2f JAMES-2586 Implement PostgresMessageIdMapper
omit 5abe1b002e JAMES-2586 add mailbox para for generateMessageUid method in MapperProvider
omit 35bd908641 JAMES-2586 Implement BlobReferenceSource(s) for postgres-app
omit 26259e43ee JAMES-2586 - Set blobStorage implementation is postgres by default
omit 320bc007c3 JAMES-2586 Plug PreDeletionHooks
omit 7053bb8143 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest
omit bc6b5eff50 JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener
omit 617a3d3b58 JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault
omit 4d139f6a25 JAMES-2586 Implement PostgresDeletedMessageMetadataVault
omit 79291445a3 JAMES-2586 Refactor the way initPostgres of PostgresTableManager
omit bab9bbe1ea Guice InitializationOperation support priority when init module
omit 8dabcacd42 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS
omit 839c1e0995 JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security
omit 749c69bb49 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE
omit 701fa0db77 JAMES-2586 Bump jOOQ to 3.16.23
omit 0b458d8d89 JAMES-3777 [FIX] ReadProjection was not correctly used (#1899)
omit 680b3bb077 JAMES-2586 Adopt Postgres 16.1 (#1897)
omit 1a1e5fe3a2 JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser
omit 5dc7bd77c4 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO
omit d4011ecd93 JAMES-2586 Implement PostgresBlobStoreDAO
omit 5840dbe903 JAMES-2586 Add a health check integration test
omit 5e88a16e9d JAMES-2586 Add missing license
omit 5cb0036ed2 JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota
omit 133dbe675e JAMES-2586 Implement PostgresEventDeadLetters
omit 959f4a16a8 JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880)
omit 4936eadc55 JAMES-2586 Implement DeleteMessageListener for postgres (#1869)
omit d5ea5b6eb2 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app
omit acc74a131b JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice
omit 88e5638818 JAMES-2586 Unnecessary join on deleted uid search queries in postgresql
omit 5d73c3dd3a JAMES-2586 Refactor search overrides tests for postgresql
omit ba5591e225 JAMES-2586 Correct search overrides documentation in opensearch.properties
omit d7b0da3f35 JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql
omit 7c742d0a47 JAMES-2586 Implement UidSearchOverride for Postgresql
omit 9a6c242aee JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql
omit 5283b13b68 JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql
omit 8fce1eb347 JAMES-2586 Implement DeletedSearchOverride for Postgresql
omit 9ba5d0a8bd JAMES-2586 Implement AllSearchOverride for Postgresql
omit dc5d2a61e3 JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875)
omit fd1fe3562d JAMES-2586 Message body deduplication (#1873)
omit c5f0cea5ce JAMES-2586 Module chooser: S3, file blobStore
omit 55bd624ee5 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser
omit 1a6dc5684e JAMES-2586 Add docker compose distributed with OpenSearch for postgres app
omit a037884397 JAMES-2586 Add search module chooser for Postgres app
omit 2d6211dcd8 [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867)
omit b2b92ed6f7 JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858)
omit 295e435013 JAMES-2586 Add an Id for SieveScript (#1863)
omit c74ee55e1f JAMES-2586 add missing RLS tests
omit 9c278ffa07 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml
omit 231a9ba1dc JAMES-2586 Fix compilation errors
omit 962c6f845f JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table
omit 974640eb1c JAMES-2586 Finally remove the rest of JPA in postgres-app
omit 8050e015d0 JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository
omit 3fa7d49e36 JAMES-2586 Documentation for PostgresMailRepository
omit fb8e8cc607 JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code
omit 0923eeda52 JAMES-2586 Implement PostgresMailRepository
omit 5d91717e2b JAMES-2586 Guice binding for PostgresSieveScriptDAO
omit 0e1e1c5577 JAMES-2586 Delete JPASieveScript.java
omit 826d3f8366 JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository
omit 6f28b22155 JAMES-2586 ADR for Posgres mailbox tables structure (#1857)
omit 7ba0914bd9 JAMES-3967 Store mails when relay is exceeded
omit 697886b33a JAMES-2586 Implement and bind PostgresHealthCheck
omit 96371967af JAMES-2586 Remove JPAMailRepositoryUrlStore.java
omit 8600abedea JAMES-2586 Implement PostgresMailRepositoryUrlStore
omit 4640351088 JAMES-2586 Remove JPAHealthCheck.java
omit e33e472361 JAMES-2586 PostgresDelegationStore (#1851)
omit f1edd181ef JAMES-2586 Fixup compile error after merge master
omit 96c2a6c621 JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable
omit 6656e7e585 JAMES-2586 PostgresTableManager - Cleanup
omit 0479e46221 JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table
omit ea53cb9598 JAMES-2586 PostgresExecutor: better recognize prepared statement conflict
omit eb1d5d3d39 JAMES-2586 Add a unit test for recreate RLS column should not fail
omit abcf6a3172 JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader
omit 4395e4b763 JAMES-2586 Postgres app – Remove server test for authentication database sql validation
omit 7ae08f0787 JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4)
omit b779c03d8b JAMES-2586 Fix missing guice binding for Postgres quota module
omit 542e495631 JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method
omit f414eba135 JAMES-2586 [PGSQL] Optimize getMailboxCounter method
omit f096f54407 JAMES-2586 [PGSQL] Implement correctly FetchType
omit a7b87fcd4f JAMES-2586 Fully drop JPA within mailbox-postgresql
omit d71da17a74 JAMES-2586 Enable PostgresMailboxManager annotation tests
omit 7f99f10ede JAMES-2586 Enable UniqueID support for PostgresMailboxManager
omit b898f148f8 JAMES-2586 Remove unused method in MessageManager
omit 38f0659204 JAMES-2586 Remove unused class MessageUtils.java
omit 98c83ce092 JAMES-2586 Enable ACL support for PG
omit fcad76e023 JAMES-2586 [PGSQL] Initialization to configure users repository
omit 3780f0ee8e JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839)
omit b1875b3728 JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception
omit 734f0f6545 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts
omit dd4ff12c1e JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest
omit ce783bf0ea JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test
omit a809cc0834 JAMES-2586 Guide binding Postgres Message/Mailbox mapper
omit 80990d9e0a JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test
omit 2d3755c241 JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer
omit 078ec58ca1 JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock
omit cb9f703c28 JAMES-2586 - Fixup PostgresMailboxMessageDAO
omit cffb676ac5 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages
omit 52034b6058 JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted
omit f61e2b397a JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table
omit cbcd3a75b0 JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc
omit 59c699c8c6 JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager
omit e89b92a2be JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain
omit b84b641a40 JAMES-2586 Guice bindings and package renaming for domain postgres implementation
omit 3feadb463d JAMES-2586 Implement PostgresDomainList
omit 20ce82321b JAMES-2586 Remove unused method in PostgresExecutor
omit f35eb140c4 JAMES-2586 postgres mailbox annotation dao and mapper (#1822)
omit 6bc2792bcb JAMES-2586 Implement Postgres Current Quota manager
omit 3cd1ed5249 JAMES-2586 Implement PostgresMailboxMessageDAO (#1812)
omit bea6b9d591 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres
omit e0e1793e9c JAMES-2586 Implement SieveQuotaRepository backed by Postgres
omit d8af3d3ead JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816)
omit 01ed9c9780 JAMES-2586 Implement PostgresQuotaLimitDAO
omit ce1279f46b JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813)
omit c4d3acbdbd JAMES-2586 postgres users dao and repository (#1803)
omit 3bf5656e76 JAMES-2586 Create hstore extension if needed upon James startup
omit cce5f98746 JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper
omit eda31672af JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module
omit cafd28ab02 JAMES-2586 Implement PostgresModSeqProvider
omit 1d75e52137 JAMES-2586 Implement PostgresUidProvider
omit 804c855190 JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory
omit 61c7a27d17 JAMES-2586 Clean-up the provision.sh file of postgres-app
omit c7857a876a JAMES-2586 LOGGER when choice implementation of Postgresql connection factory
omit 26e23a9c91 JAMES-2586 Introduce Single postgres connection factory when disable row level security
omit 289e86471e JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory
omit aa6e334d8c JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks
omit 67c3d85cbd JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain
omit e10085b27c JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem
omit cb44ee01eb JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres
omit cea451f9cc JAMES-2586 Postgres app performance test materials (#1794)
omit cdc4115f04 JAMES-2586 implement postgres mailbox mapper (#1791)
omit a83acfc7ca JAMES-2586 implement dao for mailbox table (#1786)
omit 41b4ef8cbe JAMES-2586 Fix row-level security implementation
omit ab6a795f18 JAMES-2586 Small codestyle refactorings
omit d7e807b9d9 JAMES-2586 PostgresExtension: favor factory methods to constructor
omit 4165320c42 JAMES-2586 Document (link) varchar underlying maximum lengths
omit 00ad65a2e4 JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions
omit 273e292e73 JAMES-2586 Drop unused class: JPASubscription
omit d224f90f79 JAMES-2586 Drop unused class: EncryptDecryptHelper
omit 757726a3e3 JAMES-2586 Drop reporting-site.xml
omit 778c8a2fcd JAMES-2586 Drop Spring files for mailbox-postgres
omit 4977c6c358 JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule
omit 302b712da0 JAMES-2586 Polish code style: PostgresSubscriptionMapper
omit ab85e99053 JAMES-2586 Use prepared statements by default
omit 6a16a4cb45 JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage
omit db658a2502 JAMES-2586 Rename mailbox postgres package
omit 701ad53656 JAMES-2586 Rename Postgres Subscription
omit 4a6f974a11 JAMES-2586 Guice binding for Postgres subscription module
omit 3c0e6c9b88 JAMES-2586 Fix review comments
omit c27919bdb9 JAMES-2586 Sample docker configuration for postgres.properties
omit c6cd4c1297 JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled
omit 2a3593f40d JAMES-2586 Guice binding for PostgresTableManager
omit f8b920e815 JAMES-2586 Guice binding for JamesPostgresConnectionFactory
omit ca315c7bd7 JAMES-2586 Guice binding for PostgresConfiguration
omit b40c3b418d JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres
omit d0870b8d06 JAMES-2586 Introduce PostgresConfiguration
omit 525735b115 JAMES-2586 implement pg connection factory (#1774)
omit da72c5f9a1 JAMES-2586 Postgres Subscription mapper (#1775)
omit 82fa876823 JAMES-2586 Introduce PostgresExtension
omit e97ac61b10 [CI] Maven runs test on only postgres modules (postgresql branch)
omit 2b07a8519c JAMES-2586 PostgresTableManager support create table when enable row level security
omit d9380e90a2 JAMES-2586 - Implement PostgresTableManager
omit 1ad2132ca8 JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres
omit aff9605ed4 JAMES-2586 - Postgres - Init james-server-postgres-common-guice
omit 6f0e1e8b3f JAMES-2586 - Postgres - Init james-server-data-postgres
omit 0c7deb07c0 JAMES-2586 - Postgres - Init postgres app server
omit 616ac7eb6e JAMES-2586 - Postgres - Init postgres mailbox module
omit e2e5bd0ea3 JAMES-2586 - Postgres - Init backend common module for postgres
add 767b9a36d4 JAMES-3968 Fix mail loss due to RabbitMQ ack failure
add ae02d90e0b [Documentation] Fix sample configuration directory link in jpa guice app README
add fe455a99e6 JAMES-3777 [FIX] ReadProjection was not correctly used
add d99592f9a6 JAMES 3897: CrowdsecImapConnectionCheck
add ce11441019 JAMES 3897: Integration test for CrowdsecImapConnectionCheck
add 530401749b JAMES-3788 [FIX] MDC IP upon proxy
add f79e4aca14 JAMES 3897: Add connectionCheckFactory bean into imapserver-context.xml
add 891dab7819 [BUILD] - Upgrade scalafix-maven-plugin version 0.1.6_0.9.34 -> 0.1.8_0.11.0
add bb01c8a9f2 [FIX] OpenSearch should normalize base subject (#1910)
add 14e916467b [FIX] /changes handling of \Deleted flag updates
add 04aaad4a5a [FIX] Refactoring for MailboxAndEmailChange
add a0133276fd [FIX] Better handle COPY / MOVE
add 721b19eb43 [FIX] Adapt integration tests accordingly
add da89d2e0b6 [BUILD] Do not display info/debug log while running tests
add 651364a19e [DOC] Documentation fallback value capability for environment variable configuration
add 92b34b89da Fix for NoSuchElement in SPFHandler (#1931)
add 8efc69f0bd [RSpamD] AuditTrail for RspamdScanner
add b3d5e4e1d0 [RSpamD] Audit trail for ClamAV
add 47577d5cd0 [SpamAssassin] Audit trail for SpamAssassin
add 987571715b Fix for GUICE configuration and wiring the SPFHandler. Apparently the DNSService isn't properly registered resulting in an error when wiring up the SPFHandler.
add bdfb80fb62 JAMES-3953 Performance enhancements (#1906)
add 00c51c98ae [FIX] Enable dynamic translation of LDAP entries (#1932)
add 3445c5a1f0 [FIX] SMTP stack should recompute relaying rights upon PROXY message (#1933)
add 090cd634c9 JAMES-3971 Fix startup errors for jpa-smtp-app
add 02bf0074a0 JAMES-3970 Need to compile JPA SMTP application
add bc280654f6 Bump com.jayway.jsonpath:json-path from 2.8.0 to 2.9.0
add 8a7d259a1e JAMES-3897 Fix POP3 PassCmdHandler IP address log
add aafa984366 JAMES-3897 Extract common methods to CrowdsecUtils
add 4238e67ca5 JAMES-3897 CrowdSec support for POP3
add 49e2ba5c45 JAMES-3897 Add `crowdsec` prefix to package name
add 36d2c6d47a JAMES-3897 Enhance some error messages
add caa5074f4f JAMES-3897 Fine tuning for CrowdSec client timeout
add a8d39d8836 JAMES-3688 [DOC] Add git clone command to documentation
add 69e45e4ddf [UPDATE] Update spark version: Jetty update
add 73cda2c2c5 [UPDATE] BouncyCastle 1.70 -> 1.77 (fixes multiple minor CVEs)
add 775ab6fcb9 [boyscout] fixes missing mdc values in smtp audit logs (#1952)
add d944e153d7 [DOC] Improve distributed-app README instructions
add 57fddebdd5 Revert "[UPDATE] Update spark version: Jetty update"
add 403b958ebe Revert "[UPDATE] BouncyCastle 1.70 -> 1.77 (fixes multiple minor CVEs)"
add c691fec744 [FIX] IMAP FETCH was pulling all messages into memory
add e5efdcb4e2 [IMPROVMENT] MDC audit trail format
add d910ab53e0 JAMES-3909 Deleting userdata: Bypass user existence check (#1938)
add c5863e50d2 JAMES-3976 Email/import should accept empty keywords (#1962)
add 410a278a45 JAMES-2086 Improve COPY error message when OverQuota
add 9254c46d4b [ENHANCEMENT] Allow customizing sortOrder
add 15a8fb7688 [JAMES-2086] FIX: Handle OverQuotaException instead of more generic MailboxException (#1948)
add 1af8b57273 EmailBodyPart.scala use ISO_8859_1 as a default charset
add aeb9456679 [Fix] Fix tag for Minio testing image (#1978)
add e14857d90b [ENHANCEMENT] Add SSL information into SMTP header
add 74bf59448b [FIX] Prevent creation of multiline mailbox names (#1973)
add 97045993d3 [ENHANCEMENT] Add Hostname header onto RspamD client
add c92d90d455 [IMPROVEMENT] SPF mailet: add missing private network "192.168.0.0/16" and use correct CIDR for private range "172.16.0.0/12"
add 2c6bd97ab1 [UPDATE] BouncyCastle 1.70 -> 1.77 (fixes multiple minor CVEs)
add 6813b9de80 [Fix] BouncyCastle 1.70 -> 1.77 (fixes multiple minor CVEs)
add 1d62e6ab84 [FIX] MailReceptionCheck should not call sink concurrently
add 7536d45ada [UPDATE] Update OpenSearch driver (fixes minor CVEs and drop code)
add b02a0a80e8 [JAMES-3978] initial setup of develocity for james build
add 6a48b9d2cf JAMES-2372 Fixing multiple accounts with Fetchmail (#1951)
add b14a35d162 JAMES-3981 Lower log level of closed connections
add 6fdf498793 JAMES-3981 Warn upon invalid RCPT
add 087a257230 JAMES-3981 Remove double logs upon closed channels
add fa1abcf84b upgraded_activemq_from_5.18.2_to_5.18.3 (#1989)
add e2f5d19a1b [JAMES-3978] capture build and test output in develocity
add 7654c46791 [JAMES-3978] prevent javadoc plugin from forking maven goals
add 2ec58019a2 [scout] adds missing jacoco version
add 475e89558e [scout] removes duplicate dependency declaration
add 3497d97d49 [scout] drops felix bundle plugin
add 39a5019422 [JAMES-3978] activate flaky tests detection
add f4a4ad36ad [FIX] Apply RFC-5321 syntax validation for EHLO (#1979)
add 357781540e [ENHANCEMENT] More context for SMTP logs (#1969)
add ba70de1fad [JAMES-3978] adds some tags to build scans
add 07c3a4ba5a [JAMES-3897] implements a crowdsec based SMTP connect handler
add a6617039ab [JAMES-3897] refactors ehlo hook to use crowdsec service
add 1edda804a8 JAMES-3986 AttachmentFileNameIs should be decently tested (#1991)
add a471160588 [FIX] Lower log level of SSL handshake exceptions (#1998)
add 5cdf3fbf07 JAMES-3991 Vacation handling should be case insensitive
add 2c5c9b771d JAMES-3775 Pass SSL information to RspamD scanner mailet
add fa5581f5d5 [FIX] Add tests for multipart/alternative in OpenSearch test suite
add a9cbc58604 [FIX] Do not double index multipart/alternative
add 4aebc71754 [FIX] multipart/alternative with attachment had no text value indexed
add 452efc9390 [FIX] Email/set should allow creating an email with attachment of a destroyed message
add f0f8aec934 Feature/fixing tupo truststoretype (#1999)
add 88e1ae8bef [JAMES-3978] improves git-commit-id performance
add e9aafc53a8 [JAMES-3978] improves remote-resource-plugin setup for performance
add 1bfc514e07 [FIX] LOG JMAP errors
add 02e74a57f0 [FIX] IMAP LEAK: CLOSE, UNSELECT
add 97375c295c JAMES-4001 File buffering for message storage (#2019)
add beb23d48e3 Reactor blocking call fixes (#2016)
add 49255f7a77 [UPDATE] sslcontext-kickstart-for-pem to match BC version in #1975
add 74e17d08ae [RABBITMQ] Prevent some class cast
add d4bf925441 [RABBITMQ] Reactify some RabbitMQ related health checks
add 05b72736a0 Bump org.postgresql:postgresql in /server/apps/scaling-pulsar-smtp
add e2c5d512c1 Fixed issue with incorrect JPA properties values set for openjpa.Multithreaded and attachmentStorage.enabled
add 6bfe5be6bc [FIX] Use Netty dns async resolvers
add a732257b6c Fix push attachements in parallel (#2020)
add 437141eec6 [FIX] Apply batch size to prefetch
add 56532ee0c5 JAMES-3995 Add a max number of items for EmailGet full reads (#2024)
add b6de3cb3d9 JAMES-4004 [FIX] Allow retries for S3 saves (#2025)
add 530f2626a0 JAMES-3998 Empty password should not lead to worrying error (#2026)
add e09a085b8f JAMES-3730 Upgraded from Legacy JavaMail to Jakarta Mail 2.0.1/Activation 2.0.1; https://github.com/eclipse-ee4j/mail/releases https://github.com/eclipse-ee4j/jaf/releases
add 1c8ef7d3ee JAMES-3730 Remove unecessary comments
add 54fbb11de2 JAMES-3730 Excluse geronimo deps from apache-jdkim-library import
add cc4d5a6aa2 JAMES-3730 Post rebase fixes
add 8eb044b723 JAMES-3730 CR fixes
add bff7274cd8 JAMES-3730 Additional formatting fixes
add 2b39a1d2d9 JAMES-3730 subethasmtp updated to latest to support Jakarta Mail
add de13a8310c JAMES-3730 Upgrade to Angus Mail
add f36c7b8268 JAMES-3730 Minor fix
add 75e5b1e2ea JAMES-4006 Bouncer should pass DSN to bounce processor
add dd788291b5 [FIX] Mime parsing on parallel scheduler (#2039)
add fa6ec2db42 [FIX] More jmap logs (#2037)
add 8a9a9d38de [SITE] Blog post for 3.7.5 release
add fd767d9da5 [SITE] Blog post for 3.8.1 release
add e9232deaac [SITE] Downloads for 3.8.1 James release
add 924ce3c29c [SITE] Downloads for 3.7.5 James release
add f8cd3b0596 [SITE] Downloads for 0.8.10 MIME4J release
add 701f46bdac [SITE] s/3.8.0/3.8.1
add d40376550c [SITE] Release notes
add b0ad23fb06 [SITE] Update upgrade instructions
add 9cb4bcf949 [SITE] Mime4J 0.8.10 release
add 169ae5b8e8 JMAP - EmailSubmission/set - Should not invoke onSuccessDestroyEmail/onSuccessUpdateEmail when not created (#2041)
add 232adec907 [FIX] MailReceptionCheck do not send the mail before we actively listen to the results (#2038)
add 9ac709336e [CHANGELOG] Mention 3.7.5 and 3.8.1 releases (#2045)
add 01f39e7ba7 Document new CVEs (#2046)
add 3897ad9b99 Update site plugin
add 7fd6b27741 Update rat plugin
add 487d9faeea [DOCUMENTATION] CVE-2023-51518 CVE-2023-51747 CVE-2024-21742 (#2047)
add 915bcc33f2 JAMES-3997 Netty backpressure for IMAP FETCH (#2031)
add 667c27e6b9 JAMES-4010 Do not index body (#2018)
add 7a300ed824 JAMES-4009 StripAttachment should explicitly handle duplicates
add aee6550277 JAMES-3995 Optimize Email/get
add 66426a8005 JAMES-4002 AES blob store tuning to reduce memory pressure (#2021)
add a2583d4e8a JAMES-4008 JMAP - Email/set - Should be able to save a draft with invalid email address (#2040)
add ba34e7242c JAMES-4007 ImapChannelUpstreamHandler should always cleanup INBOUND message
add 8b9cbf1385 JAMES-4007 Prevent channel inactivity to clear literal while IMAP APPEND is in progress
add 4f38296f28 MailSizeEsmtpExtension - change log level when Quota exceeded (#2053)
add 4f064d3ee3 JAMES-3885 Webadmin route to change of username - support `force` parameter - do not require old user to exist (#2054)
add fc1966682f [UPGRADE] MIME4J 0.8.9 -> 0.8.10 (#2058)
add 4f77aab13a JAMES-4011 Use MIME4J to decode filename
add 326b892ac1 JAMES-4013 Relay MDN/send
add e48f8fcde7 [BUILD] RemoteDeliveryErrorHandlingTest was unstable
add f7a898ad36 [FIX] Drop unused code in DeletedMessageVaultDeletionCallback
add 80b88e42ee [FIX] Lower log message in MaybeSender
add df87f0b4b1 [FIX] java.util.NoSuchElementException: requestDecoder
add a63d257f2c JAMES-4012 Lenient MDN parsing for human readable part (#2057)
add 7c95b0c086 JAMES-1717 Notification Registry - handle case Ints.checkedCast throws out of range when expireDate too far (#2051)
add 6b1ad6d413 JAMES-4007 Flush data before close
add 7bdf6f4585 JAMES-4007 Quietly delete IMAP litteral
add 802c18e907 JAMES-4007 Avoid leaking litteral flux
add a1440fc7dd JAMES-4007 Avoid a callback
add dc560803d4 JAMES-4007 Remove subscription once data is all received
add 752b2c01b5 JAMES-4007 ImapRequestFrameDecoder: use concurrentHashMap
add 1fb2e4b4f7 JAMES-4007 Manage IMAP litteral with Leak aware
add cf16dbea09 [FIX] Avoid forwarding bounces
add abecfe9a0b fixup! [FIX] Avoid forwarding bounces
add d3ec938e0a Update server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
add 99eab22747 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied
add d30aa3b7ff JAMES-3925 - JMAP Upload - Update current usage only when delete succeed
add f8095a4e9f JAMES-3925 - JMAP Upload - Cleanup UploadUsageRepositoryContract
add bb54e356cb JAMES-3925 - JMAP Upload - Optimize resetSpace method - do nothing when newUsage is equal currentUsage
add a5fcf50acf [FIX] Notify eventbus outside of the lock
add 5b60e158e1 [FIX] -openjpa.Multithreaded => -Dopenjpa.Multithreaded
add 966f1e6597 JAMES-4008 Fix EmailSubmissionSetMethod with named address
add e19468667e JAMES-4007 Mono.using in storeAttachments
add 468383ebbe JAMES-4007 AESBlobStoreDAO: cleanup resources on error
add 082c84187e JAMES-4007 MessageParser: cleanup resources on error
add ac002dc64a JAMES-4007 FileBufferedBodyFactory: add a handy JVM option
add 060039df27 JAMES-4007 Reset DelegateCloseableByteSource upon errors
add e104a123fb JAMES-4007 Document james.mime4j.buffered.body.factory.file.threshold
add 569a5b3047 JAMES-4014 Failing test MessageIdManager::deleteMessageShouldSupportDuplicatedEntries
add 23fcc29845 JAMES-4014 MessageIdManager::delete should take a set as an input
add 2cf04ef188 [ENHANCEMENT] Remove a redundant log
add 429e838b8f JMAP - Delete/destroy should take a set as an input
add d6218c20ec [IMPROVEMENT] Allow Email/set create to override attachment charset
add d13aab4696 [FIX] Calendar parsing: be less verbose
add 1dcfac3332 [FIX] Modified server set identities may not be deletes (#2083)
add 1bf699dc92 Upgrade git-commit-id-maven-plugin to 8.0.0
add aba90e1b8b Update JamesServerExtension
add 23c4ef489c [ENHANCEMENT] Fix warning in AvoidBinaryBodyBufferingBodyFactory
add c0ecbcbaca [ENHANCEMENT] AESBlobStoreDAO: carry over the size
add 9785c573fb [ENHANCEMENT] Computing preview: avoid decoding base64
add 3c86f6dc0d [ENHANCEMENT] Message content extractor: pre-size strings
add 008923d001 [ENHANCEMENT] JsoupHtmlTextExtractor: The use of concurrent structures is not needed
add b0a1f2a54b [FIX] IMAP session should allow cancelling ongoing processing
add 9813526db4 [FIX] ImapIdleStateHandler should cancel ongoing requests first
add 6cfa01a4e2 [FIX] cancel ongoing processing for inactive channels
add ae27e2ca44 [FIX] Refactor slightly ImapChannelUpstreamHandler::manageUnknownError
add a6567ed4ba [FIX] DefaultImapDecoder: INFO log on invalid command parsing
add bbe97c5c6f [FIX] DefaultImapDecoder: improve bad command handling
add b2a4e250b6 JAMES-3419 JMAP EmailBodyPart individual headers - Fix test cases
add c274b412e1 [IMPROVE] SelectedMailboxImpl: extract isFromOtherSession
add 59323cb54a [IMPROVE] SelectedMailboxImpl: remove double space
add 10b6197c07 [IMPROVE] SelectedMailboxImpl: remove unused method
add 6cf53137d5 [IMPROVE] SelectedMailboxImpl: simplify RECENT flag event handling
add da97a137f4 [IMPROVE] SelectedMailboxImpl: checkExpungedRecents should avoid a data copy
add 9bafec0227 [IMPROVE] SelectedMailboxImpl: simplify RECENT flag event handling upon addition
add 9698d580d7 [IMPROVE] SelectedMailboxImpl: IMAP session is not needed
add 4db213893c [IMPROVE] Remove unused class SingleMessageResultIterator
add 5c40b2dd72 [FIX] SelectedMailboxImpl: using Mono defer to avoid eager invoke idleEventListener
add 956cf750ba [FIX] Enforce a separate keyspace for blob store cache (#2060)
add 831c6c7433 JAMES-2644 Add back tests
add 4c5085975e JAMES-2644 ContentTypeCleaner Decrease log level
add d1bfeddc7e JAMES-2644 ContentTypeCleaner: add a test with a parameter
add 35fa8040ff JAMES-3534 Fixbug - Identity response alway return mayDelete=false when server set identity
add 09e3803613 [FIX] RSpamD should not fail when reporting empty body
add ed1c2e3d52 [FIX] Try recover invalid ascii character in filename
add e858bad711 [UPDATE] commons-compress 1.24.0 -> 1.26.0 (#2089)
add 17a2857b75 [FIX] Ship mail over web webadmin routes into more apps (#2099)
add cc48c303f3 JAMES-4018 SMTP RCPT TO should parse parameters once
add b8ddca505c [ENHANCEMENT] Decrease log level for "NotSslRecordException"
add 0b313a0dde [REFACTORING] Improve AuthCmdHandler code style
add 96c87d0d67 [REFACTORING] AuthCmdHandler: INFO logs on invalid input
add 71c2faf7d9 [REFACTORING] AuthCmdHandler: Use isEmpty()
add f8ddb7a7a5 [REFACTORING] AuthCmdHandler: LineHandler line is never null
add f14a1ecb69 [REFACTORING] AuthCmdHandler: Avoid returning null
add ded3f58851 [REFACTORING] AuthCmdHandler: Add a missing diagnostic log
add 9c4a58d5e7 JAMES-4019 ReactiveThrottler should handle better cancellation (#2104)
add d413f8fcc4 [FIX] JMAP: Set configurable limits for /get /set objects (#2096)
add cc5332158a [SITE] MIME4J 0.8.10 => 0.8.11
add 4c0c565b04 [SITE] MIME4J 0.8.11 blog post
add 29111de943 [FIX] OpenSearchListeningMessageSearchIndex should not fail on missing mailbox
add 3a493d38a0 [FIX] MailboxChangeListener should not warn on deleted mailbox
add 96288d51c7 [UPDATE] MIME4J 0.8.10 -> 0.8.11 (#2120)
add 950134a56f [FIX] AbstractValidRcptHandler fix error handling on invalid username (#2122)
add 15b0b0fffa ENHANCEMENT + DOCUMENTATION Performance / reliability setting for RabbitMQ quorum queues (#2121)
add c7e8170754 JAMES-4021 Relay for "abc@def"@domain.com
add 3bb549a593 Provision Current Quota when MailboxAdded event
add 482ac366e3 [LOGGING] Aborting JMAP upload is too verbose (#2125)
add 7222019643 JAMES-4020 Fully comply with RFC-3501 Section 6.4.5 (#2123)
add 77d195f8a5 [FIX] IMAP linearization can be simplified
add f5d1b73559 [FIX] IMAP FETCH backpressure propagate cancel
add a9c9f02ac5 [FIX] FETCH: do not reuse FetchResponseBuilder
add 019dabb517 [FIX] FETCH: flatten reactor operations
add 8c7fe1ef73 [Fixup] Fix imap and smtp deployment test after mime4j upgrade to 0.8.11
add 14f28d2dc6 JAMES-3961 Switch to Java 21
add 454d82ea11 JAMES-3961 Upgrade maven-plugin-plugin in order to work with Java 21
add d496df7104 JAMES-3961 Enfoce Maven 3.8.1+ usage
add b56204abb6 JAMES-3961 Upgrade mockito: 5.2.0 -> 5.10.0
add 7995f1dcaa JAMES-3961 Update xbean-asm9 to make JPA work with Java 21
add 99d1d0432d JAMES-3961 Fix LeakAware test suite
add 7f2fca77ed JAMES-3961 Relax Java modules
add 8dab7eb842 JAMES-3691 Exception message change with Java 21
add fdc9fbb9ec JAMES-3691 Update Cucumber to 7.15.0
add 7c471f0967 JAMES-3961 AssertJ bean introspection
add 6ea766d82a JAMES-3961 Mockito can no longer Mock EnumSet
add 021cc5df44 JAMES-3961 Java 21 error message change
add 65acac3d2c JAMES-3961 Cucumber update for JMAP draft integration tests
add f659e241ae JAMES-3961 Fix PushSubscriptionSetMethodContract for Java 21
add f0a7aeaf88 JAMES-3961 README: Java 11 -> 21
add e63283960f JAMES-3961 Adopt eclipse-temurin:21-jre-jammy as a base docker image
add 0f5d30525d JAMES-3961 Target jdk 11 for JPA modules
add 1afab21248 JAMES-3961 Cucumber tests should not fail the unstable test phase
add 4fc08925d7 JAMES-2586 - Postgres - Init backend common module for postgres
add 1c0229265d JAMES-2586 - Postgres - Init postgres mailbox module
add 876aed3105 JAMES-2586 - Postgres - Init postgres app server
add 4f89fd5276 JAMES-2586 - Postgres - Init james-server-data-postgres
add 0df0ec14a1 JAMES-2586 - Postgres - Init james-server-postgres-common-guice
add 32f2137dac JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres
add fc1f1a44c6 JAMES-2586 - Implement PostgresTableManager
add 7cc6e133d8 JAMES-2586 PostgresTableManager support create table when enable row level security
add 002bcd6587 [CI] Maven runs test on only postgres modules (postgresql branch)
add 26d58e1168 JAMES-2586 Introduce PostgresExtension
add fd9cf8eee1 JAMES-2586 Postgres Subscription mapper (#1775)
add a2988076d4 JAMES-2586 implement pg connection factory (#1774)
add 8db9167e06 JAMES-2586 Introduce PostgresConfiguration
add 419f4c4922 JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres
add c4594f8f68 JAMES-2586 Guice binding for PostgresConfiguration
add c07590328d JAMES-2586 Guice binding for JamesPostgresConnectionFactory
add b282e99668 JAMES-2586 Guice binding for PostgresTableManager
add fb91a3fe5d JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled
add d3d1a78810 JAMES-2586 Sample docker configuration for postgres.properties
add f3297bf54e JAMES-2586 Fix review comments
add 8bed2ada0f JAMES-2586 Guice binding for Postgres subscription module
add 50e3a0c2d6 JAMES-2586 Rename Postgres Subscription
add 465f12ba8b JAMES-2586 Rename mailbox postgres package
add 684d5cac19 JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage
add 8dbf8a7dda JAMES-2586 Use prepared statements by default
add d154c45799 JAMES-2586 Polish code style: PostgresSubscriptionMapper
add 6ccf9e4592 JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule
add a2b13bffc3 JAMES-2586 Drop Spring files for mailbox-postgres
add f1a3e79a10 JAMES-2586 Drop reporting-site.xml
add d6cbb1ee0f JAMES-2586 Drop unused class: EncryptDecryptHelper
add 106e319a15 JAMES-2586 Drop unused class: JPASubscription
add feca599d54 JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions
add 0f17322464 JAMES-2586 Document (link) varchar underlying maximum lengths
add 165ad98565 JAMES-2586 PostgresExtension: favor factory methods to constructor
add 70912b049e JAMES-2586 Small codestyle refactorings
add b3db23c3e9 JAMES-2586 Fix row-level security implementation
add 0da42d2749 JAMES-2586 implement dao for mailbox table (#1786)
add 55cce04bfa JAMES-2586 implement postgres mailbox mapper (#1791)
add 21f26e4e88 JAMES-2586 Postgres app performance test materials (#1794)
add d658541ab4 JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres
add 4d80b74392 JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem
add 585c10720c JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain
add 3e890d0564 JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks
add cc7c3de28b JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory
add 6da80c9334 JAMES-2586 Introduce Single postgres connection factory when disable row level security
add 6af2ec6db1 JAMES-2586 LOGGER when choice implementation of Postgresql connection factory
add 9830a2922f JAMES-2586 Clean-up the provision.sh file of postgres-app
add 9732f87344 JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory
add 49171db6a7 JAMES-2586 Implement PostgresUidProvider
add 5602e57ae8 JAMES-2586 Implement PostgresModSeqProvider
add d35ba6bf41 JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module
add 6e16dec357 JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper
add 15ce3c15b2 JAMES-2586 Create hstore extension if needed upon James startup
add 6832ce4cd0 JAMES-2586 postgres users dao and repository (#1803)
add b5dd1582b9 JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813)
add 7227198854 JAMES-2586 Implement PostgresQuotaLimitDAO
add f96805c8b3 JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816)
add 19192ad7f5 JAMES-2586 Implement SieveQuotaRepository backed by Postgres
add 24cad72b07 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres
add 06a5af3178 JAMES-2586 Implement PostgresMailboxMessageDAO (#1812)
add c1203dde9b JAMES-2586 Implement Postgres Current Quota manager
add 31baebb891 JAMES-2586 postgres mailbox annotation dao and mapper (#1822)
add 369469bc58 JAMES-2586 Remove unused method in PostgresExecutor
add d630397f0e JAMES-2586 Implement PostgresDomainList
add 786fc66dff JAMES-2586 Guice bindings and package renaming for domain postgres implementation
add 36aaf48a9e JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain
add 1e30317681 JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager
add 2fcd4181c2 JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc
add fcc24b50b2 JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table
add 1fc9e09a3b JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted
add 765e7e3c89 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages
add 8f2736db80 JAMES-2586 - Fixup PostgresMailboxMessageDAO
add 03e4b36340 JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock
add 85a8cab235 JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer
add 6e82dbdfcb JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test
add 78e168cf4a JAMES-2586 Guide binding Postgres Message/Mailbox mapper
add aa7aba11d2 JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test
add 69ec86f105 JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest
add 95ccd02146 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts
add 1cda389040 JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception
add f9c66c7a51 JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839)
add 0081069c68 JAMES-2586 [PGSQL] Initialization to configure users repository
add e0abb86ef0 JAMES-2586 Enable ACL support for PG
add a697aa05f0 JAMES-2586 Remove unused class MessageUtils.java
add f9c717aec2 JAMES-2586 Remove unused method in MessageManager
add 127bd767ac JAMES-2586 Enable UniqueID support for PostgresMailboxManager
add 893a8ad415 JAMES-2586 Enable PostgresMailboxManager annotation tests
add 270677e3b9 JAMES-2586 Fully drop JPA within mailbox-postgresql
add 6321edc9ae JAMES-2586 [PGSQL] Implement correctly FetchType
add d8bac3bf9c JAMES-2586 [PGSQL] Optimize getMailboxCounter method
add 24b33fb4eb JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method
add c881922029 JAMES-2586 Fix missing guice binding for Postgres quota module
add c2d326bbca JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4)
add 8230834853 JAMES-2586 Postgres app – Remove server test for authentication database sql validation
add 5744592ea3 JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader
add 6aa618ea21 JAMES-2586 Add a unit test for recreate RLS column should not fail
add 29dc7ebc15 JAMES-2586 PostgresExecutor: better recognize prepared statement conflict
add 5841fbadcb JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table
add 012d1d0bbf JAMES-2586 PostgresTableManager - Cleanup
add 5ce2f89b8c JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable
add 32e893770a JAMES-2586 Fixup compile error after merge master
add 8721bf288a JAMES-2586 PostgresDelegationStore (#1851)
add c6f3404024 JAMES-2586 Remove JPAHealthCheck.java
add a2411cbb62 JAMES-2586 Implement PostgresMailRepositoryUrlStore
add 7cc7117899 JAMES-2586 Remove JPAMailRepositoryUrlStore.java
add f1277e60c9 JAMES-2586 Implement and bind PostgresHealthCheck
add 609d9a577b JAMES-3967 Store mails when relay is exceeded
add 2c23b766ed JAMES-2586 ADR for Posgres mailbox tables structure (#1857)
add 67f2b9aeb5 JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository
add 811faf577e JAMES-2586 Delete JPASieveScript.java
add a95496ecaf JAMES-2586 Guice binding for PostgresSieveScriptDAO
add 8e480b422c JAMES-2586 Implement PostgresMailRepository
add abbfe1081d JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code
add 002743b024 JAMES-2586 Documentation for PostgresMailRepository
add e5b8aebe05 JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository
add 77a83b1299 JAMES-2586 Finally remove the rest of JPA in postgres-app
add 2f56fe193b JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table
add e94fb21ebd JAMES-2586 Fix compilation errors
add 94aa586b64 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml
add 6918c60c12 JAMES-2586 add missing RLS tests
add cc5306f95f JAMES-2586 Add an Id for SieveScript (#1863)
add 3b922dd82d JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858)
add a2d25f0af9 [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867)
add 7a72bbbfc3 JAMES-2586 Add search module chooser for Postgres app
add 6df80f4326 JAMES-2586 Add docker compose distributed with OpenSearch for postgres app
add 021e10e851 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser
add 8f6bd79d80 JAMES-2586 Module chooser: S3, file blobStore
add 563fc67158 JAMES-2586 Message body deduplication (#1873)
add b707c754e1 JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875)
add eedaef98d2 JAMES-2586 Implement AllSearchOverride for Postgresql
add 5f6548611b JAMES-2586 Implement DeletedSearchOverride for Postgresql
add eceed9b56f JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql
add b5fe2c9ff6 JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql
add f36f8ab0ce JAMES-2586 Implement UidSearchOverride for Postgresql
add 00869ec042 JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql
add e25af24da6 JAMES-2586 Correct search overrides documentation in opensearch.properties
add 19fbb8334b JAMES-2586 Refactor search overrides tests for postgresql
add c27e5a516d JAMES-2586 Unnecessary join on deleted uid search queries in postgresql
add ac30dd00b0 JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice
add 7035f01076 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app
add bf659efe5a JAMES-2586 Implement DeleteMessageListener for postgres (#1869)
add eabe60817f JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880)
add 5bf701cdfe JAMES-2586 Implement PostgresEventDeadLetters
add 357fb9fdec JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota
add c2613fcc9d JAMES-2586 Add missing license
add 3457452f21 JAMES-2586 Add a health check integration test
add 86337cadbf JAMES-2586 Implement PostgresBlobStoreDAO
add 12e6df2f0a JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO
add c3203effc8 JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser
add d871fa8c14 JAMES-2586 Adopt Postgres 16.1 (#1897)
add 2ba14d7ce0 JAMES-2586 Bump jOOQ to 3.16.23
add 9a2827d455 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE
add 3a2290963e JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security
add 28dcdf1224 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS
add f7917a19fc Guice InitializationOperation support priority when init module
add 9c88c4f085 JAMES-2586 Refactor the way initPostgres of PostgresTableManager
add 3819cec09f JAMES-2586 Implement PostgresDeletedMessageMetadataVault
add 966c462773 JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault
add 61f31ed10b JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener
add 3be09cf15d JAMES-2586 PostgresDeletedMessageVaultIntegrationTest
add 31e5c8c99c JAMES-2586 Plug PreDeletionHooks
add e60d86f83b JAMES-2586 - Set blobStorage implementation is postgres by default
add 63dfb403f1 JAMES-2586 Implement BlobReferenceSource(s) for postgres-app
add 210eeb72e7 JAMES-2586 add mailbox para for generateMessageUid method in MapperProvider
add e17d994bac JAMES-2586 Implement PostgresMessageIdMapper
add 985dd936ce JAMES-2586 Introduce data-jmap-postgres module
add 11771d3305 JAMES-2586 DeleteMessageListener: better concurrency control upon mailbox deletion
add 5d61fa29b6 JAMES-2586 Jenkinsfile: run tests for `server/data/data-jmap-postgres` module
add 4e546dd402 JAMES-2586 - CLEAN CODE - Guice binding for Postgres User Repository modules
add 275e6341a6 JAMES-2586 Implement PostgresMessageFastViewProjection
add ddd0d57823 JAMES-2586 Moving Managers out of the mail package
add 32247a298f JAMES-2586 Wire StoreMessageIdManager on top of the PostgresMessageIdMapper + tests
add 207265ffca JAMES-2586 Little refactoring around DeleteMessageListener binding in posgres mailbox tests
add 1a5c47314b JAMES-2586 JMAP Guice bindings modules to pg-app
add 60f617f1d6 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app
add 388fe68630 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app
add 979fbe18d3 JAMES-2586 Implement PostgresAttachmentMapper, DAO and binding
add cb51d52b8f JAMES-2586 Implement Postgres Attachment Blob reference source
add 1121e47088 JAMES-2586 - Delete attachment in DeleteMessageListener
add dbd3d6bc4d JAMES-2586 Webadmin integration tests for postgres
add 10f0a77cdc JAMES-2586 Implement PostgresEmailChangeRepository
add c4ad8961a6 JAMES-2586 - Delete Message Listener - add test case when delete mailbox has a lot of messages
add 1302b50fbf JAMES-2586 - Fixbug - Delete Message Listener - Fix hanging issue
add 6120919f10 JAMES-2586 - Fixbug hanging issue when Jooq execute delete and return list
add d80eaeba47 JAMES-2586 Implement PostgresEmailChangeRepository - Fixup Guice binding
add 913cce9eaf JAMES-2586 Implement Postgres upload repository
add c8e27707e2 JAMES-2586 Implement Postgres upload usage repository
add 8cd9459196 JAMES-2586 Guice binding for Postgres upload
add b8a5e72520 JAMES-2586: The UploadRepositoryCleanupTask should rely on the UploadRepository interface
add ff4162e220 JAMES-2586: Guice binding JmapUploadCleanupModule for Postgres webadmin
add ff44505fb6 JAMES-2586 Disable row-level security by default in postgres.properties
add 905827e66c JAMES-2586 Implement Postgres Push subscription
add f3e349029b JAMES-2586 Introduce sql script to clean up PGSL data
add bd110e13f9 JAMES-2586 Implement PostgresThreadIdGuessingAlgorithm (#1941)
add 3212d88434 JAMES-2586 Implement PostgresMailboxChangeRepository
add a8a5764c30 JAMES-2586 Guice binding PostgresMailboxChangeRepository
add 88a3deb0ef JAMES-2586 Implement PostgresFilteringProjection
add 21819e90e7 JAMES-2586 Implement PostgresCustomIdentityDAO
add cc1e4dfdf0 JAMES-2586 Handle case when Postgres index/constraint already exists
add eb314e0b57 JAMES-2586 More flexible on comparing Vacation's ZonedDateTime
add 2bb265b637 JAMES-2586 Implement PostgresVacationRepository
add d272684c06 JAMES-2586 Guice binding PostgresVacationRepository
add 95d5167484 JAMES-2586 Improve PostgresVacationRepository
add 1af2c5dea9 JAMES-2586 Temporarily disable a flaky PostgresUploadService test
add 5110d9634f JAMES-2586 Optimize query increase/decrease for Quota Current Value
add ce3afd3a7b JAMES-2586 Add Index for Postgres Mailbox table
add d29b174cfc JAMES-2586 Implement PostgresNotificationRegistry
add c0e5349682 JAMES-2586 SQL script to clean outdated vacation notifications
add 3e0c813cb7 JAMES-2586 Guice binding for PostgresNotificationRegistry
add 0e3e94b8c6 JAMES-2586 Fix contract test NotificationRegistryContract::registerShouldNotPersistWhenExpiryDateIsPresent
add 6b189b8ef6 JAMES-2586 [Documentation] Using pg_stat_statements extension for track the stats of the SQL statement execution
add 1a27e75a80 JAMES-2586 Avoid Using COUNT() in SQL When You Could Use EXISTS()
add 78aa40b2c7 JAMES-2586 Move some files from event-store-cassandra to event-store-api
add 5f11625d07 JAMES-2586 Implement PostgresEventStore
add a720d79441 JAMES-2586 Implement PostgresEmailQueryView (#2007)
add 5b7c08255a JAMES-2586 - Postgres push subscription - expires value should be stored Offset time
add ee61f47a43 JAMES-2586 Integration tests for JMAP postgres
add c9a7c04d63 JAMES-2586 Disable some tests in Integration tests JMAP postgres
add 4061dbcf7b JAMES-2586 Fix PostgresAuthenticationTest
add df95f44035 JAMES 2586 PostgresPushSubscriptionRepository: rely on Postgres unique constraint for deviceClientId (#2094)
add 1c2d23977f JAMES-2586 [Postgres] FIXUP when query with IN - should pre-check collection size (#2103)
add eb3fed4398 [Build] Use tmpfs for Postgres db test container
add d4eefe6b28 JAMES-2586 Fix PostgresPushSubscriptionSetMethodTest, PostgresThreadGetTest
add 96dd7dfd9f JAMES-2586 Replace drop by truncate in PostgresMessageFastViewProjection
add 1f23bd37a4 JAMES 2586 Increase timeout to 1 hour for postgres-jmap-integration-test module
add 15dfed6c16 JAMES 2586 Try forkCount=2 to see if the tests are faster
add 769f5dcdd9 Add sslMode to require in PostgresqlConnectionConfiguration (#2109)
add 775a9ddc05 JAMES-2586 Reduce repeat count for some JMAP integration tests
add 956243faf3 JAMES-2586 Add PostgresAttachmentMapper to PostgresMessageIdMapper
add e9f908e066 JAMES-2586 Bind PostgresMessageFastViewProjection
add e5ffaaf57d JAMES-2586 Optimize AttachmentLoader
add cc4257b726 JAMES-2586 Fix PostgresEmailGetMethodTest
add 680b26ecad JAMES-2586 Fix PostgresEmailQueryMethodTest
add aac185bf53 JAMES-2586 Fix PostgresMailboxSetMethodTest
add 2a84c75a07 JAMES-2586 remove redundant import in PostgresPushSubscriptionSetMethodTest
add ffa48cca27 JAMES-2586 Remove opensearch in PostgresWebPushTest
add 58a2f41033 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied
add c74ef8a827 JAMES-2586 - JMAP Upload - Fix unstable UploadService test
add 648b218a7d JAMES-2586 Fix Postgres build after rebase on master
add 90cf6e09fa JAMES-2586 JMAP Upload - fix precision of uploadDate field
add 7118cc5606 JAMES-2586 Fix EmailSetMethod.emailGetShouldReturnUncheckedMailAddressValueWhenDraftEmail test
add bb2f9079c5 JAMES-3534 Update IdentityGetContract - fix failing when running with Distributed test
add f45cc5c1af JAMES-2586 Refactor the handle way duplicate value on constraint index to avoid noise log (Mailbox and User table)
add 7622770cb6 JAMES-2586 [REFACTORING] - PostgresTableManager - fix incorrect log
add ef3003a756 JAMES-2586 Avoid sorting PG messages
add f8b5e8c0a2 JAMES-2586 [REFACTORING] - Extract dedicated class for retrieving Postgres Message
add e9dc71cf97 JAMES-2586 Fix MailboxSetMethodContract
add 617d6e1035 JAMES-2586 Avoid declare jooq and r2dbc-postgresql version in multiple places
add 990446c65c JAMES-2586 Bump jOOQ to 3.19.6
add c19bcb378b JAMES-2586 Bump r2dbc-postgresql to 1.0.4
add e4ddaf88e2 JAMES-2586 Adapt jooq 3.19.6 change
add d7a19ef054 JAMES-2586 Postgres RewriteTablesTest should not fail unstable test phase
add 1dd1b147ee JAMES-2586 Create AttachmentIdFactory
add 156bf4a071 JAMES-2586 Add UuidBackedAttachmentIdFactory
add a2d5bc41a0 JAMES-2586 Unbind AttachmentBlobResolver
add 989dafb1cf JAMES-2586 Update Guice binding Postgres (#2154)
add 09c79655f4 Duplicated the QuotaDTO event and related classes from quota-mailing-cassandra to quota-mailing module
add a10affd115 Refactor cassandra-quota-mailing: using the QuotaDTO event and related classes from quota-mailing module
add 1eecbf0a4c JAMES-2586 Postgres - Binding QuotaMailing module for postgres app Tung Tran 10 minutes ago
add 5451f5430e JAMES-2586 Postgres - Guice binding EventDTO for DLP Configuration
add 5edf1cd828 JAMES-2586 Postgres - Guice binding EventDTO for FilteringRuleSetDefine
add e4d5ae4009 JAMES-2586 - [Revert] Optimize query increase/decrease for Quota Current Value
add 3c1baddb08 Revert "Provision Current Quota when MailboxAdded event"
add b6fedefea9 JAMES-2586 Introduce module task-postgres
add 392ece628f JAMES-2586 Implement PostgresTaskExecutionDetailsProjection
add d519f7b9ac JAMES-2586 Relax TaskExecutionDetailsProjectionContract: can compare ZonedDateTime(s) with different timezones
add e531cf98bc JAMES-2586 Guice binding Distributed TaskManager for postgres-app
add 65a92c33f2 JAMES-2586 Disable DistributedTaskSerializationModule
add 73a585944e JAMES-2586 Add missing cleanup task webadmin routes
add f1c144d328 JAMES-2586 Do not use ActiveMQ mail queue when distributed mode
add 62f81aca1c JAMES-2586 Add binding for DKIMMailetModule
add b85422b985 JAMES-2586 - Postgres - Bind DistributedTaskSerializationModule into postgres-app
add 66feefa93b JAMES-2586 Move some class related to ACLUpdated event from apache-james-mailbox-cassandra -> apache-james-mailbox-event-json
add 12c6604d98 JAMES-2586 - Postgres - Binding ACLUpdated Event DTO
add 366bfd0f4d JAMES-2586 PopulateEmailQueryViewTask should not hang for postgres-app (#2179)
add 45201b9e32 JAMES-2586 Fix flaky tests in EmailQueryMethodTest
add ef70127175 JAMES-2586 Enable flaky tests in PostgresEmailQueryMethodTest
add f35b9085b8 JAMES-2586 Apply reactor timeout for jOOQ
add 81a8d903b9 JAMES-2586 Mitigate fix for https://github.com/jOOQ/jOOQ/issues/16556
add 4720ef72f6 JAMES-2586 Create metrics for PostgresExecutor
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 (b18ca30f2c)
\
N -- N -- N refs/heads/postgresql-backup (4720ef72f6)
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:
.gitignore | 3 +-
.mvn/extensions.xml | 22 +
.mvn/gradle-enterprise-custom-user-data.groovy | 6 +
.mvn/gradle-enterprise.xml | 59 ++
CHANGELOG.md | 16 +-
Jenkinsfile | 3 +-
README.adoc | 7 +-
backends-common/cassandra/pom.xml | 5 +
.../cassandra/init/ResilientClusterProvider.java | 12 +-
backends-common/opensearch/pom.xml | 4 +-
.../james/backends/opensearch/ClientProvider.java | 2 +-
.../opensearch/json/JsonpDeserializerBase.java | 397 ----------
.../backends/opensearch/json/JsonpMapperBase.java | 102 ---
.../james/backends/opensearch/json/JsonpUtils.java | 207 -----
.../json/UnexpectedJsonEventException.java | 40 -
.../json/jackson/JacksonJsonProvider.java | 298 -------
.../json/jackson/JacksonJsonpGenerator.java | 374 ---------
.../json/jackson/JacksonJsonpLocation.java | 54 --
.../json/jackson/JacksonJsonpMapper.java | 123 ---
.../json/jackson/JacksonJsonpParser.java | 313 --------
.../opensearch/json/jackson/JsonValueParser.java | 108 ---
.../backends/opensearch/json/package-info.java | 29 -
backends-common/postgres/pom.xml | 8 +-
.../james/backends/postgres/PostgresCommons.java | 4 +
.../backends/postgres/PostgresConfiguration.java | 29 +-
.../james/backends/postgres/PostgresIndex.java | 3 +-
.../james/backends/postgres/PostgresTable.java | 3 +-
.../backends/postgres/PostgresTableManager.java | 59 +-
.../quota/PostgresQuotaCurrentValueDAO.java | 54 +-
.../backends/postgres/utils/PostgresExecutor.java | 105 ++-
.../james/backends/postgres/PostgresExtension.java | 31 +-
.../postgres/PostgresTableManagerTest.java | 10 +-
.../james/backends/rabbitmq/QueueArguments.java | 5 +
.../backends/rabbitmq/RabbitMQConfiguration.java | 29 +-
.../rabbitmq/RabbitMQConnectionFactory.java | 3 +
.../rabbitmq/RabbitMQConnectionFactoryTest.java | 4 +-
checkstyle.xml | 2 +-
core/pom.xml | 12 +-
.../java/org/apache/james/core/MailAddress.java | 8 +-
.../java/org/apache/james/core/MaybeSender.java | 4 +-
.../main/java/org/apache/james/core/Username.java | 2 +-
.../james/core/builder/MimeMessageBuilder.java | 26 +-
.../james/core/builder/MimeMessageWrapper.java | 8 +-
.../org/apache/james/core/MailAddressTest.java | 10 +-
.../org/apache/james/core/MaybeSenderTest.java | 2 +-
.../james/core/builder/MimeMessageBuilderTest.java | 2 +-
.../james/core/builder/MimeMessageWrapperTest.java | 4 +-
docs/antora.yml | 2 +-
event-bus/cassandra/pom.xml | 5 +
.../events/RabbitEventBusConsumerHealthCheck.java | 2 -
event-sourcing/event-store-cassandra/pom.xml | 5 +
.../listeners/SetCustomFlagOnBigMessages.java | 3 +-
.../listeners/SetCustomFlagOnBigMessagesTest.java | 2 +-
.../custom/mailets/IsDelayedForMoreThan.java | 2 +-
.../examples/custom/mailets/SendPromotionCode.java | 4 +-
examples/pom.xml | 2 +
javax-mail-extension/pom.xml | 12 +-
.../java/org/apache/james/javax/AddressHelper.java | 2 +-
.../apache/james/javax/MimeMultipartReport.java | 10 +-
.../java/org/apache/james/javax/MultipartUtil.java | 6 +-
.../apache/james/JsonSerializationVerifier.java | 22 +-
mailbox/api/pom.xml | 8 +-
.../james/mailbox/ApplicableFlagBuilder.java | 2 +-
.../apache/james/mailbox/AttachmentIdFactory.java | 9 +-
.../org/apache/james/mailbox/FlagsBuilder.java | 2 +-
.../org/apache/james/mailbox/MessageIdManager.java | 7 +-
.../org/apache/james/mailbox/MessageManager.java | 4 +-
.../mailbox/StringBackedAttachmentIdFactory.java | 15 +-
.../mailbox/UuidBackedAttachmentIdFactory.java | 15 +-
.../apache/james/mailbox/model/AttachmentId.java | 59 +-
.../model/ComposedMessageIdWithMetaData.java | 2 +-
.../apache/james/mailbox/model/DeleteResult.java | 1 +
.../apache/james/mailbox/model/MailboxPath.java | 2 +-
.../james/mailbox/model/MessageMetaData.java | 2 +-
.../apache/james/mailbox/model/MessageResult.java | 2 +-
.../apache/james/mailbox/model/SearchQuery.java | 2 +-
...chmentId.java => StringBackedAttachmentId.java} | 18 +-
.../apache/james/mailbox/model/UpdatedFlags.java | 11 +-
...tachmentId.java => UuidBackedAttachmentId.java} | 35 +-
.../apache/james/mailbox/probe/MailboxProbe.java | 2 +-
.../james/mailbox/ApplicableFlagBuilderTest.java | 2 +-
.../java/org/apache/james/mailbox/EventTest.java | 2 +-
.../apache/james/mailbox/MailboxListenerTest.java | 2 +-
.../apache/james/mailbox/MailboxManagerTest.java | 2 +-
.../mailbox/manager/ManagerTestProvisionner.java | 2 +-
.../manager/QuotaMessageManagerContract.java | 2 +-
.../apache/james/mailbox/mock/DataProvisioner.java | 2 +-
.../mailbox/model/AttachmentMetadataTest.java | 6 +-
.../model/ComposedMessageIdWithMetaDataTest.java | 4 +-
.../james/mailbox/model/MailboxPathTest.java | 6 +
.../model/MessageAttachmentMetadataTest.java | 12 +-
...Test.java => StringBackedAttachmentIdTest.java} | 14 +-
.../james/mailbox/model/UpdatedFlagsTest.java | 2 +-
.../james/mailbox/backup/MessageArchiveEntry.java | 2 +-
.../james/mailbox/backup/zip/FlagsExtraField.java | 2 +-
.../james/mailbox/backup/FlagExtraFieldTest.java | 2 +-
.../mailbox/backup/MailboxMessageFixture.java | 2 +-
mailbox/cassandra/pom.xml | 13 +-
.../CassandraMailboxSessionMapperFactory.java | 3 +-
.../mailbox/cassandra/CassandraMessageManager.java | 2 +-
.../mailbox/cassandra/mail/CassandraACLMapper.java | 4 +-
.../cassandra/mail/CassandraApplicableFlagDAO.java | 3 +-
.../cassandra/mail/CassandraAttachmentDAOV2.java | 3 +-
.../cassandra/mail/CassandraAttachmentMapper.java | 10 +-
.../cassandra/mail/CassandraIndexTableHandler.java | 3 +-
.../cassandra/mail/CassandraMessageDAOV3.java | 4 +-
.../cassandra/mail/CassandraMessageIdDAO.java | 13 +-
.../cassandra/mail/CassandraMessageIdMapper.java | 7 +-
.../mail/CassandraMessageIdToImapUidDAO.java | 5 +-
.../cassandra/mail/CassandraMessageMapper.java | 9 +-
.../cassandra/mail/CassandraMessageMetadata.java | 2 +-
.../mailbox/cassandra/mail/FlagsExtractor.java | 2 +-
.../mail/MessageAttachmentRepresentation.java | 12 +-
.../mail/eventsourcing/acl/ACLModule.java | 8 +-
.../mail/eventsourcing/acl/AclV2DAOSubscriber.java | 4 +-
.../eventsourcing/acl/DeleteMailboxCommand.java | 1 +
.../eventsourcing/acl/MailboxACLAggregate.java | 2 +
.../mail/eventsourcing/acl/SetACLCommand.java | 1 +
.../mail/eventsourcing/acl/UpdateACLCommand.java | 1 +
.../eventsourcing/acl/UserRightsDAOSubscriber.java | 4 +-
.../mail/task/MailboxMergingTaskRunner.java | 5 +
.../mail/task/RecomputeMailboxCountersService.java | 3 +-
.../task/SolveMessageInconsistenciesService.java | 3 +-
.../cassandra/search/DeletedSearchOverride.java | 3 +-
.../search/DeletedWithRangeSearchOverride.java | 3 +-
.../search/NotDeletedWithRangeSearchOverride.java | 3 +-
.../cassandra/search/UnseenSearchOverride.java | 3 +-
.../apache/james/mailbox/cassandra/table/Flag.java | 2 +-
.../cassandra/CassandraMailboxManagerProvider.java | 3 +-
.../cassandra/CassandraMailboxManagerTest.java | 25 +-
.../TestCassandraMailboxSessionMapperFactory.java | 9 +-
.../cassandra/mail/AttachmentLoaderTest.java | 12 +-
.../mail/CassandraApplicableFlagDAOTest.java | 2 +-
.../mail/CassandraAttachmentDAOV2Test.java | 8 +-
.../mail/CassandraIndexTableHandlerTest.java | 2 +-
.../cassandra/mail/CassandraMessageDAOV3Test.java | 2 +-
.../cassandra/mail/CassandraMessageIdDAOTest.java | 2 +-
.../mail/CassandraMessageIdMapperTest.java | 2 +-
.../mail/CassandraMessageIdToImapUidDAOTest.java | 2 +-
.../cassandra/mail/CassandraMessageMapperTest.java | 2 +-
.../MessageAttachmentRepresentationByIdTest.java | 10 +-
.../mail/eventsourcing/acl/ACLUpdatedDTOTest.java | 2 +
...omputeMailboxCountersTaskSerializationTest.java | 4 +-
.../SolveMailboxInconsistenciesServiceTest.java | 5 +-
...essageInconsistenciesTaskSerializationTest.java | 8 +-
.../mail/utils/FlagsUpdateStageResultTest.java | 2 +-
.../mailbox/cassandra/mail/utils/GuiceUtils.java | 5 +-
.../cassandra/search/AllSearchOverrideTest.java | 2 +-
.../search/DeletedSearchOverrideTest.java | 4 +-
.../search/DeletedWithRangeSearchOverrideTest.java | 4 +-
.../NotDeletedWithRangeSearchOverrideTest.java | 4 +-
.../cassandra/search/UidSearchOverrideTest.java | 2 +-
.../cassandra/search/UnseenSearchOverrideTest.java | 2 +-
mailbox/event/json/pom.xml | 4 +
.../apache/james/event}/MailboxAggregateId.java | 21 +-
.../java/org/apache/james/event}/acl/ACLDTO.java | 2 +-
.../org/apache/james/event}/acl/ACLDiffDTO.java | 3 +-
.../org/apache/james/event}/acl/ACLUpdated.java | 7 +-
.../org/apache/james/event}/acl/ACLUpdatedDTO.java | 29 +-
.../scala/org/apache/james/event/json/DTOs.scala | 4 +-
.../james/event/json/AddedSerializationTest.java | 2 +-
.../event/json/ExpungedSerializationTest.java | 2 +-
.../event/json/FlagsUpdatedSerializationTest.java | 2 +-
.../apache/james/event/json/dtos/FlagsTest.java | 2 +-
mailbox/jpa/pom.xml | 25 +-
.../mailbox/jpa/mail/JPAAttachmentMapper.java | 13 +-
.../james/mailbox/jpa/mail/JPAMessageMapper.java | 3 +-
.../james/mailbox/jpa/mail/MessageUtils.java | 2 +-
.../mailbox/jpa/mail/model/JPAAttachment.java | 4 +-
.../model/openjpa/AbstractJPAMailboxMessage.java | 9 +-
.../model/openjpa/JPAEncryptedMailboxMessage.java | 3 +-
.../jpa/mail/model/openjpa/JPAMailboxMessage.java | 3 +-
.../JPAMailboxMessageWithAttachmentStorage.java | 3 +-
.../model/openjpa/JPAStreamingMailboxMessage.java | 3 +-
.../mailbox/jpa/openjpa/OpenJPAMessageFactory.java | 2 +-
.../mailbox/jpa/openjpa/OpenJPAMessageManager.java | 4 +-
.../mailbox/jpa/mail/JpaMessageMapperTest.java | 2 +-
.../james/mailbox/jpa/mail/MessageUtilsTest.java | 2 +-
.../jpa/mail/TransactionalMessageMapper.java | 2 +-
mailbox/lucene/pom.xml | 8 +-
.../lucene/search/LuceneMessageSearchIndex.java | 5 +-
.../LuceneMailboxMessageSearchIndexTest.java | 4 +-
mailbox/memory/pom.xml | 10 +-
.../mailbox/inmemory/InMemoryMessageManager.java | 2 +-
.../inmemory/mail/InMemoryAttachmentMapper.java | 25 +-
.../inmemory/mail/InMemoryMessageIdMapper.java | 2 +-
.../inmemory/mail/InMemoryMessageMapper.java | 4 +-
mailbox/opensearch/pom.xml | 8 +-
.../apache/james/mailbox/opensearch/IndexBody.java | 8 +-
.../opensearch/OpenSearchMailboxConfiguration.java | 37 +-
.../DisabledListeningMessageSearchIndex.java | 3 +-
.../OpenSearchListeningMessageSearchIndex.java | 20 +-
.../mailbox/opensearch/json/HeaderCollection.java | 3 +-
.../mailbox/opensearch/json/IndexableMessage.java | 17 +-
.../opensearch/json/MessageToOpenSearchJson.java | 17 +-
.../mailbox/opensearch/json/MessageUpdateJson.java | 2 +-
.../james/mailbox/opensearch/json/MimePart.java | 14 +-
.../mailbox/opensearch/json/MimePartParser.java | 10 +-
.../opensearch/query/CriterionConverter.java | 2 +-
.../opensearch/OpenSearchIntegrationTest.java | 44 ++
.../OpenSearchMailboxConfigurationTest.java | 97 ++-
.../OpenSearchNoIndexBodyIntegrationTest.java | 197 +++++
.../OpenSearchListeningMessageSearchIndexTest.java | 20 +-
.../opensearch/json/HeaderCollectionTest.java | 10 +
.../opensearch/json/IndexableMessageTest.java | 7 +-
.../json/MessageToOpenSearchJsonTest.java | 48 +-
.../src/test/resources/eml/alternative.eml | 45 ++
.../src/test/resources/eml/alternative.json | 48 ++
.../src/test/resources/eml/alternative_simple.eml | 22 +
.../src/test/resources/eml/alternative_simple.json | 37 +
.../deleted-messages-vault-cassandra/pom.xml | 5 +
.../DeletedMessageVaultDeletionCallback.java | 9 -
...etedMessageWithStorageInformationConverter.java | 3 +-
.../james/vault/dto/query/QueryTranslator.java | 3 +-
.../james/vault/DeletedMessageConverterTest.java | 4 +-
.../james/vault/DeletedMessageVaultHookTest.java | 5 +-
...eletedMessageWithStorageInformationDTOTest.java | 2 +-
mailbox/plugin/quota-mailing-cassandra/pom.xml | 5 +
.../james/mailbox/quota/cassandra/dto/DTOTest.java | 5 +-
...sandraQuotaMailingListenersIntegrationTest.java | 4 +-
.../quota/mailing/events}/HistoryEvolutionDTO.java | 48 +-
.../mailbox/quota/mailing/events}/QuotaDTO.java | 28 +-
.../mailing/events}/QuotaEventDTOModules.java | 4 +-
.../events}/QuotaThresholdChangedEventDTO.java | 77 +-
.../mailing/subscribers/QuotaThresholdMailer.java | 2 +-
mailbox/postgres/pom.xml | 14 +-
.../mailbox/postgres/PostgresMessageManager.java | 2 +-
.../mailbox/postgres/mail/AttachmentLoader.java | 86 --
.../postgres/mail/PostgresAttachmentMapper.java | 3 +-
.../postgres/mail/PostgresAttachmentModule.java | 2 +-
.../postgres/mail/PostgresMailboxModule.java | 5 +-
.../postgres/mail/PostgresMessageIdMapper.java | 41 +-
.../postgres/mail/PostgresMessageMapper.java | 43 +-
.../postgres/mail/PostgresMessageRetriever.java | 142 ++++
.../postgres/mail/dao/PostgresAttachmentDAO.java | 7 +-
.../postgres/mail/dao/PostgresMailboxDAO.java | 14 +-
.../mail/dao/PostgresMailboxMessageDAO.java | 3 +-
.../mail/dao/PostgresMailboxMessageDAOUtils.java | 2 +-
.../mailbox/postgres/mail/dto/AttachmentsDTO.java | 3 +-
.../mail/eventsourcing/acl/ACLModule.java | 11 +-
.../postgres/search/DeletedSearchOverride.java | 3 +-
.../search/DeletedWithRangeSearchOverride.java | 3 +-
.../search/NotDeletedWithRangeSearchOverride.java | 3 +-
.../postgres/search/UnseenSearchOverride.java | 3 +-
...stgresAnnotationMapperRowLevelSecurityTest.java | 4 +-
.../PostgresAttachmentBlobReferenceSourceTest.java | 5 +-
.../PostgresMailboxMapperRowLevelSecurityTest.java | 5 +-
.../PostgresMessageBlobReferenceSourceTest.java | 2 +-
.../PostgresMessageMapperRowLevelSecurityTest.java | 6 +-
.../postgres/search/AllSearchOverrideTest.java | 2 +-
.../postgres/search/DeletedSearchOverrideTest.java | 6 +-
.../search/DeletedWithRangeSearchOverrideTest.java | 6 +-
.../NotDeletedWithRangeSearchOverrideTest.java | 4 +-
.../postgres/search/SearchOverrideFixture.java | 2 +-
.../postgres/search/UidSearchOverrideTest.java | 2 +-
.../postgres/search/UnseenSearchOverrideTest.java | 4 +-
...gresSubscriptionMapperRowLevelSecurityTest.java | 4 +-
mailbox/store/pom.xml | 8 +-
.../james/mailbox/store/FlagsUpdateCalculator.java | 2 +-
.../apache/james/mailbox/store/MessageFactory.java | 2 +-
.../james/mailbox/store/MessageResultImpl.java | 2 +-
.../apache/james/mailbox/store/MessageStorer.java | 12 +-
.../apache/james/mailbox/store/ResultUtils.java | 33 +-
.../james/mailbox/store/StoreMailboxManager.java | 18 +-
.../james/mailbox/store/StoreMessageIdManager.java | 17 +-
.../james/mailbox/store/StoreMessageManager.java | 16 +-
.../mailbox/store/StoreMessageResultIterator.java | 2 +-
.../james/mailbox/store/StoreRightManager.java | 3 +-
.../mailbox/store/mail/AbstractMessageMapper.java | 2 +-
.../james/mailbox/store/mail/MessageIdMapper.java | 2 +-
.../james/mailbox/store/mail/MessageMapper.java | 4 +-
.../store/mail/model/DelegatingMailboxMessage.java | 2 +-
.../mailbox/store/mail/model/FlagsFactory.java | 2 +-
.../mailbox/store/mail/model/FlagsFilter.java | 2 +-
.../mailbox/store/mail/model/MailboxMessage.java | 2 +-
.../mail/model/impl/FileBufferedBodyFactory.java | 439 +++++++++++
.../store/mail/model/impl/MessageParser.java | 12 +-
.../mail/model/impl/SimpleMailboxMessage.java | 2 +-
.../store/mail/utils/ApplicableFlagCalculator.java | 2 +-
.../store/quota/ListeningCurrentQuotaUpdater.java | 22 +-
.../store/search/LazyMessageSearchIndex.java | 2 +-
.../store/search/ListeningMessageSearchIndex.java | 23 +-
.../mailbox/store/search/MessageSearches.java | 2 +-
.../store/AbstractCombinationManagerTest.java | 7 +-
.../AbstractMailboxManagerAttachmentTest.java | 2 +-
.../store/AbstractMessageIdManagerQuotaTest.java | 2 +-
.../AbstractMessageIdManagerSideEffectTest.java | 4 +-
.../store/AbstractMessageIdManagerStorageTest.java | 2 +-
.../mailbox/store/FlagsUpdateCalculatorTest.java | 2 +-
.../apache/james/mailbox/store/MessageBuilder.java | 2 +-
.../mailbox/store/MessageIdManagerTestSystem.java | 2 +-
.../james/mailbox/store/PreDeletionHooksTest.java | 2 +-
.../mailbox/store/StoreAttachmentManagerTest.java | 4 +-
.../StoreMailboxMessageResultIteratorTest.java | 2 +-
.../james/mailbox/store/StoreRightManagerTest.java | 2 +-
.../store/ThreadIdGuessingAlgorithmContract.java | 2 +-
.../store/mail/model/AttachmentMapperTest.java | 15 +-
.../mailbox/store/mail/model/FlagsFactoryTest.java | 4 +-
.../mailbox/store/mail/model/FlagsFilterTest.java | 2 +-
.../store/mail/model/ListMessageAssertTest.java | 2 +-
.../store/mail/model/MailboxMessageAssertTest.java | 2 +-
.../mailbox/store/mail/model/MessageAssert.java | 2 +-
.../store/mail/model/MessageIdMapperTest.java | 4 +-
.../store/mail/model/MessageMapperTest.java | 4 +-
.../mailbox/store/mail/model/MessageMoveTest.java | 2 +-
.../model/MessageWithAttachmentMapperTest.java | 2 +-
.../store/mail/model/MetadataMapAssertTest.java | 2 +-
.../mail/model/impl/SimpleMailboxMessageTest.java | 6 +-
.../mail/utils/ApplicableFlagCalculatorTest.java | 4 +-
.../quota/ListeningCurrentQuotaUpdaterTest.java | 40 +-
.../search/AbstractMessageSearchIndexTest.java | 2 +-
.../ListeningMessageSearchIndexContract.java | 2 +-
.../mailbox/store/search/SearchUtilsTest.java | 2 +-
mailbox/store/src/test/resources/eml/htmlMail.json | 2 +-
.../store/src/test/resources/eml/james-3901.json | 9 +-
.../src/test/resources/eml/pgpSignedMail.json | 2 +-
mailbox/store/src/test/resources/eml/spamMail.json | 2 +-
.../src/test/resources/eml/spamMailNoHeaders.json | 2 +-
.../mailbox/tools/copier/MailboxCopierImpl.java | 2 +-
.../mailbox/tools/indexer/ReIndexerPerformer.java | 3 +-
...rorRecoveryIndexationTaskSerializationTest.java | 7 +-
.../FullReindexingTaskSerializationTest.java | 7 +-
...ngleMailboxReindexingTaskSerializationTest.java | 7 +-
.../UserReindexingTaskSerializationTest.java | 8 +-
.../RecomputeCurrentQuotasServiceContract.java | 5 +-
...ecomputeCurrentQuotasTaskSerializationTest.java | 7 +-
mailet/ai/pom.xml | 8 +-
.../apache/james/ai/classic/BayesianAnalysis.java | 5 +-
.../james/ai/classic/BayesianAnalysisFeeder.java | 13 +-
mailet/amqp/pom.xml | 8 +-
.../mailets/AmqpForwardAttributeTest.java | 2 +-
mailet/api/pom.xml | 4 +-
.../main/java/org/apache/mailet/DsnParameters.java | 2 +-
.../main/java/org/apache/mailet/HostAddress.java | 4 +-
.../api/src/main/java/org/apache/mailet/Mail.java | 6 +-
.../main/java/org/apache/mailet/MailAddress.java | 4 +-
.../src/main/java/org/apache/mailet/Mailet.java | 2 +-
.../main/java/org/apache/mailet/MailetContext.java | 4 +-
.../java/org/apache/mailet/MailetException.java | 2 +-
.../src/main/java/org/apache/mailet/Matcher.java | 2 +-
.../java/org/apache/mailet/StorageDirective.java | 2 +-
mailet/base/pom.xml | 8 +-
.../appended-resources/supplemental-models.xml | 28 +-
.../mailet/base/AutomaticallySentMailDetector.java | 2 +-
.../java/org/apache/mailet/base/Converter7Bit.java | 8 +-
.../org/apache/mailet/base/FlowedMessageUtils.java | 6 +-
.../java/org/apache/mailet/base/GenericMailet.java | 6 +-
.../org/apache/mailet/base/GenericMatcher.java | 4 +-
.../mailet/base/GenericRecipientMatcher.java | 2 +-
.../java/org/apache/mailet/base/MailetUtil.java | 2 +-
.../org/apache/mailet/base/MatcherInverter.java | 2 +-
.../org/apache/mailet/base/Converter7BitTest.java | 6 +-
.../org/apache/mailet/base/GenericMailetTest.java | 2 +-
.../org/apache/mailet/base/MailetUtilTest.java | 2 +-
.../apache/mailet/base/MatcherInverterTest.java | 2 +-
mailet/crypto/pom.xml | 10 +-
.../appended-resources/supplemental-models.xml | 47 +-
.../java/org/apache/james/transport/InitJCE.java | 4 +-
.../java/org/apache/james/transport/KeyHolder.java | 6 +-
.../org/apache/james/transport/KeyStoreHolder.java | 2 +-
.../org/apache/james/transport/SMIMEKeyHolder.java | 6 +-
.../james/transport/mailets/AbstractSign.java | 19 +-
.../transport/mailets/SMIMECheckSignature.java | 10 +-
.../james/transport/mailets/SMIMEDecrypt.java | 6 +-
.../apache/james/transport/mailets/SMIMESign.java | 8 +-
.../org/apache/james/transport/mailets/Sign.java | 8 +-
.../james/transport/matcher/IsSMIMEEncrypted.java | 4 +-
.../james/transport/matcher/IsSMIMESigned.java | 4 +-
.../matcher/IsX509CertificateSubject.java | 2 +-
.../james/transport/mailets/ICALToHeader.java | 4 +-
.../transport/mailets/ICALToJsonAttribute.java | 10 +-
.../james/transport/mailets/ICSSanitizer.java | 14 +-
.../james/transport/mailets/ICalendarParser.java | 14 +-
.../james/transport/mailets/ICALToHeadersTest.java | 2 +-
.../transport/mailets/ICALToJsonAttributeTest.java | 2 +-
.../james/transport/mailets/ICSSanitizerTest.java | 4 +-
.../transport/mailets/ICalendarParserTest.java | 2 +-
.../mailet/constructor/ConstructorMailet.java | 2 +-
.../excluded/ExcludedFromDocumentationMailet.java | 2 +-
.../NotExcludedFromDocumentationMailet.java | 2 +-
.../mailet/experimental/ExperimentalMailet.java | 2 +-
.../mailet/experimental/NonExperimentalMailet.java | 2 +-
mailet/standard/LICENSE.txt | 8 +-
mailet/standard/pom.xml | 8 +-
.../appended-resources/supplemental-models.xml | 28 +-
.../transport/mailets/AddDeliveredToHeader.java | 2 +-
.../apache/james/transport/mailets/AddFooter.java | 10 +-
.../transport/mailets/AddHabeasWarrantMark.java | 6 +-
.../james/transport/mailets/AddSubjectPrefix.java | 4 +-
.../james/transport/mailets/ClassifyBounce.java | 10 +-
.../james/transport/mailets/ContactExtractor.java | 12 +-
.../james/transport/mailets/ContentReplacer.java | 6 +-
.../apache/james/transport/mailets/Expires.java | 5 +-
.../james/transport/mailets/HeadersToHTTP.java | 4 +-
.../apache/james/transport/mailets/LogMessage.java | 4 +-
.../mailets/MailAttributesListToMimeHeaders.java | 4 +-
.../mailets/MailAttributesToMimeHeaders.java | 4 +-
.../transport/mailets/MimeDecodingMailet.java | 4 +-
.../apache/james/transport/mailets/OnlyText.java | 10 +-
.../james/transport/mailets/PostmasterAlias.java | 2 +-
.../james/transport/mailets/PropagateError.java | 2 +-
.../transport/mailets/RecipientToLowerCase.java | 4 +-
.../james/transport/mailets/RecoverAttachment.java | 8 +-
.../transport/mailets/RemoveAllMailAttributes.java | 2 +-
.../transport/mailets/RemoveMailAttribute.java | 2 +-
.../james/transport/mailets/RemoveMimeHeader.java | 4 +-
.../mailets/RemoveMimeHeaderByPrefix.java | 4 +-
.../james/transport/mailets/SerialiseToHTTP.java | 4 +-
.../apache/james/transport/mailets/ServerTime.java | 9 +-
.../james/transport/mailets/SetErrorMessage.java | 2 +-
.../james/transport/mailets/SetMailAttribute.java | 2 +-
.../james/transport/mailets/SetMimeHeader.java | 4 +-
.../james/transport/mailets/StripAttachment.java | 59 +-
.../james/transport/mailets/ToProcessor.java | 2 +-
.../apache/james/transport/mailets/UnwrapText.java | 2 +-
.../transport/mailets/UseHeaderRecipients.java | 8 +-
.../apache/james/transport/mailets/WrapText.java | 2 +-
.../transport/mailets/debug/DumpSystemErr.java | 4 +-
.../mailets/debug/ExceptionThrowingMailet.java | 2 +-
.../mailets/utils/MimeMessageModifier.java | 4 +-
.../transport/mailets/utils/MimeMessageUtils.java | 6 +-
.../apache/james/transport/matchers/AtMost.java | 2 +-
.../transport/matchers/AttachmentFileNameIs.java | 26 +-
.../transport/matchers/CommandForListserv.java | 2 +-
.../transport/matchers/CommandListservMatcher.java | 2 +-
.../matchers/CompareNumericHeaderValue.java | 4 +-
.../james/transport/matchers/FetchedFrom.java | 4 +-
.../james/transport/matchers/FileRegexMatcher.java | 2 +-
.../transport/matchers/GenericRegexMatcher.java | 4 +-
.../james/transport/matchers/HasAttachment.java | 8 +-
.../james/transport/matchers/HasException.java | 2 +-
.../transport/matchers/HasHabeasWarrantMark.java | 4 +-
.../apache/james/transport/matchers/HasHeader.java | 4 +-
.../transport/matchers/HasHeaderWithPrefix.java | 4 +-
.../james/transport/matchers/HasMailAttribute.java | 2 +-
.../matchers/HasMailAttributeWithValue.java | 2 +-
.../matchers/HasMailAttributeWithValueRegex.java | 2 +-
.../james/transport/matchers/HasMimeType.java | 6 +-
.../transport/matchers/HasMimeTypeAnySubPart.java | 6 +-
.../transport/matchers/HasMimeTypeParameter.java | 8 +-
.../james/transport/matchers/HostIsLocal.java | 2 +-
.../transport/matchers/IsFromMailingList.java | 3 +-
.../james/transport/matchers/NESSpamCheck.java | 2 +-
.../james/transport/matchers/RecipientIs.java | 4 +-
.../james/transport/matchers/RecipientIsLocal.java | 2 +-
.../james/transport/matchers/RecipientIsRegex.java | 4 +-
.../james/transport/matchers/RelayLimit.java | 8 +-
.../james/transport/matchers/SMTPAuthUserIs.java | 4 +-
.../james/transport/matchers/SenderDomainIs.java | 2 +-
.../apache/james/transport/matchers/SenderIs.java | 4 +-
.../james/transport/matchers/SenderIsRegex.java | 2 +-
.../james/transport/matchers/SizeGreaterThan.java | 2 +-
.../apache/james/transport/matchers/SubjectIs.java | 5 +-
.../transport/matchers/SubjectStartsWith.java | 4 +-
.../james/transport/matchers/TooManyLines.java | 2 +-
.../transport/matchers/TooManyRecipients.java | 2 +-
.../apache/james/transport/matchers/UserIs.java | 2 +-
.../utils/MailAddressCollectionReader.java | 2 +-
.../james/transport/mailets/AddFooterTest.java | 2 +-
.../transport/mailets/AddSubjectPrefixTest.java | 4 +-
.../transport/mailets/ContactExtractorTest.java | 4 +-
.../transport/mailets/ContentReplacerTest.java | 2 +-
.../james/transport/mailets/ExpiresTest.java | 4 +-
.../james/transport/mailets/HeadersToHTTPTest.java | 2 +-
.../james/transport/mailets/LogMessageTest.java | 4 +-
.../MailAttributesListToMimeHeadersTest.java | 2 +-
.../mailets/MailAttributesToMimeHeadersTest.java | 2 +-
.../transport/mailets/MappingArgumentTest.java | 2 +-
.../transport/mailets/MimeDecodingMailetTest.java | 2 +-
.../apache/james/transport/mailets/NullTest.java | 2 +-
.../james/transport/mailets/OnlyTextTest.java | 10 +-
.../transport/mailets/PropagateErrorTest.java | 2 +-
.../mailets/RemoveAllMailAttributesTest.java | 2 +-
.../transport/mailets/RemoveMailAttributeTest.java | 2 +-
.../mailets/RemoveMimeHeaderByPrefixTest.java | 2 +-
.../transport/mailets/RemoveMimeHeaderTest.java | 2 +-
.../transport/mailets/ReplaceContentTest.java | 4 +-
.../transport/mailets/SerialiseToHTTPTest.java | 2 +-
.../transport/mailets/SetMailAttributeTest.java | 2 +-
.../james/transport/mailets/SetMimeHeaderTest.java | 4 +-
.../transport/mailets/StripAttachmentTest.java | 145 +++-
.../james/transport/mailets/ToProcessorTest.java | 2 +-
.../mailets/utils/MimeMessageModifierTest.java | 2 +-
.../mailets/utils/MimeMessageUtilsTest.java | 4 +-
.../matchers/AbstractHasMailAttributeTest.java | 2 +-
.../apache/james/transport/matchers/AllTest.java | 2 +-
.../james/transport/matchers/AtMostTest.java | 2 +-
.../matchers/AttachmentFileNameIsTest.java | 586 ++++++++++++++
.../james/transport/matchers/FetchedFromTest.java | 2 +-
.../transport/matchers/HasAttachmentTest.java | 6 +-
.../james/transport/matchers/HasExceptionTest.java | 18 +-
.../james/transport/matchers/HasHeaderTest.java | 4 +-
.../matchers/HasHeaderWithPrefixTest.java | 2 +-
.../HasMailAttributeWithValueRegexTest.java | 2 +-
.../matchers/HasMailAttributeWithValueTest.java | 2 +-
.../matchers/HasMimeTypeAnySubPartTest.java | 2 +-
.../matchers/HasMimeTypeParameterTest.java | 2 +-
.../james/transport/matchers/HasMimeTypeTest.java | 2 +-
.../james/transport/matchers/HostIsLocalTest.java | 2 +-
.../james/transport/matchers/HostIsTest.java | 2 +-
.../transport/matchers/IsFromMailingListTest.java | 2 +-
.../transport/matchers/IsSingleRecipientTest.java | 2 +-
.../james/transport/matchers/NESSpamCheckTest.java | 2 +-
.../transport/matchers/RecipientDomainIsTest.java | 2 +-
.../transport/matchers/RecipientIsRegexTest.java | 2 +-
.../james/transport/matchers/RecipientIsTest.java | 2 +-
.../james/transport/matchers/RelayLimitTest.java | 4 +-
.../transport/matchers/SMTPAuthUserIsTest.java | 2 +-
.../transport/matchers/SenderHostIsLocalTest.java | 2 +-
.../james/transport/matchers/SenderHostIsTest.java | 2 +-
.../transport/matchers/SenderIsLocalTest.java | 2 +-
.../transport/matchers/SenderIsRegexTest.java | 2 +-
.../james/transport/matchers/SenderIsTest.java | 2 +-
.../transport/matchers/SizeGreaterThanTest.java | 2 +-
.../james/transport/matchers/SubjectIsTest.java | 4 +-
.../transport/matchers/SubjectStartsWithTest.java | 4 +-
.../james/transport/matchers/TooManyLinesTest.java | 2 +-
.../transport/matchers/TooManyRecipientsTest.java | 2 +-
.../james/transport/matchers/UserIsTest.java | 2 +-
mailet/standard/src/test/resources/mime/space.eml | 24 +
mailet/standard/src/test/resources/nested.zip | Bin 0 -> 613 bytes
mailet/standard/src/test/resources/sonde.zip | Bin 0 -> 487 bytes
mailet/test/pom.xml | 4 +-
.../org/apache/mailet/base/MailAddressFixture.java | 2 +-
.../java/org/apache/mailet/base/test/FakeMail.java | 10 +-
.../apache/mailet/base/test/FakeMailContext.java | 6 +-
.../java/org/apache/mailet/base/test/MailUtil.java | 4 +-
.../org/apache/mailet/base/test/FakeMailTest.java | 4 +-
mdn/pom.xml | 16 +-
mdn/src/main/java/org/apache/james/mdn/MDN.java | 81 +-
.../test/java/org/apache/james/mdn/MDNTest.java | 90 ++-
mpt/core/pom.xml | 26 +-
mpt/impl/imap-mailbox/cassandra/pom.xml | 5 +
.../imap/scripts/FetchMultipartBodyStructure.test | 2 +-
.../james/imap/scripts/FetchRFC822Header.test | 52 ++
.../imap/scripts/FetchSimpleBodyStructure.test | 2 +-
.../james/imap/scripts/FetchStructureComplex.test | 8 +-
.../james/imap/scripts/FetchStructureEmbedded.test | 2 +-
.../org/apache/james/imap/scripts/Quota.test | 5 +-
.../james/imap/scripts/UidSearchAtomsIndexer.test | 8 +-
.../SelectThenFetchWithExistingMessages.test | 2 +-
mpt/impl/managesieve/cassandra/pom.xml | 5 +
.../smtp/cassandra-rabbitmq-object-storage/pom.xml | 5 +
mpt/impl/smtp/cassandra/pom.xml | 5 +
pom.xml | 234 ++++--
protocols/imap/pom.xml | 8 +-
.../org/apache/james/imap/api/ConnectionCheck.java | 10 +-
.../james/imap/api/ConnectionCheckFactory.java | 13 +-
.../imap/api/DefaultConnectionCheckFactory.java | 23 +-
.../apache/james/imap/api/ImapConfiguration.java | 24 +-
.../james/imap/api/display/HumanReadableText.java | 2 +-
.../james/imap/api/message/MessageFlags.java | 4 +-
.../imap/api/message/response/StatusResponse.java | 2 +-
.../apache/james/imap/api/process/ImapSession.java | 17 +
.../james/imap/api/process/SelectedMailbox.java | 2 +-
.../org/apache/james/imap/decode/DecoderUtils.java | 2 +-
.../james/imap/decode/ImapRequestLineReader.java | 2 +-
.../james/imap/decode/main/DefaultImapDecoder.java | 9 +-
.../imap/decode/parser/AppendCommandParser.java | 3 +-
.../imap/decode/parser/ReplaceCommandParser.java | 2 +-
.../imap/decode/parser/StoreCommandParser.java | 3 +-
.../james/imap/encode/FetchResponseEncoder.java | 4 +-
.../james/imap/encode/FlagsResponseEncoder.java | 2 +-
.../james/imap/encode/ImapResponseComposer.java | 2 +-
.../imap/encode/base/ImapResponseComposerImpl.java | 2 +-
.../james/imap/message/request/AppendRequest.java | 2 +-
.../james/imap/message/request/ReplaceRequest.java | 2 +-
.../james/imap/message/request/StoreRequest.java | 2 +-
.../james/imap/message/response/FetchResponse.java | 2 +-
.../james/imap/message/response/FlagsResponse.java | 2 +-
.../imap/processor/AbstractMailboxProcessor.java | 7 +-
.../processor/AbstractMessageRangeProcessor.java | 11 +
.../imap/processor/AbstractSelectionProcessor.java | 2 +-
.../james/imap/processor/AppendProcessor.java | 5 +-
.../james/imap/processor/ReplaceProcessor.java | 2 +-
.../james/imap/processor/SearchProcessor.java | 3 +-
.../james/imap/processor/StatusProcessor.java | 3 +-
.../james/imap/processor/StoreProcessor.java | 3 +-
.../imap/processor/base/SelectedMailboxImpl.java | 77 +-
.../james/imap/processor/base/UidMsnConverter.java | 13 +-
.../imap/processor/fetch/EnvelopeBuilder.java | 2 +-
.../james/imap/processor/fetch/FetchProcessor.java | 91 ++-
.../imap/processor/fetch/FetchResponseBuilder.java | 2 +-
.../apache/james/imap/decode/DecoderUtilsTest.java | 2 +-
.../imap/decode/parser/StoreCommandParserTest.java | 2 +-
.../FetchResponseEncoderNoExtensionsTest.java | 2 +-
.../imap/encode/FetchResponseEncoderTest.java | 2 +-
.../james/imap/processor/SearchProcessorTest.java | 4 +-
.../james/imap/processor/SelectProcessorTest.java | 4 +-
.../processor/base/MailboxEventAnalyserTest.java | 41 +-
.../processor/base/SelectedMailboxImplTest.java | 22 +-
.../netty/BasicChannelInboundHandler.java | 22 +-
.../apache/james/protocols/netty/NettyServer.java | 2 +
protocols/smtp/pom.xml | 8 +-
.../apache/james/protocols/smtp/MailAddress.java | 4 +-
.../james/protocols/smtp/SMTPSessionImpl.java | 15 +-
.../james/protocols/smtp/core/HeloCmdHandler.java | 29 +
.../james/protocols/smtp/core/MailCmdHandler.java | 3 +-
.../james/protocols/smtp/core/RcptCmdHandler.java | 16 +-
.../smtp/core/ReceivedDataLineFilter.java | 10 +-
.../protocols/smtp/core/esmtp/AuthCmdHandler.java | 85 +-
.../protocols/smtp/core/esmtp/EhloCmdHandler.java | 31 +-
.../smtp/core/esmtp/MailSizeEsmtpExtension.java | 8 +-
.../core/fastfail/AbstractValidRcptHandler.java | 8 +-
.../protocols/smtp/core/log/HookResultLogger.java | 6 +-
.../smtp/netty/NettyStartTlsSMTPServerTest.java | 11 +-
server/README.crypto | 2 +-
server/apps/cassandra-app/README.adoc | 2 +-
server/apps/cassandra-app/pom.xml | 7 +-
.../sample-configuration/jvm.properties | 6 +-
.../src/assemble/license-for-binary.txt | 4 +-
.../apps/cli/src/assemble/license-for-binary.txt | 4 +-
server/apps/distributed-app/README.adoc | 91 +--
server/apps/distributed-app/docs/antora.yml | 2 +-
.../modules/ROOT/pages/configure/blobstore.adoc | 26 +
.../docs/modules/ROOT/pages/configure/imap.adoc | 2 +
.../docs/modules/ROOT/pages/configure/jmap.adoc | 9 +
.../modules/ROOT/pages/configure/opensearch.adoc | 3 +
.../modules/ROOT/pages/configure/rabbitmq.adoc | 19 +
.../docs/modules/ROOT/pages/extending/imap.adoc | 23 +-
.../docs/modules/ROOT/pages/operate/security.adoc | 35 +
.../docs/modules/ROOT/pages/operate/webadmin.adoc | 2 +-
.../docs/modules/ROOT/pages/run/k8s-values.adoc | 2 +-
.../docs/modules/ROOT/pages/run/run-docker.adoc | 4 +-
.../ROOT/partials/RecipientRewriteTable.adoc | 5 +-
.../docs/modules/ROOT/partials/RemoteDelivery.adoc | 4 +-
server/apps/distributed-app/pom.xml | 7 +-
.../sample-configuration/jvm.properties | 19 +
.../src/assemble/license-for-binary.txt | 4 +-
.../org/apache/james/CassandraCacheQueryTest.java | 4 +-
server/apps/distributed-pop3-app/README.adoc | 2 +-
server/apps/distributed-pop3-app/pom.xml | 7 +-
server/apps/jpa-app/README.adoc | 4 +-
server/apps/jpa-app/pom.xml | 6 +-
.../jpa-app/src/assemble/license-for-binary.txt | 4 +-
.../java/org/apache/james/JPAJamesServerMain.java | 4 +-
server/apps/jpa-smtp-app/README.adoc | 6 +-
server/apps/jpa-smtp-app/pom.xml | 7 +-
.../src/assemble/license-for-binary.txt | 4 +-
.../java/org/apache/james/JPAJamesServerMain.java | 4 +-
server/apps/memory-app/pom.xml | 6 +-
.../memory-app/sample-configuration/jvm.properties | 5 +-
.../memory-app/src/assemble/license-for-binary.txt | 4 +-
.../org/apache/james/MemoryJamesServerMain.java | 4 +-
.../java/org/apache/james/LmtpIntegrationTest.java | 4 +-
.../sample-configuration/postgres.properties | 5 +-
.../org/apache/james/PostgresJamesServerMain.java | 78 +-
.../java/org/apache/james/PostgresJmapModule.java | 9 +
server/apps/scaling-pulsar-smtp/pom.xml | 13 +-
.../src/main/java/org/apache/james/Main.java | 75 +-
server/apps/spring-app/README.crypto | 2 +-
server/apps/spring-app/pom.xml | 94 +--
.../appended-resources/supplemental-models.xml | 4 +-
.../src/main/licensing/app/license-for-binary.txt | 4 +-
.../src/main/licensing/app/licensing.xml | 15 +-
.../src/main/licensing/app/notice-for-binary.txt | 3 +-
.../apps/spring-app/src/main/licensing/war/LICENSE | 4 +-
.../apps/spring-app/src/main/licensing/war/NOTICE | 3 +-
.../src/main/licensing/war/licensing.xml | 15 +-
server/blob/blob-aes/pom.xml | 4 +
.../org/apache/james/blob/aes/AESBlobStoreDAO.java | 114 ++-
.../org/apache/james/blob/api/BlobStoreDAO.java | 26 +
server/blob/blob-cassandra/pom.xml | 5 +
.../blob/cassandra/cache/CachedBlobStoreTest.java | 2 +-
.../main/java/org/apache/james/blob/api/Store.java | 10 +-
.../file/LocalFileBlobExportMechanismTest.java | 4 +-
.../apache/james/blob/file/FileBlobStoreDAO.java | 63 +-
server/blob/blob-postgres/pom.xml | 20 -
server/blob/blob-s3/pom.xml | 4 +
.../aws/S3BlobStoreConfiguration.java | 34 +-
.../blob/objectstorage/aws/S3BlobStoreDAO.java | 14 +-
.../blob/objectstorage/aws/S3BlobStoreDAOTest.java | 5 +
.../james/blob/objectstorage/aws/S3MinioTest.java | 10 +-
.../deduplication/DeDuplicationBlobStore.scala | 1 +
.../BlobGCTaskAdditionalInformationDTOTest.java | 4 +-
.../deduplication/BlobGCTaskSerializationTest.java | 5 +-
.../apache/james/blob/mail/MimeMessageStore.java | 5 +-
.../james/blob/mail/MimeMessageStoreTest.java | 2 +-
server/container/core/pom.xml | 13 +-
.../james/server/core/ContentTypeCleaner.java | 4 +-
.../org/apache/james/server/core/Envelope.java | 2 +-
.../server/core/InternetHeadersInputStream.java | 2 +-
.../org/apache/james/server/core/MailHeaders.java | 4 +-
.../org/apache/james/server/core/MailImpl.java | 12 +-
.../james/server/core/MimeMessageInputStream.java | 4 +-
.../server/core/MimeMessageInputStreamSource.java | 8 +-
.../apache/james/server/core/MimeMessageUtil.java | 10 +-
.../james/server/core/MimeMessageWrapper.java | 14 +-
.../james/server/core/ContentTypeCleanerTest.java | 8 +
.../apache/james/server/core/MailHeadersTest.java | 2 +-
.../org/apache/james/server/core/MailImplTest.java | 4 +-
.../core/MimeMessageFromMimeMessageTest.java | 2 +-
.../core/MimeMessageFromSharedStreamTest.java | 2 +-
.../server/core/MimeMessageFromStreamTest.java | 4 +-
.../core/MimeMessageInputStreamSourceTest.java | 2 +-
.../apache/james/server/core/MimeMessageTest.java | 12 +-
.../james/server/core/MimeMessageUtilTest.java | 6 +-
.../james/server/core/MimeMessageWrapperTest.java | 26 +-
.../james/healthcheck/MailReceptionCheck.java | 82 +-
.../S3BlobStoreConfigurationReader.java | 16 +
.../mailbox/CassandraCacheSessionModule.java | 11 +-
.../modules/mailbox/CassandraMailboxModule.java | 3 +
.../mailbox/CassandraQuotaMailingModule.java | 2 +-
.../apache/james/MailsShouldBeWellReceived.java | 12 +-
.../james/utils/FileConfigurationProviderTest.java | 11 +-
.../guice/common/src/test/resources/test.xml | 1 +
server/container/guice/configuration/pom.xml | 4 +-
.../james/modules/plugins/QuotaMailingModule.java} | 11 +-
.../james/modules/data/JPAEntityManagerModule.java | 11 +-
.../james/modules/mailbox/JPAMailboxModule.java | 3 +
.../modules/mailbox/PostgresMailboxModule.java | 14 +
.../org/apache/james/modules/MailboxProbeImpl.java | 3 +-
.../org/apache/james/utils/GuiceMailetLoader.java | 2 +-
.../org/apache/james/utils/GuiceMatcherLoader.java | 2 +-
.../apache/james/utils/GuiceMailetLoaderTest.java | 2 +-
.../apache/james/utils/GuiceMatcherLoaderTest.java | 2 +-
.../org/apache/james/FakeMessageSearchIndex.java | 2 +-
.../james/modules/mailbox/MemoryMailboxModule.java | 3 +
.../java/org/apache/james/SearchModuleChooser.java | 2 +-
server/container/guice/postgres-common/pom.xml | 4 +
.../james/modules/data/PostgresCommonModule.java | 7 +-
.../data/PostgresDLPConfigurationStoreModule.java | 9 +
.../modules/data/PostgresEventStoreModule.java | 9 -
.../modules/task/DistributedTaskManagerModule.java | 109 +++
...TaskExecutionDetailsProjectionGuiceModule.java} | 21 +-
.../protocols/ConnectionCheckFactoryImpl.java | 50 +-
.../james/modules/protocols/IMAPServerModule.java | 7 +-
.../james/modules/protocols/ImapGuiceProbe.java | 2 +-
.../org/apache/james/jmap/draft/JMAPModule.java | 2 +-
.../apache/james/jmap/draft/MessageIdProbe.java | 3 +-
.../james/jmap/rfc8621/RFC8621MethodsModule.java | 4 +-
.../apache/james/jmap/draft/JMAPModuleTest.java | 42 +-
.../james/modules/protocols/Pop3GuiceProbe.java | 11 +
.../apache/james/modules/protocols/JSPFModule.java | 3 +-
.../queue/pulsar/module/PulsarQueueModule.java | 3 +-
.../java/com/custom/mailets/AnotherMailet.java | 2 +-
.../java/com/custom/matchers/AnotherMatcher.java | 2 +-
.../james/transport/mailets/CustomMailet.java | 2 +-
...tomMailetWithCustomDependencyInConstructor.java | 2 +-
.../CustomMailetWithCustomDependencyInService.java | 2 +-
.../james/transport/mailets/MyGenericMailet.java | 3 +-
.../james/transport/matchers/CustomMatcher.java | 2 +-
.../org/apache/james/lifecycle/api/Disposable.java | 2 +-
.../apache/james/lifecycle/api/LeakAwareTest.java | 33 +-
.../adapter/mailbox/MailboxCopierManagement.java | 4 +
.../adapter/mailbox/MailboxManagerManagement.java | 3 +
server/container/spring/pom.xml | 8 +-
.../appended-resources/supplemental-models.xml | 4 +-
.../mailetcontainer/MailetLoaderBeanFactory.java | 2 +-
.../mailetcontainer/MatcherLoaderBeanFactory.java | 2 +-
server/container/util/pom.xml | 8 +-
.../java/org/apache/james/util/AuditTrail.java | 20 +-
.../org/apache/james/util/ClassLoaderUtils.java | 2 +-
.../org/apache/james/util/MimeMessageUtil.java | 6 +-
.../java/org/apache/james/util/ReactorUtils.java | 1 +
.../james/util/mime/MessageContentExtractor.java | 4 +-
.../java/org/apache/james/util/AuditTrailTest.java | 3 +-
.../util/mime/MessageContentExtractorTest.java | 2 +-
.../java/org/apache/james/rrt/lib/Mapping.java | 2 +-
.../org/apache/james/rrt/lib/MappingSource.java | 2 +-
.../org/apache/james/rrt/lib/UserRewritter.java | 2 +-
.../org/apache/james/vacation/api/AccountId.java | 2 +-
.../vacation/api/NotificationRegistryContract.java | 27 +
.../vacation/api/VacationRepositoryContract.java | 23 +
server/data/data-cassandra/pom.xml | 17 +-
.../cassandra/CassandraNotificationRegistry.java | 12 +-
.../james/rrt/cassandra/CassandraStepdefs.java | 4 +-
.../james/rrt/cassandra/RewriteTablesTest.java | 17 +-
.../CassandraNotificationRegistryTest.java | 15 +
server/data/data-file/pom.xml | 15 +-
.../mailrepository/file/FileMailRepository.java | 5 +-
.../apache/james/rrt/file/RewriteTablesTest.java | 20 +-
.../org/apache/james/rrt/file/XMLStepdefs.java | 2 +-
server/data/data-jmap-cassandra/pom.xml | 5 +
.../upload/CassandraUploadUsageRepository.java | 5 +-
.../identity/CassandraCustomIdentityDAO.scala | 2 +-
.../james/jmap/cassandra/filtering/DTOTest.java | 28 +-
.../upload/CassandraUploadRepositoryTest.java | 9 +-
.../identity/PostgresCustomIdentityDAO.java | 4 +-
.../jmap/postgres/upload/PostgresUploadDAO.java | 23 +-
.../postgres/upload/PostgresUploadRepository.java | 3 +-
.../apache/james/jmap/api/change/EmailChange.java | 20 +
.../apache/james/jmap/api/change/JmapChange.java | 19 +
.../jmap/api/change/MailboxAndEmailChange.java | 193 +++--
.../james/jmap/api/change/MailboxChange.java | 38 +-
.../org/apache/james/jmap/api/model/Preview.java | 2 +
.../AvoidBinaryBodyBufferingBodyFactory.java | 273 +++++++
.../mime4j/AvoidBinaryBodyReadingBodyFactory.java | 270 +++++++
.../apache/james/jmap/mime4j/FakeBinaryBody.java | 42 +-
.../org/apache/james/jmap/mime4j/SizeUtils.java | 152 ++++
.../jmap/api/identity/CustomIdentityDAO.scala | 39 +-
.../memory/identity/MemoryCustomIdentityDAO.scala | 2 +-
.../jmap/api/upload/UploadRepositoryContract.scala | 27 +-
.../api/upload/UploadUsageRepositoryContract.scala | 24 +-
.../api/identity/CustomIdentityDAOContract.scala | 6 +-
.../jmap/api/identity/IdentityRepositoryTest.scala | 6 +-
server/data/data-jpa/pom.xml | 16 +-
.../mailrepository/jpa/JPAMailRepository.java | 7 +-
.../java/org/apache/james/rrt/jpa/JPAStepdefs.java | 5 +-
.../apache/james/rrt/jpa/RewriteTablesTest.java | 17 +-
.../user/ldap/LdapRepositoryConfiguration.java | 25 +-
.../apache/james/user/ldap/ReadOnlyLDAPUser.java | 6 +
.../james/user/ldap/ReadOnlyLDAPUsersDAO.java | 25 +-
server/data/data-library/pom.xml | 13 +-
.../rrt/lib/AbstractRecipientRewriteTable.java | 16 +-
.../org/apache/james/user/lib/model/Algorithm.java | 5 +-
.../rrt/lib/RecipientRewriteTableContract.java | 5 +
.../james/rrt/lib/RewriteTablesStepdefs.java | 83 +-
server/data/data-memory/pom.xml | 12 +-
.../apache/james/rrt/memory/InMemoryStepdefs.java | 2 +-
.../apache/james/rrt/memory/RewriteTablesTest.java | 17 +-
server/data/data-postgres/pom.xml | 7 +-
.../postgres/PostgresMailRepository.java | 3 +-
.../postgres/PostgresMailRepositoryContentDAO.java | 5 +-
.../sieve/postgres/PostgresSieveRepository.java | 2 +-
.../sieve/postgres/PostgresSieveScriptDAO.java | 4 +-
.../james/user/postgres/PostgresUserModule.java | 5 +-
.../james/user/postgres/PostgresUsersDAO.java | 17 +-
.../vacation/postgres/PostgresVacationModule.java | 4 +-
...tgresMailRepositoryBlobReferenceSourceTest.java | 2 +-
.../james/rrt/postgres/PostgresStepdefs.java | 4 +-
.../james/rrt/postgres/RewriteTablesTest.java | 17 +-
.../user/postgres/PostgresUsersRepositoryTest.java | 33 +-
server/dns-service/dnsservice-library/pom.xml | 4 +-
server/mailet/dkim/pom.xml | 16 +-
.../apache/james/jdkim/mailets/ConvertTo7Bit.java | 4 +-
.../org/apache/james/jdkim/mailets/DKIMSign.java | 7 +-
.../apache/james/jdkim/mailets/DKIMVerifier.java | 4 +-
.../org/apache/james/jdkim/mailets/DKIMVerify.java | 5 +-
.../james/jdkim/mailets/MimeMessageHeaders.java | 4 +-
.../apache/james/jdkim/mailets/DKIMSignTest.java | 12 +-
.../apache/james/jdkim/mailets/DKIMVerifyTest.java | 4 +-
server/mailet/integration-testing/pom.xml | 4 +
.../james/mailets/BounceIntegrationTest.java | 2 +-
...ectResolutionRemoteDeliveryIntegrationTest.java | 2 +-
.../org/apache/james/mailets/MailetErrorsTest.java | 8 +-
.../apache/james/mailets/flow/AddRecipient.java | 2 +-
.../james/mailets/flow/EnsureNotDisposed.java | 2 +-
.../org/apache/james/smtp/SmtpContentTypeTest.java | 2 +-
.../apache/james/smtp/SmtpRandomStoringTest.java | 2 +-
.../james/transport/mailets/AliasMappingTest.java | 2 +-
.../james/transport/mailets/DomainMappingTest.java | 2 +-
.../james/transport/mailets/ErrorMailet.java | 2 +-
.../james/transport/mailets/ErrorMatcher.java | 2 +-
.../transport/mailets/ExtractAttributeStub.java | 2 +-
.../mailets/GlobalRateLimitIntegrationTest.java | 2 +-
.../transport/mailets/GroupMappingRelayTest.java | 2 +-
.../james/transport/mailets/GroupMappingTest.java | 2 +-
.../mailets/ICSAttachmentWorkflowTest.java | 2 +-
.../mailets/NoClassDefFoundErrorMailet.java | 2 +-
.../mailets/NoClassDefFoundErrorMatcher.java | 2 +-
.../apache/james/transport/mailets/NoopMailet.java | 2 +-
.../transport/mailets/OneRuntimeErrorMailet.java | 2 +-
.../mailets/OneRuntimeExceptionMailet.java | 2 +-
.../mailets/PerSenderRateLimitIntegrationTest.java | 2 +-
.../mailets/RequeueThrottlingIntegrationTest.java | 2 +-
.../transport/mailets/RuntimeErrorMailet.java | 2 +-
.../transport/mailets/RuntimeExceptionMailet.java | 2 +-
.../transport/mailets/RuntimeExceptionMatcher.java | 2 +-
.../transport/mailets/StripAttachmentTest.java | 2 +-
server/mailet/mailetcontainer-api/pom.xml | 4 +-
.../james/mailetcontainer/api/MailProcessor.java | 6 +-
.../james/mailetcontainer/api/MailetLoader.java | 2 +-
.../james/mailetcontainer/api/MatcherLoader.java | 2 +-
.../api/mock/ExceptionThrowingMailet.java | 2 +-
.../api/mock/ExceptionThrowingMatcher.java | 2 +-
.../mailetcontainer/api/mock/MockMailetLoader.java | 2 +-
.../api/mock/MockMatcherLoader.java | 2 +-
server/mailet/mailetcontainer-impl/pom.xml | 8 +-
.../AutomaticallySentMailDetectorImpl.java | 2 +-
.../mailetcontainer/impl/JamesMailSpooler.java | 3 +-
.../mailetcontainer/impl/JamesMailetContext.java | 15 +-
.../mailetcontainer/impl/LocalResourcesImpl.java | 3 +-
.../mailetcontainer/impl/MailetProcessorImpl.java | 3 +-
.../mailetcontainer/impl/MatcherSplitter.java | 2 +-
.../james/mailetcontainer/impl/ProcessorUtil.java | 2 +-
.../jmx/JMXStateCompositeProcessorListener.java | 3 +-
.../james/mailetcontainer/impl/matchers/And.java | 2 +-
.../james/mailetcontainer/impl/matchers/Not.java | 2 +-
.../james/mailetcontainer/impl/matchers/Or.java | 2 +-
.../james/mailetcontainer/impl/matchers/Xor.java | 2 +-
.../lib/AbstractStateCompositeProcessor.java | 3 +-
.../lib/AbstractStateMailetProcessor.java | 3 +-
.../AutomaticallySentMailDetectorImplTest.java | 14 +-
.../impl/JamesMailetContextContract.java | 2 +-
.../lib/AbstractStateMailetProcessorTest.java | 2 +-
server/mailet/mailets/pom.xml | 8 +-
.../org/apache/james/transport/mailets/Bounce.java | 5 +-
.../apache/james/transport/mailets/DSNBounce.java | 11 +-
.../apache/james/transport/mailets/Forward.java | 7 +-
.../james/transport/mailets/FromRepository.java | 3 +-
.../james/transport/mailets/LocalDelivery.java | 3 +-
.../james/transport/mailets/MetricsMailet.java | 3 +-
.../james/transport/mailets/NotifyPostmaster.java | 5 +-
.../james/transport/mailets/NotifySender.java | 5 +-
.../james/transport/mailets/RandomStoring.java | 3 +-
.../transport/mailets/RecipientRewriteTable.java | 14 +-
.../mailets/RecipientRewriteTableProcessor.java | 43 +-
.../apache/james/transport/mailets/Redirect.java | 5 +-
.../james/transport/mailets/RemoteDelivery.java | 9 +-
.../apache/james/transport/mailets/Requeue.java | 3 +-
.../org/apache/james/transport/mailets/Resend.java | 5 +-
.../org/apache/james/transport/mailets/SPF.java | 7 +-
.../org/apache/james/transport/mailets/Sieve.java | 3 +-
.../james/transport/mailets/ToPlainText.java | 9 +-
.../james/transport/mailets/ToRepository.java | 5 +-
.../mailets/ToSenderDomainRepository.java | 3 +-
.../james/transport/mailets/ToSenderFolder.java | 5 +-
.../james/transport/mailets/VacationMailet.java | 5 +-
.../james/transport/mailets/VacationReply.java | 4 +-
.../james/transport/mailets/WhiteListManager.java | 23 +-
.../james/transport/mailets/WithPriority.java | 2 +-
.../transport/mailets/WithStorageDirective.java | 3 +-
.../transport/mailets/delivery/MailDispatcher.java | 5 +-
.../mailets/delivery/MailboxAppender.java | 4 +-
.../mailets/delivery/MailboxAppenderImpl.java | 8 +-
.../mailets/delivery/SimpleMailStore.java | 2 +-
.../transport/mailets/jsieve/ActionContext.java | 2 +-
.../transport/mailets/jsieve/ActionDispatcher.java | 2 +-
.../transport/mailets/jsieve/ActionUtils.java | 2 +-
.../transport/mailets/jsieve/DiscardAction.java | 2 +-
.../transport/mailets/jsieve/FileIntoAction.java | 2 +-
.../james/transport/mailets/jsieve/KeepAction.java | 2 +-
.../james/transport/mailets/jsieve/MailAction.java | 2 +-
.../james/transport/mailets/jsieve/Poster.java | 2 +-
.../transport/mailets/jsieve/RedirectAction.java | 2 +-
.../transport/mailets/jsieve/RejectAction.java | 10 +-
.../transport/mailets/jsieve/SieveMailAdapter.java | 8 +-
.../transport/mailets/jsieve/VacationAction.java | 4 +-
.../transport/mailets/jsieve/VacationReply.java | 16 +-
.../mailets/jsieve/delivery/SieveExecutor.java | 2 +-
.../delivery/SieveFailureMessageComposer.java | 8 +-
.../mailets/jsieve/delivery/SievePoster.java | 2 +-
.../mailets/managesieve/ManageSieveMailet.java | 3 +-
.../transcode/MessageToCoreToMessage.java | 10 +-
.../mailets/redirect/AddressExtractor.java | 6 +-
.../transport/mailets/redirect/MailModifier.java | 8 +-
.../mailets/redirect/MessageAlteringUtils.java | 20 +-
.../mailets/redirect/NotifyMailetsMessage.java | 6 +-
.../mailets/redirect/ProcessRedirectNotify.java | 4 +-
.../transport/mailets/redirect/RedirectNotify.java | 4 +-
.../AddressesArrayToMailAddressListConverter.java | 4 +-
.../transport/mailets/remote/delivery/Bouncer.java | 48 +-
.../transport/mailets/remote/delivery/Delay.java | 2 +-
.../mailets/remote/delivery/DelaysAndMaxRetry.java | 2 +-
.../mailets/remote/delivery/DeliveryRunnable.java | 4 +-
.../delivery/EnhancedMessagingException.java | 10 +-
.../remote/delivery/InternetAddressConverter.java | 2 +-
.../mailets/remote/delivery/MailDelivrer.java | 8 +-
.../remote/delivery/MailDelivrerToHost.java | 30 +-
.../mailets/remote/delivery/MessageComposer.java | 6 +-
.../transport/matchers/AbstractNetworkMatcher.java | 3 +-
.../matchers/AbstractPriorityMatcher.java | 2 +-
.../matchers/AbstractSQLWhitelistMatcher.java | 3 +-
.../transport/matchers/DSNDelayRequested.java | 2 +-
.../transport/matchers/DSNFailureRequested.java | 2 +-
.../transport/matchers/DSNSuccessRequested.java | 2 +-
.../transport/matchers/InSpammerBlacklist.java | 3 +-
.../james/transport/matchers/IsInWhiteList.java | 4 +-
.../james/transport/matchers/IsMarkedAsSpam.java | 2 +-
.../james/transport/matchers/IsOverQuota.java | 3 +-
.../transport/matchers/NetworkIsInWhitelist.java | 3 +-
.../matchers/RemoteDeliveryFailedWithSMTPCode.java | 2 +-
.../apache/james/transport/matchers/dlp/Dlp.java | 3 +-
.../transport/matchers/dlp/DlpDomainRules.java | 10 +-
.../james/transport/util/MailAddressUtils.java | 4 +-
.../transport/util/MimeMessageBodyGenerator.java | 15 +-
.../james/transport/util/RecipientsUtils.java | 2 +-
.../transport/util/SpecialAddressesUtils.java | 8 +-
.../org/apache/james/transport/util/TosUtils.java | 4 +-
.../samples/mailets/InstrumentationMailet.java | 18 +-
.../apache/james/transport/mailets/BounceTest.java | 2 +-
.../james/transport/mailets/DSNBounceTest.java | 10 +-
.../james/transport/mailets/ForwardTest.java | 2 +-
.../transport/mailets/NotifyPostmasterTest.java | 2 +-
.../james/transport/mailets/NotifySenderTest.java | 2 +-
.../RecipientRewriteTableProcessorTest.java | 4 +-
.../mailets/RecipientRewriteTableTest.java | 2 +-
.../james/transport/mailets/RedirectTest.java | 2 +-
.../james/transport/mailets/RequeueTest.java | 2 +-
.../apache/james/transport/mailets/ResendTest.java | 2 +-
.../apache/james/transport/mailets/SPFTest.java | 2 +-
.../james/transport/mailets/ToRepositoryTest.java | 2 +-
.../mailets/ToSenderDomainRepositoryTest.java | 2 +-
.../transport/mailets/VacationMailetTest.java | 2 +-
.../james/transport/mailets/VacationReplyTest.java | 4 +-
.../mailets/delivery/LocalDeliveryTest.java | 4 +-
.../mailets/delivery/MailDispatcherTest.java | 2 +-
.../mailets/delivery/MailboxAppenderImplTest.java | 6 +-
.../mailets/delivery/SieveIntegrationTest.java | 4 +-
.../mailets/delivery/SimpleMailStoreTest.java | 2 +-
.../managesieve/ManageSieveMailetTestCase.java | 12 +-
.../mailets/redirect/AddressExtractorTest.java | 2 +-
.../mailets/redirect/MailModifierTest.java | 2 +-
.../mailets/redirect/NotifyMailetsMessageTest.java | 4 +-
...dressesArrayToMailAddressListConverterTest.java | 4 +-
.../mailets/remote/delivery/BouncerTest.java | 19 +-
.../mailets/remote/delivery/DelayTest.java | 2 +-
.../remote/delivery/DelaysAndMaxRetryTest.java | 2 +-
.../delivery/InternetAddressConverterTest.java | 2 +-
.../mailets/remote/delivery/MailDelivrerTest.java | 10 +-
.../transport/matchers/AtLeastPriorityTest.java | 2 +-
.../transport/matchers/AtMostPriorityTest.java | 2 +-
.../james/transport/matchers/HasPriorityTest.java | 2 +-
.../transport/matchers/InSpammerBlacklistTest.java | 2 +-
.../IsRemoteDeliveryPermanentErrorTest.java | 2 +-
.../IsRemoteDeliveryTemporaryErrorTest.java | 2 +-
.../matchers/RemoteAddrInNetworkTest.java | 2 +-
.../matchers/RemoteAddrNotInNetworkTest.java | 2 +-
.../RemoteDeliveryFailedWithSMTPCodeTest.java | 2 +-
.../james/transport/util/MailAddressUtilsTest.java | 2 +-
.../util/MimeMessageBodyGeneratorTest.java | 2 +-
.../transport/util/SpecialAddressesUtilsTest.java | 4 +-
.../apache/james/transport/util/TosUtilsTest.java | 2 +-
server/mailet/mock-smtp-server/pom.xml | 8 +-
.../mock/smtp/server/ExtendedEhloCommand.java | 14 +-
.../mock/smtp/server/ExtendedMailFromCommand.java | 9 +-
.../mock/smtp/server/ExtendedRcptToCommand.java | 6 +-
.../james/mock/smtp/server/MockMessageHandler.java | 9 +-
.../james/mock/smtp/server/MockSMTPServer.java | 5 +-
.../server/jackson/MailAddressDeserializer.java | 2 +-
.../apache/james/mock/smtp/server/model/Mail.java | 2 +-
.../james/mock/smtp/server/MockSMTPServerTest.java | 38 +-
.../smtp/server/ReceivedMailRepositoryTest.java | 2 +-
.../org/apache/james/SubAddressingRelayTest.java | 25 +
.../mailets/RemoteDeliveryDKIMIntegrationTest.java | 4 +-
.../mailets/RemoteDeliveryErrorHandlingTest.java | 22 +-
.../james/mailets/RemoteDeliveryErrorTest.java | 2 +-
.../james/mailets/RemoteDeliveryOnSuccessTest.java | 2 +-
.../org/apache/james/smtp/dsn/DSNRelayTest.java | 2 +-
.../james/mailrepository/api/MailRepository.java | 2 +-
.../mailrepository/MailRepositoryContract.java | 2 +-
.../mailrepository/blob/BlobMailRepository.scala | 4 +-
.../blob/BlobMailRepositoryTest.java | 2 +-
.../mailrepository-cassandra/pom.xml | 5 +
.../cassandra/CassandraMailRepository.java | 5 +-
.../CassandraMailRepositoryMailDaoV2.java | 3 +-
.../memory/MemoryMailRepository.java | 4 +-
server/pom.xml | 1 +
server/protocols/fetchmail/pom.xml | 19 +-
.../java/org/apache/james/fetchmail/Account.java | 4 +-
.../org/apache/james/fetchmail/DynamicAccount.java | 2 +-
.../java/org/apache/james/fetchmail/FetchMail.java | 20 +-
.../apache/james/fetchmail/FolderProcessor.java | 8 +-
.../apache/james/fetchmail/MessageProcessor.java | 12 +-
.../james/fetchmail/ParsedConfiguration.java | 2 +-
.../apache/james/fetchmail/ProcessorAbstract.java | 4 +-
.../org/apache/james/fetchmail/StoreProcessor.java | 6 +-
.../org/apache/james/fetchmail/FetchMailTest.java | 82 ++
.../org/apache/james/jmap/MessageAppender.java | 2 +-
.../integration/GetMessageListMethodTest.java | 2 +-
.../methods/integration/SetMessagesMethodTest.java | 12 +-
.../integration/cucumber/DownloadStepdefs.java | 8 +-
.../cucumber/GetMailboxesMethodStepdefs.java | 8 +-
.../cucumber/GetMessageListMethodStepdefs.java | 19 +-
.../cucumber/GetMessagesMethodStepdefs.java | 85 +-
.../methods/integration/cucumber/ImapStepdefs.java | 8 +-
.../methods/integration/cucumber/MainStepdefs.java | 2 +-
.../integration/cucumber/MessageIdStepdefs.java | 2 +-
.../cucumber/SetMailboxesMethodStepdefs.java | 8 +-
.../cucumber/SetMessagesMethodStepdefs.java | 26 +-
.../integration/cucumber/StringListToFlags.java | 2 +-
.../cucumber/StringListToFlagsTest.java | 4 +-
.../integration/cucumber/UploadStepdefs.java | 9 +-
.../methods/integration/cucumber/UserStepdefs.java | 13 +-
.../resources/cucumber/DownloadEndpoint.feature | 2 +-
.../test/resources/cucumber/DownloadGet.feature | 2 +-
.../test/resources/cucumber/GetMessages.feature | 110 ++-
.../cucumber/ImapKeywordsConsistency.feature | 8 +-
.../cucumber/sharing/CopyAndSharing.feature | 2 +-
.../cucumber/sharing/DownloadAndSharing.feature | 2 +-
.../cucumber/sharing/GetMessageAndSharing.feature | 8 +-
.../KeywordsConsistencyOnDelegationMailbox.feature | 26 +-
.../sharing/MailboxCreationAndSharing.feature | 2 +-
.../cucumber/sharing/MoveMailboxAndSharing.feature | 2 +-
.../cucumber/sharing/MoveMessageAndSharing.feature | 2 +-
.../sharing/RenamingMailboxAndSharing.feature | 2 +-
.../cucumber/sharing/SetFlagAndSharing.feature | 2 +-
.../sharing/SetMessagesOnSharedMailbox.feature | 2 +-
...ringParentMailboxWithAndWithoutChildren.feature | 12 +-
.../memory-jmap-draft-integration-testing/pom.xml | 7 +-
...java => MemoryDownloadEnpointCucumberTest.java} | 21 +-
...est.java => MemoryDownloadGetCucumberTest.java} | 21 +-
...st.java => MemoryDownloadPostCucumberTest.java} | 21 +-
.../cucumber/MemoryGetMessagesMethodTest.java | 18 +-
.../MemoryIMAPKeywordsInconsistenciesTest.java | 18 +-
.../MemoryIMAPSetMessagesCompatibilityTest.java | 18 +-
.../MemorySetMailboxesMethodCucumberTest.java | 18 +-
.../MemorySetMessagesMethodCucumberTest.java | 18 +-
.../jmap/memory/cucumber/MemorySharingTest.java | 34 +-
.../james/jmap/memory/cucumber/MemoryStepdefs.java | 8 +-
.../memory/cucumber/MemoryUploadCucumberTest.java | 19 +-
.../pom.xml | 7 +-
.../cucumber/awss3/RabbitMQAwsS3Stepdefs.java | 121 ---
.../awss3/RabbitMQDownloadCucumberTest.java | 37 -
.../awss3/RabbitMQGetMessagesMethodTest.java | 37 -
.../RabbitMQIMAPKeywordsInconsistenciesTest.java | 36 -
.../RabbitMQIMAPSetMessagesCompatibilityTest.java | 36 -
.../cucumber/awss3/RabbitMQMailboxSharingTest.java | 44 --
.../cucumber/awss3/RabbitMQMessageSharingTest.java | 45 --
.../RabbitMQSetMailboxesMethodCucumberTest.java | 37 -
.../RabbitMQSetMessagesMethodCucumberTest.java | 37 -
.../cucumber/awss3/RabbitMQUploadCucumberTest.java | 37 -
.../james/jmap/draft/methods/BlobManagerImpl.java | 10 +-
.../jmap/draft/methods/GetMessageListMethod.java | 2 +-
.../james/jmap/draft/methods/MessageAppender.java | 5 +-
.../james/jmap/draft/methods/MessageSender.java | 3 +-
.../james/jmap/draft/methods/ReferenceUpdater.java | 3 +-
.../james/jmap/draft/methods/SendMDNProcessor.java | 5 +-
.../methods/SetMessagesCreationProcessor.java | 3 +-
.../methods/SetMessagesDestructionProcessor.java | 3 +-
.../draft/methods/SetMessagesUpdateProcessor.java | 30 +-
.../org/apache/james/jmap/draft/model/BlobId.java | 4 -
.../james/jmap/draft/model/CreationMessage.java | 4 +-
.../org/apache/james/jmap/draft/model/Emailer.java | 2 +-
.../org/apache/james/jmap/draft/model/Keyword.java | 2 +-
.../apache/james/jmap/draft/model/Keywords.java | 2 +-
.../apache/james/jmap/draft/model/OldKeyword.java | 2 +-
.../james/jmap/draft/model/UpdateMessagePatch.java | 2 +-
.../model/message/view/MessageFullViewFactory.java | 3 +-
.../jmap/draft/send/PostDequeueDecorator.java | 4 +-
.../james/jmap/draft/utils/FilterToCriteria.java | 2 +-
.../jmap/draft/utils/JsoupHtmlTextExtractor.java | 6 +-
.../ComputeMessageFastViewProjectionListener.java | 4 +-
.../jmap/event/PopulateEmailQueryViewListener.java | 2 +-
.../mailet/ExtractMDNOriginalJMAPMessageId.java | 5 +-
.../jmap/mailet/TextCalendarBodyToAttachment.java | 14 +-
.../james/jmap/mailet/filter/ActionApplier.java | 5 +-
.../james/jmap/mailet/filter/ContentMatcher.java | 4 +-
.../james/jmap/mailet/filter/HeaderExtractor.java | 4 +-
.../jmap/draft/json/ParsingWritingObjects.java | 2 +-
.../jmap/draft/methods/BlobManagerImplTest.java | 7 +-
.../jmap/draft/methods/GetMailboxesMethodTest.java | 2 +-
.../jmap/draft/methods/GetMessagesMethodTest.java | 4 +-
.../draft/methods/MIMEMessageConverterTest.java | 37 +-
.../jmap/draft/methods/MessageSenderTest.java | 2 +-
.../methods/SetMessagesUpdateProcessorTest.java | 2 +-
.../apache/james/jmap/draft/model/KeywordTest.java | 2 +-
.../james/jmap/draft/model/KeywordsTest.java | 4 +-
.../james/jmap/draft/model/OldKeywordTest.java | 4 +-
.../jmap/draft/model/UpdateMessagePatchTest.java | 2 +-
.../message/view/MessageFastViewFactoryTest.java | 5 +-
.../message/view/MessageFullViewFactoryTest.java | 10 +-
.../message/view/MessageHeaderViewFactoryTest.java | 6 +-
.../view/MessageMetadataViewFactoryTest.java | 6 +-
.../jmap/draft/send/PostDequeueDecoratorTest.java | 4 +-
.../jmap/draft/utils/FilterToCriteriaTest.java | 2 +-
...mputeMessageFastViewProjectionListenerTest.java | 4 +-
.../event/PopulateEmailQueryViewListenerTest.java | 4 +-
.../mailet/TextCalendarBodyToAttachmentTest.java | 8 +-
.../jmap/mailet/filter/JMAPFilteringExtension.java | 2 +-
.../jmap/mailet/filter/JMAPFilteringTest.java | 2 +-
.../pom.xml | 5 +
.../jmap/rfc8621/distributed/DistributedBase.java | 3 +-
.../src/main/resources/eml/nested2.eml | 77 ++
.../contract/EmailChangesMethodContract.scala | 4 +-
.../rfc8621/contract/EmailGetMethodContract.scala | 180 ++++-
.../rfc8621/contract/EmailImportContract.scala | 365 +++++++++
.../contract/EmailParseMethodContract.scala | 2 +-
.../contract/EmailQueryMethodContract.scala | 44 +-
.../rfc8621/contract/EmailSetMethodContract.scala | 483 +++++++++++-
.../EmailSubmissionSetMethodContract.scala | 202 +++++
.../rfc8621/contract/IdentityGetContract.scala | 66 +-
.../rfc8621/contract/IdentitySetContract.scala | 2 +-
.../contract/MailboxChangesMethodContract.scala | 2 +-
.../contract/MailboxGetMethodContract.scala | 2 +-
.../contract/MailboxSetMethodContract.scala | 14 +-
.../PushSubscriptionSetMethodContract.scala | 2 +-
.../james/jmap/rfc8621/contract/package.scala | 24 +-
.../postgres/PostgresEmailQueryMethodTest.java | 21 -
.../jmap/mime4j/JamesBodyDescriptorBuilder.java | 164 ++++
.../james/jmap/mime4j/MaximalBodyDescriptor.java | 318 ++++++++
.../james/jmap/change/MailboxChangeListener.scala | 11 +-
.../org/apache/james/jmap/core/Capabilities.scala | 2 +-
.../org/apache/james/jmap/core/Capability.scala | 11 +-
.../james/jmap/core/JmapRfc8621Configuration.scala | 20 +-
.../apache/james/jmap/core/ProblemDetails.scala | 9 +-
.../james/jmap/core/PushSubscriptionGet.scala | 6 +-
.../james/jmap/core/PushSubscriptionSet.scala | 6 +-
.../apache/james/jmap/delegation/DelegateGet.scala | 6 +-
.../apache/james/jmap/delegation/DelegateSet.scala | 6 +-
.../jmap/delegation/DelegatedAccountGet.scala | 6 +-
.../jmap/delegation/DelegatedAccountSet.scala | 6 +-
.../james/jmap/json/EmailGetSerializer.scala | 3 +
.../james/jmap/json/EmailSetSerializer.scala | 18 +-
.../james/jmap/json/IdentitySerializer.scala | 17 +-
.../scala/org/apache/james/jmap/mail/Email.scala | 44 +-
.../org/apache/james/jmap/mail/EmailBodyPart.scala | 23 +-
.../org/apache/james/jmap/mail/EmailGet.scala | 27 +-
.../org/apache/james/jmap/mail/EmailImport.scala | 28 +-
.../org/apache/james/jmap/mail/EmailParse.scala | 14 +-
.../org/apache/james/jmap/mail/EmailSet.scala | 121 ++-
.../james/jmap/mail/EmailSubmissionSet.scala | 57 +-
.../org/apache/james/jmap/mail/IdentityGet.scala | 6 +-
.../org/apache/james/jmap/mail/IdentitySet.scala | 6 +-
.../scala/org/apache/james/jmap/mail/Keyword.scala | 2 +-
.../org/apache/james/jmap/mail/Keywords.scala | 6 +-
.../org/apache/james/jmap/mail/MDNParse.scala | 10 +-
.../scala/org/apache/james/jmap/mail/MDNSend.scala | 12 +-
.../scala/org/apache/james/jmap/mail/Mailbox.scala | 8 +
.../apache/james/jmap/mail/MailboxFactory.scala | 5 +-
.../org/apache/james/jmap/mail/MailboxGet.scala | 6 +-
.../org/apache/james/jmap/mail/MailboxSet.scala | 6 +-
.../scala/org/apache/james/jmap/mail/Quotas.scala | 6 +-
.../scala/org/apache/james/jmap/mail/Thread.scala | 6 +-
.../james/jmap/method/DelegateGetMethod.scala | 4 +-
.../jmap/method/DelegateSetCreatePerformer.scala | 18 +-
.../jmap/method/DelegateSetDeletePerformer.scala | 12 +-
.../james/jmap/method/DelegateSetMethod.scala | 4 +-
.../method/DelegatedAccountDeletePerformer.scala | 10 +-
.../jmap/method/DelegatedAccountGetMethod.scala | 4 +-
.../jmap/method/DelegatedAccountSetMethod.scala | 4 +-
.../apache/james/jmap/method/EmailGetMethod.scala | 46 +-
.../james/jmap/method/EmailImportMethod.scala | 53 +-
.../james/jmap/method/EmailParseMethod.scala | 7 +-
.../james/jmap/method/EmailQueryMethod.scala | 2 +-
.../jmap/method/EmailSetCreatePerformer.scala | 38 +-
.../jmap/method/EmailSetDeletePerformer.scala | 16 +-
.../apache/james/jmap/method/EmailSetMethod.scala | 10 +-
.../jmap/method/EmailSetUpdatePerformer.scala | 25 +-
.../jmap/method/EmailSubmissionSetMethod.scala | 106 ++-
.../james/jmap/method/IdentityGetMethod.scala | 4 +-
.../jmap/method/IdentitySetCreatePerformer.scala | 18 +-
.../jmap/method/IdentitySetDeletePerformer.scala | 16 +-
.../james/jmap/method/IdentitySetMethod.scala | 5 +-
.../jmap/method/IdentitySetUpdatePerformer.scala | 22 +-
.../apache/james/jmap/method/MDNParseMethod.scala | 8 +-
.../apache/james/jmap/method/MDNSendMethod.scala | 21 +-
.../james/jmap/method/MailboxGetMethod.scala | 6 +-
.../jmap/method/MailboxSetCreatePerformer.scala | 26 +-
.../jmap/method/MailboxSetDeletePerformer.scala | 28 +-
.../james/jmap/method/MailboxSetMethod.scala | 8 +-
.../jmap/method/MailboxSetUpdatePerformer.scala | 54 +-
.../org/apache/james/jmap/method/Method.scala | 47 +-
.../jmap/method/PushSubscriptionGetMethod.scala | 6 +-
.../PushSubscriptionSetCreatePerformer.scala | 22 +-
.../PushSubscriptionSetDeletePerformer.scala | 10 +-
.../jmap/method/PushSubscriptionSetMethod.scala | 4 +-
.../method/PushSubscriptionUpdatePerformer.scala | 34 +-
.../apache/james/jmap/method/QuotaGetMethod.scala | 4 +-
.../apache/james/jmap/method/ThreadGetMethod.scala | 6 +-
.../jmap/method/VacationResponseGetMethod.scala | 6 +-
.../jmap/method/VacationResponseSetMethod.scala | 16 +-
.../apache/james/jmap/routes/DownloadRoutes.scala | 16 +-
.../james/jmap/vacation/VacationResponseGet.scala | 6 +-
.../james/jmap/vacation/VacationResponseSet.scala | 7 +-
.../jmap/change/MailboxChangeListenerTest.scala | 560 +++++++++++--
.../change/StateChangeEventSerializerTest.scala | 5 +
.../org/apache/james/jmap/core/KeywordTest.scala | 2 +-
.../org/apache/james/jmap/core/KeywordsTest.scala | 4 +-
.../james/jmap/json/EmailSetSerializerTest.scala | 87 ++
server/protocols/jwt/pom.xml | 8 +-
.../imapserver/netty/HAProxyMessageHandler.java | 23 +-
.../james/imapserver/netty/IMAPMDCContext.java | 2 +-
.../apache/james/imapserver/netty/IMAPServer.java | 14 +-
.../james/imapserver/netty/IMAPServerFactory.java | 15 +-
.../netty/ImapChannelUpstreamHandler.java | 872 +++++++++++----------
.../imapserver/netty/ImapIdleStateHandler.java | 2 +-
.../imapserver/netty/ImapRequestFrameDecoder.java | 117 ++-
.../james/imapserver/netty/Linearalizer.java | 71 --
.../james/imapserver/netty/NettyConstants.java | 3 +-
.../james/imapserver/netty/NettyImapSession.java | 37 +-
.../netty/NettyStreamImapRequestLineReader.java | 18 +-
.../james/imapserver/netty/ReactiveThrottler.java | 46 +-
.../META-INF/spring/imapserver-context.xml | 2 +
.../james/imapserver/netty/IMAPServerTest.java | 143 +++-
.../james/imapserver/netty/IpConnectionCheck.java | 35 +-
.../james/imapserver/netty/LinearalizerTest.java | 71 --
.../imapserver/netty/ReactiveThrottlerTest.java | 67 ++
.../test/resources/imapServerImapConnectCheck.xml | 16 +
server/protocols/protocols-library/pom.xml | 4 +-
.../protocols/lib/LegacyJavaEncryptionFactory.java | 4 +-
.../james/lmtpserver/DataLineLMTPHandler.java | 2 +-
.../apache/james/lmtpserver/LmtpServerTest.java | 24 +-
.../MetaDataFixInconsistenciesServiceTest.java | 2 +-
.../james/pop3server/core/PassCmdHandler.java | 2 +-
.../apache/james/pop3server/POP3ServerTest.java | 2 +-
server/protocols/protocols-smtp/pom.xml | 8 +-
.../AddDefaultAttributesMessageHook.java | 5 +
.../DataLineJamesMessageHookHandler.java | 2 +-
.../apache/james/smtpserver/SendMailHandler.java | 3 +-
.../james/smtpserver/SetMimeHeaderHandler.java | 5 +-
.../james/smtpserver/fastfail/SPFHandler.java | 16 +-
.../james/smtpserver/fastfail/URIRBLHandler.java | 11 +-
.../model/ProtocolMailAddressAdapter.java | 2 +-
.../james/smtpserver/SMTPProxyProtocolTest.java | 87 ++
.../org/apache/james/smtpserver/SMTPSTest.java | 117 +++
.../apache/james/smtpserver/SMTPServerTest.java | 129 ++-
.../james/smtpserver/SMTPTestConfiguration.java | 1 +
.../james/smtpserver/SetMimeHeaderHandlerTest.java | 4 +-
.../apache/james/smtpserver/URIRBLHandlerTest.java | 6 +-
.../james/smtpserver/ValidRcptHandlerTest.java | 8 +
.../src/test/resources/smtpserver-proxy.xml | 40 +-
.../src/test/resources/smtpserver-tls.xml | 50 ++
...abbitMQWebAdminServerBlobGCIntegrationTest.java | 4 +-
...dminServerTaskSerializationIntegrationTest.java | 2 +-
...sPopulateEmailQueryViewTaskIntegrationTest.java | 155 ++++
...ostgresWebAdminServerBlobGCIntegrationTest.java | 4 +-
...sandraMappingsSolveInconsistenciesTaskTest.java | 15 +-
.../webadmin/routes/DeleteUserDataRoutes.java | 2 +-
.../james/webadmin/routes/MailAddressParser.java | 2 +-
.../webadmin/routes/UsernameChangeRoutes.java | 3 +-
.../webadmin/routes/DeleteUserDataRoutesTest.java | 11 +
.../webadmin/routes/UsernameChangeRoutesTest.java | 39 +
.../webadmin/webadmin-http-client/pom.xml | 5 -
.../data/jmap/EmailQueryViewPopulator.java | 2 +-
.../webadmin/data/jmap/UserIdentityRoutes.java | 3 +-
.../james/webadmin/data/jmap/dto/UserIdentity.java | 2 +-
.../PopulateEmailQueryViewRequestToTaskTest.java | 4 +-
...ctionItemsTaskAdditionalInformationDTOTest.java | 5 +-
...stViewProjectionItemsTaskSerializationTest.java | 4 +-
...ctionItemsTaskAdditionalInformationDTOTest.java | 4 +-
...stViewProjectionItemsTaskSerializationTest.java | 4 +-
.../james/webadmin/routes/TransferEmailRoutes.java | 5 +-
...gesVaultExportTaskAdditionalInformationDTO.java | 2 +-
.../routes/DeletedMessagesVaultExportTaskDTO.java | 3 +-
.../vault/routes/DeletedMessagesVaultRoutes.java | 3 +-
...edMessagesVaultExportTaskSerializationTest.java | 2 +-
.../james/webadmin/routes/MailboxesRoutesTest.java | 2 +-
.../webadmin/routes/UserMailboxesRoutesTest.java | 12 +-
.../james/webadmin/service/ExportServiceTest.java | 2 +-
.../service/DeleteMailsFromMailQueueTaskTest.java | 2 +-
.../org/apache/james/webadmin/dto/MailDto.java | 6 +-
.../webadmin/routes/MailRepositoriesRoutes.java | 5 +-
.../service/MailRepositoryStoreService.java | 5 +-
.../webadmin/service/ReprocessingOneMailTask.java | 2 +-
.../webadmin/service/ReprocessingService.java | 3 +-
.../routes/MailRepositoriesRoutesTest.java | 2 +-
.../service/MailRepositoryStoreServiceTest.java | 2 +-
.../service/ReprocessingAllMailsTaskTest.java | 16 +-
.../service/ReprocessingOneMailTaskTest.java | 8 +-
.../Pop3MetaDataFixInconsistenciesRoutesTest.java | 2 +-
server/queue/queue-activemq/pom.xml | 8 +-
.../queue/activemq/ActiveMQCacheableMailQueue.java | 5 +-
server/queue/queue-api/pom.xml | 8 +-
.../java/org/apache/james/queue/api/MailQueue.java | 2 +-
.../apache/james/queue/api/MailQueueContract.java | 2 +-
.../james/queue/api/MailQueueMetricContract.java | 2 +-
.../java/org/apache/james/queue/api/Mails.java | 4 +-
.../queue/api/ManageableMailQueueContract.java | 6 +-
.../api/ManageableMailQueueFactoryContract.java | 2 +-
server/queue/queue-jms/pom.xml | 8 +-
.../james/queue/jms/JMSCacheableMailQueue.java | 7 +-
.../queue/jms/MimeMessageObjectMessageSource.java | 3 +-
.../james/queue/memory/MemoryMailQueueFactory.java | 5 +-
.../james/queue/pulsar/PulsarMailQueue.scala | 14 +-
.../queue/pulsar/PulsarMailQueueFactory.scala | 2 +-
.../queue/pulsar/PulsarMailQueueFactoryTest.java | 2 +-
.../james/queue/pulsar/PulsarMailQueueTest.java | 4 +-
server/queue/queue-rabbitmq/pom.xml | 5 +
.../org/apache/james/queue/rabbitmq/Enqueuer.java | 6 +-
.../apache/james/queue/rabbitmq/MailLoader.java | 6 +-
.../RabbitMQMailQueueConsumerHealthCheck.java | 23 +-
.../queue/rabbitmq/RabbitMQMailQueueFactory.java | 3 +-
.../view/cassandra/CassandraMailQueueBrowser.java | 5 +-
.../view/cassandra/CassandraMailQueueView.java | 3 +-
.../view/cassandra/EnqueuedMailsDaoUtil.java | 2 +-
.../james/queue/rabbitmq/EnqueuedItemTest.java | 2 +-
.../apache/james/queue/rabbitmq/MailDTOTest.java | 2 +-
.../james/queue/rabbitmq/MailLoaderTest.java | 2 +-
.../model/EnqueuedItemWithSlicingContextTest.java | 2 +-
.../appended-resources/supplemental-models.xml | 4 +-
server/task/task-distributed/pom.xml | 5 +
.../TaskExecutionDetailsProjectionContract.java | 36 +-
.../{task-distributed => task-postgres}/pom.xml | 57 +-
.../PostgresTaskExecutionDetailsProjection.scala | 54 ++
...PostgresTaskExecutionDetailsProjectionDAO.scala | 112 +++
...tgresTaskExecutionDetailsProjectionModule.scala | 72 ++
...tgresTaskExecutionDetailsProjectionDAOTest.java | 202 +++++
...PostgresTaskExecutionDetailsProjectionTest.java | 52 ++
server/testing/pom.xml | 10 +-
.../org/apache/james/utils/SMTPMessageSender.java | 4 +-
.../apache/james/utils/SMTPMessageSenderTest.java | 4 +-
.../_posts/2024-01-08-mime4j-0.8.10.markdown | 20 +
.../_posts/2024-01-09-james-3.7.5.markdown | 29 +
.../_posts/2024-01-09-james-3.8.1.markdown | 29 +
.../_posts/2024-03-05-mime4j-0.8.11.markdown | 20 +
src/homepage/howTo/deleted-messages-vault.html | 2 +-
src/homepage/index.html | 6 +-
src/site/markdown/mailet/quickstart.md | 2 +-
src/site/markdown/server/install/guice-jpa-smtp.md | 14 +-
src/site/markdown/server/install/guice-jpa.md | 8 +-
src/site/markdown/server/manage-webadmin.md | 2 +-
src/site/xdoc/download.xml | 164 ++--
src/site/xdoc/protocols/imap4.xml | 2 +-
src/site/xdoc/server/config-blobstore.xml | 10 +
src/site/xdoc/server/config-jmap.xml | 9 +
src/site/xdoc/server/config-listeners.xml | 2 +-
src/site/xdoc/server/config-opensearch.xml | 2 +
src/site/xdoc/server/config-rabbitmq.xml | 18 +
src/site/xdoc/server/config.xml | 3 +-
src/site/xdoc/server/dev-extend-mailet.xml | 2 +-
src/site/xdoc/server/feature-security.xml | 32 +
src/site/xdoc/server/index.xml | 10 +-
src/site/xdoc/server/install.xml | 8 +-
src/site/xdoc/server/objectives.xml | 2 +-
src/site/xdoc/server/packaging.xml | 16 +-
src/site/xdoc/server/quick-start.xml | 8 +-
src/site/xdoc/server/release-notes.xml | 8 +
testing/base/src/main/resources/logback-test.xml | 5 +
.../java/org/apache/james/clamav/ClamAVScan.java | 29 +-
.../org/apache/james/clamav/ClamAVScanTest.java | 4 +-
third-party/crowdsec/README.md | 44 +-
third-party/crowdsec/docker-compose.yml | 6 +-
third-party/crowdsec/pom.xml | 32 +
.../sample-configuration/extensions.properties | 2 +-
.../imapserver.xml | 37 +-
.../sample-configuration/parsers/james-auth.yaml | 12 +-
.../crowdsec/sample-configuration/pop3server.xml | 44 ++
.../scenarios/james-bf-auth.yaml | 2 +-
.../crowdsec/sample-configuration/smtpserver.xml | 6 +-
.../james/{ => crowdsec}/CrowdsecEhloHook.java | 38 +-
.../crowdsec/CrowdsecImapConnectionCheck.java | 35 +-
.../james/crowdsec/CrowdsecPOP3CheckHandler.java | 60 ++
.../james/crowdsec/CrowdsecSMTPConnectHandler.java | 88 +++
.../CrowdsecService.java} | 42 +-
.../org/apache/james/crowdsec/CrowdsecUtils.java | 31 +-
.../client}/CrowdsecClientConfiguration.java | 30 +-
.../client}/CrowdsecHttpClient.java | 19 +-
.../crowdsec/exception/CrowdsecException.java | 11 +-
.../{ => crowdsec}/model/CrowdsecDecision.java | 2 +-
.../model/CrowdsecDecisionDeserializer.java | 2 +-
.../{ => crowdsec}/module/CrowdsecModule.java | 6 +-
.../CrowdsecDecisionDeserializerTest.java | 4 +-
.../james/{ => crowdsec}/CrowdsecEhloHookTest.java | 15 +-
.../james/{ => crowdsec}/CrowdsecExtension.java | 13 +-
.../{ => crowdsec}/CrowdsecHttpClientTest.java | 31 +-
.../crowdsec/CrowdsecImapConnectionCheckTest.java | 91 +++
.../{ => crowdsec}/CrowdsecIntegrationTest.java | 187 ++++-
.../crowdsec/CrowdsecSMTPConnectHandlerTest.java | 46 ++
.../CrowdsecServiceTest.java} | 54 +-
.../DockerCrowdsecExtensionTest.java | 2 +-
.../james/{ => crowdsec}/HAProxyExtension.java | 14 +-
.../resources/crowdsec/parsers/james-auth.yaml | 12 +-
.../crowdsec/scenarios/james-bf-auth.yaml | 2 +-
.../crowdsec/src/test/resources/haproxy.cfg | 21 +
.../crowdsec/src/test/resources/imapserver.xml | 4 +
.../crowdsec/src/test/resources/pop3server.xml | 44 ++
.../crowdsec/src/test/resources/smtpserver.xml | 4 +-
.../org/apache/james/rspamd/RspamdScanner.java | 45 +-
.../james/rspamd/client/RspamdHttpClient.java | 20 +-
.../apache/james/rspamd/RspamdListenerTest.java | 2 +-
.../org/apache/james/rspamd/RspamdScannerTest.java | 4 +-
.../james/rspamd/client/RspamdHttpClientTest.java | 12 +-
.../james/rspamd/route/FeedMessageRouteTest.java | 2 +-
.../james/rspamd/task/FeedHamToRspamdTaskTest.java | 2 +-
.../rspamd/task/FeedSpamToRspamdTaskTest.java | 2 +-
third-party/spamassassin/pom.xml | 8 +-
.../apache/james/spamassassin/SpamAssassin.java | 22 +-
.../james/spamassassin/SpamAssassinHandler.java | 5 +-
.../james/spamassassin/SpamAssassinInvoker.java | 4 +-
.../james/spamassassin/SpamAssassinResult.java | 4 +
.../spamassassin/SpamAssassinHandlerTest.java | 6 +-
.../spamassassin/SpamAssassinIntegrationTest.java | 2 +-
.../spamassassin/SpamAssassinInvokerTest.java | 2 +-
.../spamassassin/SpamAssassinListenerTest.java | 2 +-
upgrade-instructions.md | 8 +
1457 files changed, 15283 insertions(+), 8232 deletions(-)
create mode 100644 .mvn/extensions.xml
create mode 100644 .mvn/gradle-enterprise-custom-user-data.groovy
create mode 100644 .mvn/gradle-enterprise.xml
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/JsonpDeserializerBase.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/JsonpMapperBase.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/JsonpUtils.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/UnexpectedJsonEventException.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/jackson/JacksonJsonProvider.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/jackson/JacksonJsonpGenerator.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/jackson/JacksonJsonpLocation.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/jackson/JacksonJsonpMapper.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/jackson/JacksonJsonpParser.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/jackson/JsonValueParser.java
delete mode 100644 backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/package-info.java
copy server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java => mailbox/api/src/main/java/org/apache/james/mailbox/AttachmentIdFactory.java (84%)
copy server/container/core/src/test/java/org/apache/james/server/core/MimeMessageFromMimeMessageTest.java => mailbox/api/src/main/java/org/apache/james/mailbox/StringBackedAttachmentIdFactory.java (75%)
copy server/container/core/src/test/java/org/apache/james/server/core/MimeMessageFromMimeMessageTest.java => mailbox/api/src/main/java/org/apache/james/mailbox/UuidBackedAttachmentIdFactory.java (75%)
copy mailbox/api/src/main/java/org/apache/james/mailbox/model/{AttachmentId.java => StringBackedAttachmentId.java} (81%)
copy mailbox/api/src/main/java/org/apache/james/mailbox/model/{AttachmentId.java => UuidBackedAttachmentId.java} (69%)
rename mailbox/api/src/test/java/org/apache/james/mailbox/model/{AttachmentIdTest.java => StringBackedAttachmentIdTest.java} (77%)
rename mailbox/{cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/eventsourcing/acl => event/json/src/main/java/org/apache/james/event}/MailboxAggregateId.java (77%)
rename mailbox/{cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/eventsourcing => event/json/src/main/java/org/apache/james/event}/acl/ACLDTO.java (97%)
rename mailbox/{cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/eventsourcing => event/json/src/main/java/org/apache/james/event}/acl/ACLDiffDTO.java (97%)
rename mailbox/{cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/eventsourcing => event/json/src/main/java/org/apache/james/event}/acl/ACLUpdated.java (93%)
rename mailbox/{cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/eventsourcing => event/json/src/main/java/org/apache/james/event}/acl/ACLUpdatedDTO.java (81%)
rename server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberRabbitMQSingleton.java => mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/IndexBody.java (84%)
create mode 100644 mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/OpenSearchNoIndexBodyIntegrationTest.java
create mode 100644 mailbox/opensearch/src/test/resources/eml/alternative.eml
create mode 100644 mailbox/opensearch/src/test/resources/eml/alternative.json
create mode 100644 mailbox/opensearch/src/test/resources/eml/alternative_simple.eml
create mode 100644 mailbox/opensearch/src/test/resources/eml/alternative_simple.json
rename mailbox/plugin/{quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto => quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/events}/HistoryEvolutionDTO.java (66%)
rename mailbox/plugin/{quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto => quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/events}/QuotaDTO.java (82%)
rename mailbox/plugin/{quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto => quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/events}/QuotaEventDTOModules.java (92%)
rename mailbox/plugin/{quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto => quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/events}/QuotaThresholdChangedEventDTO.java (57%)
delete mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/AttachmentLoader.java
create mode 100644 mailbox/postgres/src/main/java/org/apache/james/mailbox/postgres/mail/PostgresMessageRetriever.java
copy mailbox/{cassandra/src/main/java/org/apache/james/mailbox/cassandra => postgres/src/main/java/org/apache/james/mailbox/postgres}/mail/eventsourcing/acl/ACLModule.java (79%)
create mode 100644 mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/FileBufferedBodyFactory.java
create mode 100644 mailet/standard/src/test/java/org/apache/james/transport/matchers/AttachmentFileNameIsTest.java
create mode 100644 mailet/standard/src/test/resources/mime/space.eml
create mode 100644 mailet/standard/src/test/resources/nested.zip
create mode 100644 mailet/standard/src/test/resources/sonde.zip
rename server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java => protocols/imap/src/main/java/org/apache/james/imap/api/ConnectionCheck.java (84%)
rename server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberAwsS3Singleton.java => protocols/imap/src/main/java/org/apache/james/imap/api/ConnectionCheckFactory.java (78%)
copy server/container/guice/testing/custom-mailets/src/main/java/org/apache/james/transport/mailets/CustomMailet.java => protocols/imap/src/main/java/org/apache/james/imap/api/DefaultConnectionCheckFactory.java (73%)
copy server/container/guice/{cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java => distributed/src/main/java/org/apache/james/modules/plugins/QuotaMailingModule.java} (87%)
create mode 100644 server/container/guice/postgres-common/src/main/java/org/apache/james/modules/task/DistributedTaskManagerModule.java
copy server/container/guice/{cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java => postgres-common/src/main/java/org/apache/james/modules/task/PostgresTaskExecutionDetailsProjectionGuiceModule.java} (61%)
copy mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java => server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ConnectionCheckFactoryImpl.java (55%)
create mode 100644 server/data/data-jmap/src/main/java/org/apache/james/jmap/mime4j/AvoidBinaryBodyBufferingBodyFactory.java
create mode 100644 server/data/data-jmap/src/main/java/org/apache/james/jmap/mime4j/AvoidBinaryBodyReadingBodyFactory.java
copy mailet/mailetdocs-maven-plugin/src/test/java/org/apache/james/mailet/constructor/ConstructorMailet.java => server/data/data-jmap/src/main/java/org/apache/james/jmap/mime4j/FakeBinaryBody.java (61%)
create mode 100644 server/data/data-jmap/src/main/java/org/apache/james/jmap/mime4j/SizeUtils.java
create mode 100644 server/protocols/fetchmail/src/test/java/org/apache/james/fetchmail/FetchMailTest.java
copy server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/{MemoryDownloadCucumberTest.java => MemoryDownloadEnpointCucumberTest.java} (62%)
copy server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/{MemoryDownloadCucumberTest.java => MemoryDownloadGetCucumberTest.java} (62%)
rename server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/{MemoryDownloadCucumberTest.java => MemoryDownloadPostCucumberTest.java} (62%)
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQGetMessagesMethodTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMailboxSharingTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMessageSharingTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMailboxesMethodCucumberTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMessagesMethodCucumberTest.java
delete mode 100644 server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQUploadCucumberTest.java
create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/resources/eml/nested2.eml
create mode 100644 server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/mime4j/JamesBodyDescriptorBuilder.java
create mode 100644 server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/mime4j/MaximalBodyDescriptor.java
create mode 100644 server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/EmailSetSerializerTest.scala
delete mode 100644 server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/Linearalizer.java
rename backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/json/jackson/JacksonUtils.java => server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IpConnectionCheck.java (59%)
delete mode 100644 server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/LinearalizerTest.java
create mode 100644 server/protocols/protocols-imap4/src/test/resources/imapServerImapConnectCheck.xml
create mode 100644 server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPProxyProtocolTest.java
create mode 100644 server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPSTest.java
copy third-party/crowdsec/src/test/resources/smtpserver.xml => server/protocols/protocols-smtp/src/test/resources/smtpserver-proxy.xml (53%)
create mode 100644 server/protocols/protocols-smtp/src/test/resources/smtpserver-tls.xml
create mode 100644 server/protocols/webadmin-integration-test/postgres-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/postgres/PostgresPopulateEmailQueryViewTaskIntegrationTest.java
copy server/task/{task-distributed => task-postgres}/pom.xml (71%)
create mode 100644 server/task/task-postgres/src/main/scala/org/apache/james/task/eventsourcing/postgres/PostgresTaskExecutionDetailsProjection.scala
create mode 100644 server/task/task-postgres/src/main/scala/org/apache/james/task/eventsourcing/postgres/PostgresTaskExecutionDetailsProjectionDAO.scala
create mode 100644 server/task/task-postgres/src/main/scala/org/apache/james/task/eventsourcing/postgres/PostgresTaskExecutionDetailsProjectionModule.scala
create mode 100644 server/task/task-postgres/src/test/java/org/apache/james/task/eventsourcing/postgres/PostgresTaskExecutionDetailsProjectionDAOTest.java
create mode 100644 server/task/task-postgres/src/test/java/org/apache/james/task/eventsourcing/postgres/PostgresTaskExecutionDetailsProjectionTest.java
create mode 100644 src/homepage/_posts/2024-01-08-mime4j-0.8.10.markdown
create mode 100644 src/homepage/_posts/2024-01-09-james-3.7.5.markdown
create mode 100644 src/homepage/_posts/2024-01-09-james-3.8.1.markdown
create mode 100644 src/homepage/_posts/2024-03-05-mime4j-0.8.11.markdown
copy third-party/crowdsec/{src/test/resources => sample-configuration}/imapserver.xml (51%)
create mode 100644 third-party/crowdsec/sample-configuration/pop3server.xml
copy third-party/crowdsec/src/main/java/org/apache/james/{ => crowdsec}/CrowdsecEhloHook.java (58%)
copy server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/Pop3GuiceProbe.java => third-party/crowdsec/src/main/java/org/apache/james/crowdsec/CrowdsecImapConnectionCheck.java (53%)
create mode 100644 third-party/crowdsec/src/main/java/org/apache/james/crowdsec/CrowdsecPOP3CheckHandler.java
create mode 100644 third-party/crowdsec/src/main/java/org/apache/james/crowdsec/CrowdsecSMTPConnectHandler.java
rename third-party/crowdsec/src/main/java/org/apache/james/{CrowdsecEhloHook.java => crowdsec/CrowdsecService.java} (61%)
copy mailet/standard/src/main/java/org/apache/james/transport/mailets/utils/MimeMessageModifier.java => third-party/crowdsec/src/main/java/org/apache/james/crowdsec/CrowdsecUtils.java (64%)
rename third-party/crowdsec/src/main/java/org/apache/james/{model => crowdsec/client}/CrowdsecClientConfiguration.java (71%)
rename third-party/crowdsec/src/main/java/org/apache/james/{model => crowdsec/client}/CrowdsecHttpClient.java (85%)
rename server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberOpenSearchSingleton.java => third-party/crowdsec/src/main/java/org/apache/james/crowdsec/exception/CrowdsecException.java (84%)
rename third-party/crowdsec/src/main/java/org/apache/james/{ => crowdsec}/model/CrowdsecDecision.java (99%)
rename third-party/crowdsec/src/main/java/org/apache/james/{ => crowdsec}/model/CrowdsecDecisionDeserializer.java (98%)
rename third-party/crowdsec/src/main/java/org/apache/james/{ => crowdsec}/module/CrowdsecModule.java (92%)
rename third-party/crowdsec/src/test/java/org/apache/james/{ => crowdsec}/CrowdsecDecisionDeserializerTest.java (96%)
copy third-party/crowdsec/src/test/java/org/apache/james/{ => crowdsec}/CrowdsecEhloHookTest.java (85%)
rename third-party/crowdsec/src/test/java/org/apache/james/{ => crowdsec}/CrowdsecExtension.java (91%)
rename third-party/crowdsec/src/test/java/org/apache/james/{ => crowdsec}/CrowdsecHttpClientTest.java (81%)
create mode 100644 third-party/crowdsec/src/test/java/org/apache/james/crowdsec/CrowdsecImapConnectionCheckTest.java
rename third-party/crowdsec/src/test/java/org/apache/james/{ => crowdsec}/CrowdsecIntegrationTest.java (51%)
create mode 100644 third-party/crowdsec/src/test/java/org/apache/james/crowdsec/CrowdsecSMTPConnectHandlerTest.java
rename third-party/crowdsec/src/test/java/org/apache/james/{CrowdsecEhloHookTest.java => crowdsec/CrowdsecServiceTest.java} (62%)
rename third-party/crowdsec/src/test/java/org/apache/james/{ => crowdsec}/DockerCrowdsecExtensionTest.java (99%)
rename third-party/crowdsec/src/test/java/org/apache/james/{ => crowdsec}/HAProxyExtension.java (86%)
create mode 100644 third-party/crowdsec/src/test/resources/haproxy.cfg
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org