Sette anni dopo la formazione della versione 2.3.0, è stata presentata una nuova branca del server IMAP multipiattaforma Dovecot 2.4.0, che supporta i protocolli POP3 e IMAP4rev1 con estensioni popolari come SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA e IDLE, e meccanismi di autenticazione e crittografia (SASL, TLS, SCRAM, XOAUTH2). Dovecot mantiene la piena compatibilità con i classic mbox e Maildir, applicando indici esterni per migliorare le prestazioni. Per ampliare la funzionalità possono essere utilizzati plugin, attraverso i quali sono implementate funzionalità come quote, ACL, notifiche push, ricerca testuale completa e caselle postali virtuali. Il codice del progetto è distribuito sotto le licenze LGPL e MIT.
Variazioni principali:
- Sono state apportate modifiche che violano la retrocompatibilità con la configurazione utilizzata per la branca 2.3.x. Ad esempio, è stato attivato un nuovo sintassi di espansione delle variabili («%{local_port}» invece di «%a» e simili) e modificatori («%{user | md5 | hexlify(1)}» invece di «%1Mu» e simili), è stata introdotta l'obbligatorietà di specificare un nome nelle sezioni passdb e userdb, e molte impostazioni sono state rinominate con le impostazioni delle quote spostate in una sezione separata.
- È stato aggiunto il supporto sperimentale per l'estensione SMTPUTF8 (RFC 6531) e la modalità «IMAP UTF8=ACCEPT», che consentono di utilizzare i caratteri degli alfabeti nazionali negli indirizzi email, nei nomi degli host, nei nomi delle caselle postali e nelle intestazioni. Per attivare questa funzionalità è richiesta una compilazione con l'opzione «—enable-experimental-mail-utf8» durante la chiamata allo script configure e l'impostazione «mail_utf8_extensions=yes».
- È stato aggiunto il supporto per lo schema di hashing delle password ARGON2, gli algoritmi SASL SCRAM-SHA-1 e SCRAM-SHA-256, curve elliptiche X25519 e X448.
- Nel driver di autenticazione ldap è stato aggiunto il supporto per gli attributi che possono includere più valori (multi-value).
- È stato aggiunto il supporto per l'estensione TLS Channel Bindings.
- Nell'autenticazione è stata implementata la possibilità di considerare gli hash JA3, che consentono di identificare il software utilizzato per la connessione sulla base delle caratteristiche dei parametri di connessione.
- È stato aggiunto un nuovo plugin per la ricerca testuale completa fts-flatcurve, che utilizza il motore Xapian.
- In IMAP è stato aggiunto il supporto per il codice di ritorno INPROGRESS (RFC 9585), attraverso il quale è possibile inviare notifiche sul progresso delle operazioni prolungate.
- In lib-lua sono stati implementati un client DNS e un client HTTP.
- In lib-sasl è stato aggiunto il supporto per i meccanismi SCRAM-SHA.
- È stata aggiunta la supporto a SNI (Server Name Indication) in lmtp, che consente di associare le impostazioni a un nome. server, le cui informazioni vengono trasmesse in chiaro nella sessione TLS.
- Nel driver sqlite è stata aggiunta la supporto alla modalità di registrazione delle transazioni (WAL - Write-Ahead Logging).
- È stata garantita l'attivazione automatica dell'estensione IMAP COMPRESS per comprimere i dati trasmessi attraverso la connessione con il server IMAP.
- È stata aggiunta l'impostazione auth_internal_failure_delay, che determina il ritardo prima di inviare la risposta al cliente in caso di errore di autenticazione a causa di un guasto interno.
- È stata aggiunta l'impostazione fts_message_max_size, che definisce la dimensione massima del corpo dell'email indicizzabile dal motore di ricerca full-text.
- È stata aggiunta l'impostazione login_socket_path, che indica il percorso del socket utilizzato dai processi di login.
- È stata aggiunta l'impostazione quota_mailbox_count, che definisce il numero massimo consentito di mailbox create.
- È stata aggiunta l'impostazione quota_mailbox_message_count, che definisce il numero massimo consentito di messaggi in una mailbox.
- È stata aggiunta l'impostazione submission_add_received_header, che controlla l'aggiunta dell'intestazione 'Received:' alle email (può essere utilizzata per nascondere informazioni sul mittente).
- È stata aggiunta l'impostazione cassandra_log_retries per gestire il logging delle informazioni sugli errori durante i tentativi ripetuti con Apache Cassandra.
- L'impostazione acl_global_path è stata dichiarata obsoleta (l'assistenza ai file e directory globali con ACL è stata interrotta).
- È stata interrotta la supporto ai indicizzatori full-text fts-lucene e fts-squat (trasferiti in plugin), agli strumenti dsync (sostituito da doveadm sync), ai comandi IMAP SETQUOTA e alle impostazioni set_quota, all'architettura Dovecot Director, al replicator (si consiglia di utilizzare NFS), e alle estensioni Sieve notify, imapflags e vnd.dovecot.duplicate.
- Il database checkpassword, passdb e userdb per i dati di autenticazione è stato sostituito dal Database di Autenticazione Lua.
- È stata interrotta la supporto ai plugin zlib, listescape, old-stats e mailbox-alias.
- È stata interrotta la supporto al driver Memcached, per il quale è consigliato utilizzare il driver Redis.
- È stata interrotta la supporto al driver shadow, per il quale è consigliato utilizzare un database di autenticazione basato su PAM.
- È stata interrotta la supporto a Berkeley DB in dict_db_config.
- È stata disabilitata di default la supporto a schemi di hashing delle password inaffidabili (per riattivarla, utilizzare l'impostazione auth_allow_weak_schemes).
- È stata interrotta la supporto alle versioni di OpenSSL precedenti alla 1.0.2.
Fonte: opennet.ru
