Sept ans après la sortie de la version 2.3.0, une nouvelle branche du serveur IMAP multiplateforme Dovecot 2.4.0 a été présentée, prenant en charge les protocoles POP3 et IMAP4rev1 avec des extensions populaires telles que SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA et IDLE, ainsi que des mécanismes d'authentification et de cryptage (SASL, TLS, SCRAM, XOAUTH2). Dovecot maintient une compatibilité totale avec les formats mbox et Maildir classiques, en utilisant des index externes pour améliorer les performances. Des plugins peuvent être utilisés pour étendre les fonctionnalités, permettant la mise en œuvre de fonctions telles que les quotas, les ACL, les notifications Push, la recherche en texte intégral et les boîtes aux lettres virtuelles. Le code du projet est distribué sous les licences LGPL et MIT.
Principales modifications :
- Des modifications ont été apportées, rompant la compatibilité avec la configuration utilisée pour la branche 2.3.x. Par exemple, une nouvelle syntaxe pour l'expansion des variables a été introduite («%{local_port}» au lieu de «%a» et ainsi de suite) ainsi que des modificateurs («%{user | md5 | hexlify(1)}» au lieu de «%1Mu» et ainsi de suite), l'indication obligatoire du nom dans les sections passdb et userdb, et de nombreuses options ont été renommées, tandis que les paramètres de quota ont été déplacés dans une section séparée.
- Un support expérimental pour l'extension SMTPUTF8 (RFC 6531) et le mode «IMAP UTF8=ACCEPT» a été ajouté, permettant l'utilisation de caractères d'alphabets nationaux dans les adresses e-mail, les noms d'hôtes, les noms de boîtes aux lettres et les en-têtes. Pour l'activer, une compilation avec l'option «—enable-experimental-mail-utf8» lors de l'appel du script configure et un réglage «mail_utf8_extensions=yes» sont nécessaires.
- Ajout du support pour le schéma de hachage de mots de passe ARGON2, des algorithmes SASL SCRAM-SHA-1 et SCRAM-SHA-256, ainsi que des courbes elliptiques X25519 et X448.
- Le pilote d'authentification ldap a été mis à jour pour inclure le support d'attributs pouvant contenir plusieurs valeurs (multi-value).
- Ajout du support pour l'extension TLS Channel Bindings.
- Lors de l'authentification, il est désormais possible de prendre en compte les hachages JA3, permettant d'identifier le logiciel utilisé pour établir la connexion en fonction des caractéristiques des paramètres de connexion.
- Ajout d'un nouveau plugin de recherche en texte intégral fts-flatcurve, utilisant le moteur Xapian.
- Dans IMAP, prise en charge du code de retour INPROGRESS (RFC 9585), permettant de transmettre des notifications sur l'avancement des opérations longues.
- Dans lib-lua, un client DNS et un client HTTP ont été réalisés.
- Dans lib-sasl, ajout du support pour les mécanismes SCRAM-SHA.
- SNI (Server Name Indication) a été ajouté à lmtp, permettant d'associer les paramètres à un nom. de serveurs, dont les informations sont transmises en clair dans la session TLS.
- La prise en charge du mode de journalisation des transactions (WAL - Write-Ahead Logging) a été ajoutée au pilote sqlite.
- L'activation automatique de l'extension IMAP COMPRESS pour la compression des données transmises via la connexion au serveur IMAP a été effectuée.
- Un réglage nommé auth_internal_failure_delay a été ajouté, déterminant le délai avant l'envoi d'une réponse au client en cas d'erreur d'authentification due à une défaillance interne.
- Un réglage nommé fts_message_max_size a été ajouté, définissant la taille maximale du corps du message indexé par le moteur de recherche en texte intégral.
- Un réglage nommé login_socket_path a été ajouté, spécifiant le chemin vers le socket utilisé par les processus de connexion.
- Un réglage nommé quota_mailbox_count a été ajouté, déterminant le nombre maximum de boîtes aux lettres pouvant être créées.
- Un réglage nommé quota_mailbox_message_count a été ajouté, déterminant le nombre maximum de messages dans une seule boîte aux lettres.
- Un réglage nommé submission_add_received_header a été ajouté, contrôlant l'ajout de l'en-tête « Received: » aux messages (peut être utilisé pour masquer les informations sur l'expéditeur).
- Un réglage nommé cassandra_log_retries a été ajouté pour contrôler l'enregistrement dans le journal des informations sur les échecs lors des tentatives répétées avec Apache Cassandra.
- Le réglage acl_global_path a été déclaré obsolète (la prise en charge des fichiers et répertoires globaux avec ACL a été arrêtée).
- La prise en charge des indexeurs en texte intégral fts-lucene et fts-squat a été arrêtée (ils ont été transférés vers des modules), l'outil dsync (remplacé par doveadm sync), les commandes IMAP SETQUOTA et les réglages set_quota, l'architecture Dovecot Director, le replicator (il est recommandé d'utiliser NFS), et les extensions Sieve notify, imapflags et vnd.dovecot.duplicate ont également été supprimés.
- La base de données checkpassword, passdb et userdb pour les données d'authentification a été remplacée par la base de données d'authentification Lua.
- La prise en charge des modules zlib, listescape, old-stats et mailbox-alias a été arrêtée.
- La prise en charge du pilote Memcached a été arrêtée, et il est recommandé d'utiliser le pilote Redis.
- La prise en charge du pilote shadow a été arrêtée, et il est recommandé d'utiliser une base de données d'authentification basée sur PAM.
- La prise en charge de Berkeley DB dans dict_db_config a été arrêtée.
- La prise en charge des schémas de hachage de mots de passe non fiables est désactivée par défaut (pour la réactiver, utilisez le paramètre auth_allow_weak_schemes).
- La prise en charge des versions d'OpenSSL inférieures à 1.0.2 a été arrêtée.
Source : opennet.ru
