[exim] exim 4.82 - callouts with smtp auth

Top Page
Delete this message
Reply to this message
Author: Russell King
Date:  
To: exim-users
Subject: [exim] exim 4.82 - callouts with smtp auth
Let's say that you wish to use callout verification between various hosts
which you control, and you also wish to use SMTP auth between them. Let's
also say that you use per-host secrets as well, and you look them up via
this authenticator:

cram:
driver = cram_md5
public_name = CRAM-MD5
client_name = ${extract{1}{.}{$primary_hostname}}
client_secret = ${lookup{$host}lsearch{/etc/exim/host/auth-client}{$value}fail}

This works fine for normal SMTP messages, and it also works fine with
exim 4.76.

However, with 4.82, $host is empty when a verification SMTP
conversation is being run, and if you have the smtp transport set with
hosts_require_auth for these hosts, the callout now fails. This is a
regression from previous versions.

src/verify.c could do with not NULLing the deliver_host etc after
router lookup, but only after the verification for the target host
has finished - indeed, ensuring that deliver_host is set for the
smtp_auth() call fixed the problem I was seeing.

--
Russell King