Sieben Jahre nach der Veröffentlichung der Version 2.3.0 wird der neue, plattformübergreifende IMAP-Server Dovecot 2.4.0 vorgestellt, der die Protokolle POP3 und IMAP4rev1 mit beliebten Erweiterungen wie SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA und IDLE sowie Authentifizierungs- und Verschlüsselungsmechanismen (SASL, TLS, SCRAM, XOAUTH2) unterstützt. Dovecot bleibt vollständig kompatibel mit den klassischen Formaten mbox und Maildir und verwendet externe Indizes zur Leistungssteigerung. Zur Erweiterung der Funktionalität können Plugins genutzt werden, die Funktionen wie Quoten, ACLs, Push-Benachrichtigungen, Volltextsuche und virtuelle Postfächer bereitstellen. Der Projektcode wird unter den Lizenzen LGPL und MIT veröffentlicht.
Wesentliche Änderungen:
- Es wurden Änderungen vorgenommen, die die Rückwärtskompatibilität mit der Konfiguration der Version 2.3.x beeinträchtigen. So wird beispielsweise eine neue Syntax zur Variablenauflösung verwendet („%{local_port}“ anstelle von „%a“ usw.) sowie neue Modifikatoren („%{user | md5 | hexlify(1)}“ anstelle von „%1Mu“ usw.). Es ist nun verpflichtend, einen Namen in den Abschnitten passdb und userdb anzugeben, und viele Einstellungen wurden umbenannt und in einen separaten Abschnitt für Quoten verschoben.
- Die experimentelle Unterstützung für die Erweiterung SMTPUTF8 (RFC 6531) und den Modus „IMAP UTF8=ACCEPT“ wurde hinzugefügt, was die Verwendung von Zeichen nationaler Alphabete in E-Mail-Adressen, Hostnamen, Postfächern und Betreffzeilen ermöglicht. Zum Aktivieren ist eine Kompilierung mit der Option „—enable-experimental-mail-utf8“ beim Aufruf des Konfigurationsskripts und die Einstellung „mail_utf8_extensions=yes“ erforderlich.
- Die Unterstützung für das Passwort-Hashing-Schema ARGON2, die SASL-Algorithmen SCRAM-SHA-1 und SCRAM-SHA-256 sowie die elliptischen Kurven X25519 und X448 wurde hinzugefügt.
- Im LDAP-Authentifizierungsdriver wurde Unterstützung für Attribute mit mehreren Werten (multi-value) hinzugefügt.
- Die Unterstützung für die TLS-Erweiterung Channel Bindings wurde hinzugefügt.
- Bei der Authentifizierung wurde die Möglichkeit integriert, JA3-Hashes zu berücksichtigen, die es ermöglichen, anhand der Merkmale der Verbindungsparameter die verwendete Software zur Verbindungsherstellung zu identifizieren.
- Ein neues Plugin für die Volltextsuchen fts-flatcurve wurde hinzugefügt, das die Xapian-Engine verwendet.
- IMAP unterstützt jetzt den Rückgabecode INPROGRESS (RFC 9585), über den Benachrichtigungen über den Fortschritt von langwierigen Operationen übermittelt werden können.
- In lib-lua wurden ein DNS-Client und ein HTTP-Client implementiert.
- In lib-sasl wurde Unterstützung für die Mechanismen SCRAM-SHA hinzugefügt.
- Im lmtp wurde die Unterstützung von SNI (Server Name Indication) hinzugefügt, wodurch Einstellungen an den Namen gebunden werden können. Server, dessen Informationen im Klartext während einer TLS-Sitzung übertragen werden.
- Im sqlite-Treiber wurde die Unterstützung für den Transaktionsprotokollmodus (WAL - Write-Ahead Logging) hinzugefügt.
- Die automatische Aktivierung der IMAP-Erweiterung COMPRESS zur Komprimierung der über die Verbindung zum IMAP-Server übertragenen Daten wurde sichergestellt.
- Es wurde eine Einstellung auth_internal_failure_delay hinzugefügt, die die Verzögerung vor der Beantwortung eines Clients im Falle eines Authentifizierungsfehlers aufgrund eines internen Fehlers festlegt.
- Eine Einstellung fts_message_max_size wurde hinzugefügt, die die maximale Größe des von der Volltextsuche indizierten E-Mail-Inhalts festlegt.
- Eine Einstellung login_socket_path wurde hinzugefügt, die den Pfad zum Socket angibt, der von den Login-Prozessen verwendet wird.
- Eine Einstellung quota_mailbox_count wurde hinzugefügt, die die maximal zulässige Anzahl an zu erstellenden Mailboxen festlegt.
- Eine Einstellung quota_mailbox_message_count wurde hinzugefügt, die die maximal zulässige Anzahl von Nachrichten in einer einzelnen Mailbox festlegt.
- Eine Einstellung submission_add_received_header wurde hinzugefügt, die die Hinzufügung des Headers „Received:“ zu E-Mails steuert (kann verwendet werden, um Informationen über den Absender zu verbergen).
- Die Einstellung cassandra_log_retries wurde hinzugefügt, um die Protokollierung von Fehlerinformationen bei wiederholten Anfragen an Apache Cassandra zu steuern.
- Die Einstellung acl_global_path wurde als veraltet erklärt (die Unterstützung für globale Dateien und Verzeichnisse mit ACL wurde eingestellt).
- Die Unterstützung für die Volltext-Indexer fts-lucene und fts-squat wurde eingestellt (diese wurden in Plugins ausgelagert), das Dienstprogramm dsync (ersetzt durch doveadm sync), die IMAP-Befehle SETQUOTA und die Einstellungen set_quota, die Architektur Dovecot Director und replicator (NFS wird empfohlen) sowie die Sieve-Erweiterungen notify, imapflags und vnd.dovecot.duplicate.
- Die Datenbank checkpassword, passdb und userdb für Authentifizierungsdaten wurde durch die Lua Authentication Database ersetzt.
- Die Unterstützung für die Plugins zlib, listescape, old-stats und mailbox-alias wurde eingestellt.
- Die Unterstützung für den Memcached-Treiber wurde eingestellt, stattdessen wird die Verwendung des Redis-Treibers empfohlen.
- Die Unterstützung für den shadow-Treiber wurde eingestellt, stattdessen wird eine PAM-basierte Authentifizierungsdatenbank empfohlen.
- Die Unterstützung für Berkeley DB in dict_db_config wurde eingestellt.
- Die Unterstützung für unsichere Passwort-Hash-Algorithmen ist standardmäßig deaktiviert (zur Wiederherstellung verwenden Sie den Parameter auth_allow_weak_schemes).
- Die Unterstützung für OpenSSL-Versionen unter 1.0.2 wurde eingestellt.
Quelle: opennet.ru
