Po sedmi letech od vydání verze 2.3.0 byla představena nová větev multiplatformního IMAP serveru Dovecot 2.4.0, která podporuje protokoly POP3 a IMAP4rev1 s populárními rozšířeními, jako jsou SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA a IDLE, a mechanismy autentizace a šifrování (SASL, TLS, SCRAM, XOAUTH2). Dovecot si zachovává plnou kompatibilitu s klasickými mbox a Maildir pomocí externích indexů pro zvýšení výkonu. Pro rozšíření funkcionality lze využívat pluginy, díky nimž jsou implementovány funkce jako kvóty, ACL, Push notifikace, fulltextové vyhledávání a virtuální poštovní schránky. Kód projektu je distribuován pod licencemi LGPL a MIT.
Hlavní změny:
- Byly provedeny změny, které narušují zpětnou kompatibilitu s konfigurací používanou pro větev 2.3.x. Například byl zaveden nový syntaktický prvek pro rozbalení proměnných („%{local_port}“ místo „%a“ atd.) a modifikátorů („%{user | md5 | hexlify(1)}“ místo „%1Mu“ atd.), bylo zavedené povinné uvádění názvu v sekcích passdb a userdb, byly přejmenovány mnohé nastavení a nastavení kvót byla přesunuta do samostatné sekce.
- Byla přidána experimentální podpora rozšíření SMTPUTF8 (RFC 6531) a režimu „IMAP UTF8=ACCEPT“, které umožňují používat znaky národních abeced v e-mailových adresách, názvech hostitelů, názvech poštovních schránek a hlavičkách. Pro zapnutí je nutné sestavit s volbou „—enable-experimental-mail-utf8“ při volání skriptu configure a nastavit volbu „mail_utf8_extensions=yes“.
- Byla přidána podpora schématu hashování hesel ARGON2, SASL algoritmů SCRAM-SHA-1 a SCRAM-SHA-256, eliptických křivek X25519 a X448.
- Do ovladače autentizace ldap byla přidána podpora atributů zahrnujících více hodnot (multi-value).
- Byla přidána podpora rozšíření TLS Channel Bindings.
- Při autentizaci byla implementována možnost sledování hashů JA3, která umožňuje na základě vlastností parametrů připojení určit software, který se používá k navázání spojení.
- Byl přidán nový plugin pro fulltextové vyhledávání fts-flatcurve, který používá engine Xapian.
- Do IMAP byla přidána podpora návratového kódu INPROGRESS (RFC 9585), prostřednictvím kterého lze předávat oznámení o postupu dlouhých operací.
- V lib-lua byly implementovány DNS klient a HTTP klient.
- Do lib-sasl byla přidána podpora mechanismů SCRAM-SHA.
- Do lmtp byla přidána podpora SNI (Server Name Indication), která umožňuje přiřadit nastavení k názvu serveru, jehož informace jsou přenášeny otevřeně v relaci TLS.
- Do ovladače sqlite byla přidána podpora režimu protokolování transakcí (WAL — Write-Ahead Logging).
- Bylo zajištěno automatické zapnutí IMAP rozšíření COMPRESS pro kompresi dat přenášených přes spojení s IMAP serverem.
- Bylo přidáno nastavení auth_internal_failure_delay, které určuje zpoždění před odesláním odpovědi klientovi v případě chyby autentizace kvůli vnitřní chybě.
- Bylo přidáno nastavení fts_message_max_size, které určuje maximální velikost těla zprávy indexované enginem pro fulltextové vyhledávání.
- Bylo přidáno nastavení login_socket_path, které uvádí cestu k socketu používanému login procesy.
- Bylo přidáno nastavení quota_mailbox_count, které určuje maximální povolený počet vytvářených mailboxů.
- Bylo přidáno nastavení quota_mailbox_message_count, které určuje maximální povolený počet zpráv v jednom mailboxu.
- Bylo přidáno nastavení submission_add_received_header, které řídí přidávání hlavičky "Received:" k e-mailům (může být použito k skrytí informací o odesílateli).
- Bylo přidáno nastavení cassandra_log_retries pro řízení odrážení informací o selháních do logu při opakovaných dotazech na Apache Cassandra.
- Nastavení acl_global_path bylo vyhlášeno jako zastaralé (podpora globálních souborů a adresářů s ACL byla ukončena).
- Byla ukončena podpora fulltextových indexátorů fts-lucene a fts-squat (byly přesunuty do pluginů), utility dsync (nahrazena doveadm sync), příkazu IMAP SETQUOTA a nastavení set_quota, architektury Dovecot Director, replicator (doporučeno používat NFS), Sieve rozšíření notify, imapflags a vnd.dovecot.duplicate.
- Na místo databáze checkpassword, passdb a userdb pro autentizační údaje přišla databáze Lua Authentication Database.
- Byla ukončena podpora pluginů zlib, listescape, old-stats a mailbox-alias.
- Byla ukončena podpora ovladače Memcached, místo něhož se doporučuje používat ovladač Redis.
- Byla ukončena podpora ovladače shadow, místo něhož se doporučuje používat databázi autentizace založenou na PAM.
- Byla ukončena podpora Berkeley DB v dict_db_config.
- Podpora nespolehlivých schémat hashování hesel je ve výchozím nastavení vypnuta (pro návrat je třeba použít parametr auth_allow_weak_schemes).
- Byla ukončena podpora verzí OpenSSL do 1.0.2.
Zdroj: opennet.ru
