Sete anos após o lançamento da versão 2.3.0, uma nova ramificação do servidor IMAP multiplataforma Dovecot 2.4.0 foi apresentada, suportando os protocolos POP3 e IMAP4rev1 com extensões populares como SORT, THREAD, MULTIAPPEND, QUOTA, ACL, COMPRESS, NOTIFY, METADATA e IDLE, além de mecanismos de autenticação e criptografia (SASL, TLS, SCRAM, XOAUTH2). O Dovecot mantém total compatibilidade com os formatos clássicos mbox e Maildir, utilizando índices externos para aumentar o desempenho. Plugins podem ser usados para expandir a funcionalidade, implementando recursos como cotas, ACL, notificações push, busca de texto completo e caixas de correio virtuais. O código do projeto é distribuído sob as licenças LGPL e MIT.
Principais mudanças:
- Foram feitas alterações que quebram a compatibilidade reversa com a configuração usada para a ramificação 2.3.x. Por exemplo, um novo sintaxe para expansão de variáveis foi implementada (‘%{local_port}’ em vez de ‘%a’) e novos modificadores (‘%{user | md5 | hexlify(1)}’ em vez de ‘%1Mu’), sendo obrigatório o nome nas seções passdb e userdb, além de muitas configurações terem sido renomeadas e movidas para uma nova seção de configurações de cotas.
- Adicionada a suporte experimental para a extensão SMTPUTF8 (RFC 6531) e para o modo ‘IMAP UTF8=ACCEPT’, permitindo o uso de caracteres dos alfabetos nacionais em endereços de e-mail, nomes de hosts, títulos de caixas de correio e cabeçalhos. Para habilitar, é necessário compilar com a opção ‘—enable-experimental-mail-utf8’ ao chamar o script configure e definir a configuração ‘mail_utf8_extensions=yes’.
- Adicionada a suporte para o esquema de hash de senhas ARGON2, algoritmos SASL SCRAM-SHA-1 e SCRAM-SHA-256, e curvas elípticas X25519 e X448.
- No driver de autenticação LDAP, foi adicionada a suporte para atributos que incluem vários valores (multi-value).
- Adicionada a suporte para a extensão TLS Channel Bindings.
- Na autenticação, implementada a possibilidade de levar em conta os hashes JA3, o que permite identificar o software usado para estabelecer a conexão com base nas características dos parâmetros de conexão.
- Adicionado um novo plugin de busca de texto completo fts-flatcurve, que utiliza o mecanismo Xapian.
- No IMAP, adicionada a suporte para o código de retorno INPROGRESS (RFC 9585), que permite enviar notificações sobre o andamento de operações longas.
- No lib-lua, implementados cliente DNS e cliente HTTP.
- No lib-sasl, adicionada a suporte para mecanismos SCRAM-SHA.
- O lmtp agora suporta SNI (Server Name Indication), permitindo vincular configurações ao nome servidor, cuja informação é transmitida de forma aberta na sessão TLS.
- O driver sqlite agora suporta o modo de registro de transações (WAL — Write-Ahead Logging).
- Agora é garantida a ativação automática da extensão IMAP COMPRESS para compressão de dados transmitidos através da conexão com o servidor IMAP.
- Foi adicionada a configuração auth_internal_failure_delay, que define o atraso antes do envio de uma resposta ao cliente em caso de erro de autenticação devido a falha interna.
- Foi adicionada a configuração fts_message_max_size, que define o tamanho máximo do corpo do e-mail que é indexado pelo mecanismo de pesquisa de texto completo.
- Foi adicionada a configuração login_socket_path, que indica o caminho para o socket utilizado pelos processos de login.
- Foi adicionada a configuração quota_mailbox_count, que define o número máximo de caixas de correio que podem ser criadas.
- Foi adicionada a configuração quota_mailbox_message_count, que define o número máximo de mensagens em uma única caixa de correio.
- Foi adicionada a configuração submission_add_received_header, que controla a adição do cabeçalho 'Received:' aos e-mails (pode ser usado para ocultar informações do remetente).
- Foi adicionada a configuração cassandra_log_retries para controlar o registro de informações sobre falhas em logs durante re-chamadas ao Apache Cassandra.
- A configuração acl_global_path foi declarada obsoleta (o suporte para arquivos e diretórios globais com ACL foi descontinuado).
- O suporte para os indexadores de texto completo fts-lucene e fts-squat foi descontinuado (agora são plugins), as ferramentas dsync (substituídas por doveadm sync), os comandos IMAP SETQUOTA e as configurações set_quota, a arquitetura Dovecot Director, replicator (recomenda-se usar NFS), e as extensões Sieve notify, imapflags e vnd.dovecot.duplicate foram descontinuadas.
- O banco de dados checkpassword, passdb e userdb para dados de autenticação foi substituído pelo Banco de Dados de Autenticação Lua.
- O suporte para os plugins zlib, listescape, old-stats e mailbox-alias foi descontinuado.
- O suporte para o driver Memcached foi descontinuado, e recomenda-se utilizar o driver Redis.
- O suporte para o driver shadow foi descontinuado, e recomenda-se utilizar o Banco de Dados de Autenticação baseado em PAM.
- O suporte para Berkeley DB em dict_db_config foi descontinuado.
- O suporte para esquemas de hashing de senhas inseguros foi desativado por padrão (para reabilitar, use o parâmetro auth_allow_weak_schemes).
- O suporte para versões do OpenSSL anteriores a 1.0.2 foi descontinuado.
Fonte: opennet.ru
