Eu encontrei o problema, então aqui está, caso isso ajude alguém:
Há um arquivo de configuração para saslauthd
, o meu está localizado em /etc/sysconfig/saslauthd
:
# Directory in which to place saslauthd's listening socket, pid file, and so
# on. This directory must already exist.
SOCKETDIR=/var/run/saslauthd
# Mechanism to use when checking passwords. Run "saslauthd -v" to get a list
# of which mechanism your installation was compiled with the ablity to use.
MECH=pam
# Options sent to the saslauthd. If the MECH is other than "pam" uncomment the next line.
# DAEMONOPTS=--user saslauth
# OPTIONS="-c -r -m /var/spool/postfix/var/run/saslauthd"
OPTIONS="-c -m /var/run/saslauthd"
# Additional flags to pass to saslauthd on the command line. See saslauthd(8)
# for the list of accepted flags.
FLAGS=
A variável OPTIONS
deve conter as opções passadas para saslauthd
. Está faltando -r
, que faz exatamente o que eu estava procurando. De acordo com sua documentação :
-r Combine the realm with the login (with an ’@’ sign in between). e.g. login: "foo" realm: "bar" will get passed as login: "foo@bar". Note that the realm will still be passed, which may lead to unexpected behavior.
Mas meu problema não foi resolvido apenas por essa mudança! Descobriu-se que devido a algum bug no script /etc/init.d/saslauthd
, mesmo que o arquivo de configuração mencionado acima esteja carregado, mas não é aplicado! O $OPTIONS
nunca foi usado !!!
Esta é a seção inicial original do script /etc/init.d/saslauthd
:
start() {
[ -x $path ] || exit 5
echo -n $"Starting $prog: "
daemon $DAEMONOPTS $path -m $SOCKETDIR -a $MECH $FLAGS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}
E foi assim que eu o alterei:
start() {
[ -x $path ] || exit 5
echo -n $"Starting $prog: "
daemon $DAEMONOPTS $path $OPTIONS -a $MECH $FLAGS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}
Tudo pronto! Agora a consulta contém o endereço de e-mail completo para verificar a senha.