După șapte ani de la formarea versiunii 2.3.0, a fost prezentat un nou grup de servere IMAP multi-platformă Dovecot 2.4.0, care suportă protocoalele POP3 și IMAP4rev1 cu extensiile populare, cum ar fi SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA și IDLE, precum și mecanisme de autentificare și criptare (SASL, TLS, SCRAM, XOAUTH2). Dovecot păstrează compatibilitatea totală cu mbox și Maildir clasice, aplicând indecși externi pentru a îmbunătăți performanța. Funcționalitatea poate fi extinsă prin pluginuri, prin care sunt implementate posibilități precum quota, ACL, notificări push, căutare full-text și căsuțe poștale virtuale. Codul proiectului este distribuit sub licențele LGPL și MIT.
Modificări principale:
- Au fost aduse modificări care afectează compatibilitatea inversă cu configurația utilizată pentru ramura 2.3.x. De exemplu, a fost activat un nou sintax al variabilelor de expansiune („%{local_port}” în loc de „%a” etc.) și modificatori („%{user | md5 | hexlify(1)}” în loc de „%1Mu” etc.), a fost introdusă obligativitatea specificării numelui în secțiunile passdb și userdb, iar multe setări au fost redenumite și mutate într-o secțiune separată pentru setările quota.
- A fost adăugată suportul experimental pentru extensia SMTPUTF8 (RFC 6531) și modul „IMAP UTF8=ACCEPT”, care permite utilizarea caracterelor din alfabetul național în adresele de e-mail, numele gazdelor, titlurile căsuțelor poștale și antete. Activarea necesită o compilare cu opțiunea „—enable-experimental-mail-utf8” la apelarea scriptului configure și setarea „mail_utf8_extensions=yes”.
- A fost adăugată suportul pentru schema de hash a parolelor ARGON2, algoritmii SASL SCRAM-SHA-1 și SCRAM-SHA-256, curbele eliptice X25519 și X448.
- În driverul de autentificare ldap a fost adăugat suport pentru atribute care includ mai multe valori (multi-value).
- A fost adăugat suport pentru extensia TLS Channel Bindings.
- În cadrul autentificării a fost implementată posibilitatea de a avea în vedere hash-urile JA3, care permit, pe baza caracteristicilor parametrilor conexiunii, să determine software-ul utilizat pentru stabilirea conexiunii.
- A fost adăugat un nou plugin de căutare full-text fts-flatcurve, care utilizează motorul Xapian.
- În IMAP a fost adăugată suportul pentru codul de returnare INPROGRESS (RFC 9585), prin care pot fi transmise notificări despre progresul operațiunilor de lungă durată.
- În lib-lua au fost implementate un client DNS și un client HTTP.
- În lib-sasl a fost adăugat suport pentru mecanismele SCRAM-SHA.
- În lmtp a fost adăugat suport pentru SNI (Server Name Indication), permițând corelarea setărilor cu numele server, informația despre care este transmisă în mod deschis în sesiunea TLS.
- În driverul sqlite a fost adăugat suport pentru modul de jurnalizare a tranzacțiilor (WAL — Write-Ahead Logging).
- S-a asigurat activarea automată a extensiei IMAP COMPRESS pentru comprimarea datelor transmise prin conexiunea cu serverul IMAP.
- A fost adăugată setarea auth_internal_failure_delay, care definește întârzierea înainte de a trimite răspunsul clientului în caz de eroare de autentificare din cauza unei defecțiuni interne.
- A fost adăugată setarea fts_message_max_size, care stabilește dimensiunea maximă a corpului mesajului, indexată de motorul de căutare full-text.
- A fost adăugată setarea login_socket_path, care indică calea către socketul utilizat de procesele de autentificare.
- A fost adăugată setarea quota_mailbox_count, care stabilește numărul maxim permis de mailbox-uri create.
- A fost adăugată setarea quota_mailbox_message_count, care stabilește numărul maxim de mesaje într-un singur mailbox.
- A fost adăugată setarea submission_add_received_header, care controlează adăugarea antetului „Received:” la mesaje (poate fi folosit pentru a ascunde informațiile despre expeditor).
- A fost adăugată setarea cassandra_log_retries pentru a gestiona reflectarea informațiilor despre erori în jurnal la solicitările repetate către Apache Cassandra.
- Setarea acl_global_path a fost declarată învechită (suportul pentru fișierele și directoarele globale cu ACL a încetat).
- Suportul pentru indexatorii full-text fts-lucene și fts-squat a încetat (au fost mutate în pluginuri), utilitarele dsync (înlocuite cu doveadm sync), comenzile IMAP SETQUOTA și setările set_quota, arhitectura Dovecot Director, replicator (se recomandă utilizarea NFS), extensiile Sieve notify, imapflags și vnd.dovecot.duplicate.
- În locul bazelor de date checkpassword, passdb și userdb pentru datele de autentificare a fost implementată Baza de Date Lua Authentication.
- Suportul pentru pluginurile zlib, listescape, old-stats și mailbox-alias a încetat.
- Suportul pentru driverul Memcached a încetat, fiind recomandat utilizarea driverului Redis.
- Suportul pentru driverul shadow a încetat, fiind recomandat utilizarea unei baze de date de autentificare bazate pe PAM.
- Suportul pentru Berkeley DB în dict_db_config a încetat.
- Suportul pentru schemele nesigure de hash pentru parole este dezactivat implicit (pentru a reveni, folosiți parametrul auth_allow_weak_schemes).
- Suportul pentru versiunile OpenSSL anterioare 1.0.2 a încetat.
Sursa: opennet.ro
