Seven years after the formation of version 2.3.0, a new branch of the multi-platform IMAP server Dovecot 2.4.0 is presented, supporting the POP3 and IMAP4rev1 protocols with popular extensions such as SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA and IDLE, and authentication and encryption mechanisms (SASL, TLS, SCRAM, XOAUTH2). Dovecot maintains full compatibility with classic mbox and Maildir, using external indexes to improve performance. To expand the functionality, plugins can be used, through which such features as quotas, ACL, Push notifications, full-text search and virtual mailboxes are implemented. The project code is distributed under the LGPL and MIT licenses.
Major changes:
- Changes have been made that break backward compatibility with the configuration used for the 2.3.x branch. For example, a new syntax for expanding variables ("%{local_port}" instead of "%a", etc.) and modifiers ("%{user | md5 | hexlify(1)}" instead of "%1Mu", etc.) has been implemented, mandatory specification of the name in the passdb and userdb sections has been introduced, many settings have been renamed, and quota settings have been moved to a separate section.
- Added experimental support for the SMTPUTF8 extension (RFC 6531) and the "IMAP UTF8=ACCEPT" mode, which allow using characters from national alphabets in email addresses, host names, mailbox names, and headers. To enable, you must build with the "--enable-experimental-mail-utf8" option when calling the configure script and set the "mail_utf8_extensions=yes" setting.
- Added support for the ARGON2 password hashing scheme, SCRAM-SHA-1 and SCRAM-SHA-256 SASL algorithms, X25519 and X448 elliptic curves.
- The ldap authentication driver has been updated to support multi-value attributes.
- Added support for the Channel Bindings TLS extension.
- During authentication, the ability to take into account JA3 hashes has been implemented, which allows, based on the characteristics of the connection parameters, to determine the software used to establish the connection.
- Added new full-text search plugin fts-flatcurve, which uses Xapian engine.
- IMAP now supports the INPROGRESS (RFC 9585) return code, which can be used to send progress notifications for long-running operations.
- Lib-lua implements a DNS client and an HTTP client.
- Support for SCRAM-SHA mechanisms has been added to lib-sasl.
- lmtp now supports SNI (Server Name Indication), which allows you to bind settings to a name. Server, information about which is transmitted in clear text in a TLS session.
- The sqlite driver has added support for the transaction logging mode (WAL - Write-Ahead Logging).
- Automatically enables the COMPRESS IMAP extension to compress data transferred over the IMAP server connection.
- Added auth_internal_failure_delay setting to determine the delay before sending a response to the client in case of authentication failure due to an internal failure.
- Added the fts_message_max_size setting, which specifies the maximum size of the message body indexed by the full-text search engine.
- Added login_socket_path setting to specify the path to the socket used by login processes.
- Added the quota_mailbox_count setting, which specifies the maximum number of mailboxes that can be created.
- Added the quota_mailbox_message_count setting, which specifies the maximum number of messages allowed in one mailbox.
- Added submission_add_received_header setting, which controls adding the "Received:" header to emails (can be used to hide sender information).
- Added cassandra_log_retries setting to control whether information about failures during repeated calls to Apache Cassandra is reflected in the log.
- The acl_global_path setting has been deprecated (support for global files and directories with ACLs has been dropped).
- Support for full-text indexers fts-lucene and fts-squat (moved to plugins), dsync utilities (replaced with doveadm sync), IMAP SETQUOTA commands and set_quota settings, Dovecot Director architecture, replicator (recommended to use NFS), Sieve extensions notify, imapflags and vnd.dovecot.duplicate has been discontinued.
- The checkpassword, passdb and userdb databases for authentication data have been replaced by the Lua Authentication Database.
- Support for zlib, listescape, old-stats and mailbox-alias plugins has been discontinued.
- The Memcached driver has been deprecated and it is recommended to use the Redis driver instead.
- Support for the shadow driver has been discontinued, and it is recommended to use PAM-based authentication databases instead.
- Berkeley DB support in dict_db_config has been dropped.
- Support for weak password hashing schemes is disabled by default (auth_allow_weak_schemes parameter should be used to revert).
- Support for OpenSSL versions prior to 1.0.2 has been dropped.
Source: opennet.ru
