Eu dei uma olhada na fonte para smtpd
, e parece que isso não é possível no momento. helo_cmd()
e ehlo_cmd()
ambos verificam um mínimo de 2 valores em argv
, em que o primeiro valor é (presumivelmente) o comando solicitado ( HELO
/ EHLO
) e o segundo é um nome de host. Quaisquer argumentos extras são concatenados junto com o segundo argumento para chegar a um valor final de nome de host. As várias opções de configuração controlam como esse valor é validado, mas deve estar presente.
Editar:
Depois de colocar isso na lista de discussão postfix-users, foi apontado que é possível aplicar um regex aos argumentos do comando antes do processamento. Eu tive que instalar postfix-pcre
via apt-get
. Eu então crio um arquivo /etc/postfix/smtpd_cmd_filter
assim:
# smtpd_cmd_filter
# Work around brain-dead empty EHLO
/^EHLO\s$/ EHLO domain.invalid
/^HELO\s$/ HELO domain.invalid
e adicionou a seguinte linha a main.cf
:
smtpd_command_filter = pcre:/etc/postfix/smtpd_cmd_filter
Não é bonito, mas funciona.