------- You are receiving this mail because: -------
You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1514
Summary: callouts with smtp auth need $host
Product: Exim
Version: 4.82
Platform: All
OS/Version: All
Status: NEW
Severity: bug
Priority: medium
Component: Transports
AssignedTo: jgh146exb@???
ReportedBy: jgh146exb@???
CC: exim-dev@???
(reported by Russell King)
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.
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email