Доступен IMAP-сервер Dovecot 2.4.0

Спустя семь лет после формирования версии 2.3.0 представлена новая ветка многоплатформенного IMAP-сервера Dovecot 2.4.0, поддерживающего протоколы POP3 и IMAP4rev1 с популярными расширениями, такими как SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA и IDLE, и механизмами аутентификации и шифрования (SASL, TLS, SCRAM, XOAUTH2). Dovecot сохраняет полную совместимость с классическими mbox и Maildir, применяя внешние индексы для повышения производительности. Для расширения функциональности могут использоваться плагины, через которые реализованы такие возможности, как квоты, ACL, Push-уведомления, полнотекстовый поиск и виртуальные почтовые ящики. Код проекта распространяется под лицензиями LGPL и MIT.

Основные изменения:

  • Внесены изменения, нарушающие обратную совместимость c конфигурацией, применявшейся для ветки 2.3.x. Например, задействован новый синтаксис раскрытия переменных (“%{local_port}” вместо “%a” и т.п.) и модификаторов (“%{user | md5 | hexlify(1)}” вместо “%1Mu” и т.п.), введено обязательное указание имени в секциях passdb и userdb, переименованы многие настройки, в отдельную секцию вынесены настройки квот.
  • Добавлена экспериментальная поддержка расширения SMTPUTF8 (RFC 6531) и режима “IMAP UTF8=ACCEPT”, позволяющих использовать символы национальных алфавитов в адресах электронной почты, именах хостов, названиях почтовых ящиков и заголовках. Для включения требуется сборка с опцией “–enable-experimental-mail-utf8” при вызове скрипта configure и выставление настройки “mail_utf8_extensions=yes”
  • Добавлена поддержка схемы хэширования паролей ARGON2, SASL-алгоритмов SCRAM-SHA-1 и SCRAM-SHA-256, эллиптических кривых X25519 и X448.
  • В драйвер аутентификации через LDAP добавлена поддержка атрибутов, включающих несколько значений (multi-value).
  • Добавлена поддержка TLS-расширения Channel Bindings.
  • При аутентификации реализована возможность учёта хэшей JA3, позволяющих на основе особенностей параметров соединения определить ПО, используемое для установки соединения.
  • Добавлен новый плагин полнотекстового поиска fts-flatcurve, использующий движок Xapian.
  • В IMAP добавлена поддержка кода возврата INPROGRESS (RFC 9585), через который можно передавать уведомления о ходе выполнения длительных операций.
  • В lib-lua реализованы DNS-клиент и HTTP-клиент.
  • В lib-sasl добавлена поддержка механизмов SCRAM-SHA.
  • В lmtp добавлена поддержка SNI (Server Name Indication), позволяющего привязывать настройки к имени сервера, информация о котором передаётся в открытом виде в сеансе TLS.
  • В драйвере sqlite добавлена поддержка режима ведения журнала транзакций (WAL – Write-Ahead Logging).
  • Добавлена настройка auth_internal_failure_delay, определяющая задержку перед отправки клиент ответа в случае ошибки аутентификации из-за внутреннего сбоя.
  • Добавлена настройка fts_message_max_size, задающая максимальный размер тела письма, индексируемый движком полнотекстового поиска.
  • Добавлена настройка login_socket_path, указывающая путь к сокету, используемому login-процессами.
  • Добавлена настройка quota_mailbox_count, задающая максимально допустимое число создаваемых mailbox-ов.
  • Добавлена настройка quota_mailbox_message_count, задающая максимально допустимое число сообщений в одном mailbox-е.
  • Добавлена настройка submission_add_received_header, управляющая добавлением заголовка “Received:” к письмам.
  • Добавлена настройка cassandra_log_retries для управления отражением в логе повторных сбоев при обращении к Apache Cassandra.
  • Обеспечено автоматическое включение IMAP-расширения COMPRESS для сжатия данных, передаваемых чрез соединение с IMAP-сервером.
  • Объявлена устаревшей настройка acl_global_path (поддержка глобальных файлов с ACL).
  • Удалена поддержка полнотекстовых индексаторов fts-lucene и fts-squat (вынесены в плагины), утилиты dsync (заменена на doveadm sync),
    команды IMAP SETQUOTA и настройки set_quota, архитектуры Dovecot Director, replicator (рекомендовано использовать NFS), Sieve-расширений notify, imapflags и vnd.dovecot.duplicate.
  • На смену БД checkpassword, passdb и userdb для данных аутентификации пришла Lua authentication database.
  • Прекращена поддержка плагинов zlib, listescape, old-stats и mailbox-alias.
  • Прекращена поддержка драйвера Memcached, вместо которого рекомендовано использовать драйвер Redis.
  • Прекращена поддержка драйвера shadow auth, вместо которого рекомендовано использовать БД аутентификации на основе PAM.
  • Прекращена поддержка Berkeley DB в dict_db_config.
  • Отключена по умолчанию поддержка ненадёжных схем хэширования паролей (для возвращения следует использовать параметр auth_allow_weak_schemes).
  • Прекращена поддержка версий OpenSSL до 1.0.2.
Release. Ссылка here.