Después de siete años desde la formación de la versión 2.3.0, se presenta una nueva rama del servidor IMAP multiplataforma Dovecot 2.4.0, que admite los protocolos POP3 e IMAP4rev1 con extensiones populares como SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA e IDLE, así como mecanismos de autenticación y cifrado (SASL, TLS, SCRAM, XOAUTH2). Dovecot mantiene total compatibilidad con los tradicionales mbox y Maildir, utilizando índices externos para mejorar el rendimiento. Se pueden utilizar complementos para ampliar la funcionalidad, a través de los cuales se implementan capacidades como cuotas, ACL, notificaciones push, búsqueda de texto completo y buzones virtuales. El código del proyecto se distribuye bajo las licencias LGPL y MIT.
Principales cambios:
- Se han realizado cambios que rompen la compatibilidad hacia atrás con la configuración utilizada para la rama 2.3.x. Por ejemplo, se ha introducido una nueva sintaxis para la expansión de variables (‘%{local_port}’ en lugar de ‘%a’, etc.) y modificadores (‘%{user | md5 | hexlify(1)}’ en lugar de ‘%1Mu’, etc.), se ha establecido la obligación de especificar un nombre en las secciones passdb y userdb, y se han renombrado muchas configuraciones, además de separar las configuraciones de cuotas en una sección distinta.
- Se ha añadido soporte experimental para la extensión SMTPUTF8 (RFC 6531) y el modo ‘IMAP UTF8=ACCEPT’, que permiten el uso de caracteres de alfabetos nacionales en direcciones de correo electrónico, nombres de hosts, nombres de buzones y encabezados. Para habilitarlo, se requiere compilar con la opción ‘—enable-experimental-mail-utf8’ al invocar el script configure y establecer la configuración ‘mail_utf8_extensions=yes’
- Se ha añadido soporte para el esquema de hash de contraseñas ARGON2, algoritmos SASL SCRAM-SHA-1 y SCRAM-SHA-256, así como curvas elípticas X25519 y X448.
- El controlador de autenticación ldap ahora admite atributos que incluyen múltiples valores (multi-value).
- Se ha añadido soporte para la extensión TLS Channel Bindings.
- Durante la autenticación se ha implementado la posibilidad de tener en cuenta los hashes JA3, que permiten, en función de las características de los parámetros de la conexión, determinar el software utilizado para establecer la conexión.
- Se ha añadido un nuevo complemento de búsqueda de texto completo fts-flatcurve, que utiliza el motor Xapian.
- En IMAP se ha añadido soporte para el código de retorno INPROGRESS (RFC 9585), a través del cual se pueden enviar notificaciones sobre el progreso de operaciones prolongadas.
- En lib-lua se han implementado un cliente DNS y un cliente HTTP.
- En lib-sasl se ha añadido soporte para los mecanismos SCRAM-SHA.
- En lmtp se ha añadido soporte para SNI (Server Name Indication), lo que permite vincular configuraciones al nombre servidores, cuya información se transmite en texto claro en la sesión TLS.
- En el controlador sqlite se ha añadido soporte para el modo de registro de transacciones (WAL - Write-Ahead Logging).
- Se ha asegurado la activación automática de la extensión IMAP COMPRESS para comprimir los datos transmitidos a través de la conexión con el servidor IMAP.
- Se ha añadido la configuración auth_internal_failure_delay, que determina el retraso antes de enviar una respuesta al cliente en caso de error de autenticación debido a una falla interna.
- Se ha añadido la configuración fts_message_max_size, que define el tamaño máximo del cuerpo del correo, indexado por el motor de búsqueda de texto completo.
- Se ha añadido la configuración login_socket_path, que especifica la ruta al socket utilizado por los procesos de inicio de sesión.
- Se ha añadido la configuración quota_mailbox_count, que establece el número máximo de buzones que se pueden crear.
- Se ha añadido la configuración quota_mailbox_message_count, que establece el número máximo de mensajes en un buzón.
- Se ha añadido la configuración submission_add_received_header, que controla la adición del encabezado 'Received:' a los correos (puede usarse para ocultar información sobre el remitente).
- Se ha añadido la configuración cassandra_log_retries para controlar el registro de información sobre fallos en registros durante reintentos a Apache Cassandra.
- Se ha declarado obsoleta la configuración acl_global_path (se ha dejado de dar soporte a archivos y directorios globales con ACL).
- Se ha dejado de dar soporte a los indexadores de texto completo fts-lucene y fts-squat (se han trasladado a plugins), la utilidad dsync (sustituida por doveadm sync), el comando IMAP SETQUOTA y las configuraciones set_quota, la arquitectura Dovecot Director, replicador (se recomienda usar NFS), y las extensiones Sieve notify, imapflags y vnd.dovecot.duplicate.
- La base de datos checkpassword, passdb y userdb para la autenticación ha sido reemplazada por la Base de Datos de Autenticación Lua.
- Se ha dejado de dar soporte a los plugins zlib, listescape, old-stats y mailbox-alias.
- Se ha dejado de dar soporte al controlador Memcached, por el cual se recomienda usar el controlador Redis.
- Se ha dejado de dar soporte al controlador shadow, por el cual se recomienda usar una base de datos de autenticación basada en PAM.
- Se ha dejado de dar soporte a Berkeley DB en dict_db_config.
- Se ha desactivado por defecto el soporte para esquemas de hash de contraseñas no confiables (para reactivarlo, use el parámetro auth_allow_weak_schemes).
- Se ha dejado de dar soporte a versiones de OpenSSL anteriores a la 1.0.2.
Fuente: opennet.ru
