ChangeLOG - MTA Sceo
Sceo 0.31
- Adicionado suporte a uma segunda fila chamada qlimit
- Max_qprocs, Qlimit_max_procs, Qlimit_time e Queue_sleep adicionados ao sceo.conf para controle da fila principal e a qlimit
- Acao 'Qlimit!' adicionada aos arquivos de regras. Esta acao faz com que o email seja jogado na segunda fila, qlimit
- Erro arrumado -> [Too many open files] em caso de servidores com grande fluxo e uma mesma conexao aproveitar um unico PID/Conexao para entregar muitos emails
- Cache de checagens de dominios locais/externos melhorado para ficar mais rapido
- Opção Central_log_lvl criada para permitir niveis de informações no Central_log. No momento apenas dois niveis, 0 e 1. 0 = Total, 1 = Resumido
- Numero maximo de modulos permitidos foi alterado para 50
- Refused_log alterado. O campo de descricao de Remetente e Destinatario adicionado depois da data: 'RR'(From: Remoto, To: Remoto), 'LL'(From: Local, To: Local), 'RL'(From: Remoto, To:Local), 'LR'(From: Local, To:Remoto)
- Agora é anotado a mensagem de aceitação do servidor Remoto no arquivo de fila
- Qend_attempt_rules adicionado para permitir executar um arquivo de regras assim que o Sceo terminar uma sessao de processamento de um arquivo de fila
- Corrigido um problema da funcao 'send' finalizar o programa caso o socket seja fechado.
- Sistema de entrega local alterado para suportar definicoes via Mx_dest! (via PIPE [|] ou direto [/])
- Agora o Dlocal pode ser alterado atraves de um campo no banco de dados. Para MySQL, é recomendado o modulo igual ou maior que 1.2.6
- Sistema de consulta ao módulo alterada de forma a aguardar algum modulo liberar. Padrao de tentativas é 100 vezes e depois ele cria um modulo temporario para anteder a requisição
- Adicionado protecao contra parametro aberto no processamento do arquivo de regras
- Adicionado Queue_sleep para controlar o tempo em que o processo de fila dorme (Padrao = 60 segundos)
- Melhora do sistema de recebimento e reconhecimento de email ( ponto final )
- Suporte a TLS via modulo externo. (Opcoes do sceo.conf: Tls_enable, Tls_module, Tls_delivery, Tls_privkey, Tls_pubkey, Tls_cafile)
- Tamanho maximo para parametro helo/ehlo alterado para 100 bytes
- Checador de SPF modificado para aceitar mais niveis de include e redirect
- Dlocal atualizado para aceitar '%%' convertendo para '%'
- Versao para 64bits
Sceo 0.30b
- Inc_rules adicionado
- Alterado o funcionamento do Exec_resp e a variavel %t de forma a preservarem o valor retornado do ultimo programa executado entre arquivos de regras diferentes
- Ação Mark! arrumada no processamendo do Data_rules
- Negador (!) nao funcionava com a condição Itest?. Resolvido.
- Condicao Rev_fail? nao testava todos os IPs de host. Resolvido
- Mudancas internas de algumas funcoes. Alguns sprintf trocados para snprintf
- Erro do Sceo nao mudar seu UID e GID quando rodado com a opção -p, corrigido
- Erro do Sceo descartar o arquivo de fila quando nao consegue carregar um modulo temporario, resolvido
- Funcao de log alterada para gravar em um arquivo separado caso o log alvo esteja travado por muito tempo
- From_level_check agora vale para conexoes onde Relay foi liberado
- AUTH PLAIN e AUTH LOGIN não funcionam quando a opçao Auth_relay do sceo.conf esta desativada
- Adicionada a variavel %C (Home do destinatario) %F (Home do From) %U (Home do usuario autenticado) aos arquivos de regras
- Adicionada a variavel %C ao Dlocal para retornar o home do destinatario
- Ação Add_hits! e variáel %H adicionada aos arquivos de regras para ser possivel pontuar negativamente ou positivamente a atual conexao
- Opção Adlocal_allowed adicionado ao sceo.conf para limitar os programas que podem ser usados com o sistema de entregas via PIPE nos Alias
- Agora a resposta de um erro 4xx é gravado no arquivo de fila de forma a ser visível pelo programa externo 'fila'
- Erro da açao Cp! nao checar corretamente se o email esta na lista de destinatarios foi corrigido
- Adicionado a opção Refused_log ao sceo.conf para gravar um log emails recusados, facilitando assim a busca por problemas entre servidores. Esta opção vem desligada por padrão -> ""
Sceo 0.29b
- Suporte a entregas via PIPE a um programa externo quando um alias é apontado para um programa iniciado por ' | '
- Opção Proto_level_check adiciona ao arquivo de configuração para bloquear ou não endereços sem <>
- Agora o Buffer de entrada é limpo apos uma conexão, antes de enviar a mensagem de boas vindas. Com isto é possivel executar um Sleep no arquivo apontado por Connection_rules e barrar alguns tipos de spammers
- A opção Immed_delivery aceita o valor 2 para forcar o Sceo a entregar o email assim que a mensagem for aceita, atraves de um processo filho
- Agora o Sceo sempre tenta entregar primeiro os emails locais
- Erro de aceitar regras muito grandes corrigido
- Tarpit adicionado: Opçoes Tarpit_limit e Tarpit_sleep adicionadas ao arquivo de configuração
- Correcao da funcao de entrega local que se forcado atraves de Mx_dest o IP local e o email nao existisse, ela reportava uma mensagem de erro ao remetente com uma descricao nula
- Funcoes de consulta RBL embutidas. Ação Rbl_test! e Condição Rbl_resp? adicionados Foram acrescentadas as variaveis %R (Numero de RBLs onde o IP foi encontrado) e %T que retorna o texto contido na primeira lista RBL onde o IP foi encontrado
- Suporte a ler outros arquivos de configuracao (sceo.conf) com a opçao -c (./sceo -c sceo2.conf)
- Opção Temp_path para apontarmos o caminho dos arquivos de controle dos modulos
- Opcao Resolve_all adicionada ao sceo.conf para ligar/desligar a resolucao do hostname de todos os hosts que conectarem. Foi adicionada a ação Resolve! aos arquivos de regras para achar o hostname de um cliente conectado. Com o Resolve_all desativado, é possivel controlar quais redes/ips você quer que o Sceo resolva o nome reverso.
Sceo 0.28b
- O codigo foi limpo
- A opção Dlocal do arquivo de configuração foi mudada para aceitar variáveis: %l, %r, %f, %o, %c, %m, %p e %t
- A opção Dlocal_way do arquivo de configuração foi excluida. Agora o modo de entrega é definido dentro do parâmetro da propria Dlocal
- Suporte a modulo externo via PIPE
- Correcao da funcao de checagem de tamanho de caixa postal para aceitar o valor ZERO como sendo caixa postal sem limite
- Agora aceita TAB no arquivo de emails locais para separar o email do usuario do sistema
- Opção Error_log mudada para Warning_log
- Opção Msg_relay_ok retirada por não ser utilizada
- Função para resolver MX atualizada. Sempre que um MX encontrado não podia ser resolvido por problemas no DNS do servidor responsável pelo domínio remoto, o sistema não tentava encontrar outros e ja retornava a mensagem de Msg_cannot_resolve
- Opção Sid acrescentada para permitir o funcionando de varios servidores Sceo em paralelo compartilhando um mesmo diretorio de spool via NFS
- Novas funcoes para os arquivos de regras: Cmp_str e Find_str
- Função de entrega de emails foi corrigida para não tentar outro MX além do que foi forçado com Mx_dest!
- Alguns micro bugs dentro da sessão (DATA) foram resolvidos: A função para detecção de fim de email 'rn.rn' não estava funcionando adequadamente para identificar aluns tipos string em pacotes fragmentados devido a uma atribuição incorreta de variável, com isso o Timeout era atingido e a conexão quebrada forçando o outro lado enviar o email novamente.
- Nova condição adicionada ao Rcpt_rules: Data_reply para forcar uma resposta apos o recebimento do comando DATA
- Nova opção no arquivo de configurações: Hshow_user
- Agora o servidor muda seu UID e GID com a opção 'User' e 'Group' do arquivo de configuração quando estiver funcionando com MODULO externo 'Module ...'
- Nova condição e ação adicionada aos arquivos de regras: Mark! e Tmark? para adicionar e testar uma 'marca' temporária a atual conexão.
- O Processo filho agora aponta SIGCHLD para função default SIG_DFL para a chamada a função system (Exec!) retornar valores com o kernel da série 2.6
- Nova função adicionada ao processamento das regras: Itest? que testa um valor numerico com outro.
- Condicao Nrcpt_test? retirada por ser obsoleta devido a Itest + a variavel %n
- Processamento de regras mudado de forma a aceitar parametros vazios (entre as aspas Ex: "")
- Nova categoria de regras adicionada, From_rules, que é processada sempre que é especificado um remetente com o comando 'mail from:'
- Acao Rcpt_deny! convertida em Deny!
- Funcao de log alterada de forma a travar o arquivo de log para não acontecer condições de corrida
- Acao Relay_denied! adicionada ao processamento de regras
- Acao Accept! adicionada ao processamento de regras
- Mudancas no processamento de regras para ignorar algumas ações durante a reportagem de erro a um remetente
- Opcao MSG_refused adicionada ao arquivo de configuracao
- Funcao Auto_reply! convertida na Sendmail! onde é possivel especificar um remetente e um destinatario na sintaxe: ::
- Opção -q a linha de comando adicionada para permitir não iniciar o processo que trata os arquivos de fila
- Nova condicao adicionada aos arquivos de regras: Rev_fail, realiza um teste completo de reverso: IP -> hostname, hostname -> IP, e testa se esse IP é igual ao ip conectado
- Nova ação adicionada aos arquivos de regras: Def!, muda o valor numerico de uma opção do arquivo de configuraçao do servidor. A mudança é feita apenas para a atual conexao
- Novas opções adicionadas ao arquivo de configuração: Limit_buf,Limit_cnx,Limit_time e Limit_rules para controle de conexoes
- Nova opção adicionada ao arquivo de configuração: Mailbox_home, aponta para o diretorio home de cada usuario. Esta opção é usada apenas para medir o tamanho da caixa postal
- Corrigido o problema de 'cancelar' o arq. de fila e reportar um erro ao remetente caso tenha ocorrido um erro do tipo EAGAIN (Resource temporarily unavailable) quando se vai utilizar o DNS
|