[exim-dev] [Bug 1514] New: callouts with smtp auth need $hos…

Top Page
Delete this message
Reply to this message
Author: Jeremy Harris
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 1514] New: callouts with smtp auth need $host
------- 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