[exim] [Debian] authentication to servers which multiple A r…

Top Page
Delete this message
Reply to this message
Author: Marc Haber
Date:  
To: exim-users
Subject: [exim] [Debian] authentication to servers which multiple A records
Hi,

I am finally trying to tackle an issue that causes Debian users to be
confused, regarding ISP smarthost entries with multiple A records.

In the client side authenticators, we use a client_send expression of:
| client_send = "^${extract{1}{::}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}^${extract{2}{::}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}"


This will look up the name of the mail server connected to in the
passwd.client file and use user name and password found in the
respective line.

However, in case that we have the following:

smtp.isp.example IN A a.b.c.d
smtp.isp.example IN A e.f.g.h
smtp.isp.example IN A i.j.k.l

d.c.b.a.in-addr.arpa IN PTR a.smtp.isp.example
h.g.f.e.in-addr.arpa IN PTR b.smtp.isp.example
l.k.j.i.in-addr.arpa IN PTR c.smtp.isp.example

In this case, $host gets initialized to [abc].smtp.isp.example, thus
needing either three entries or a wildcard *.smtp.isp.example entry in
passwd.client. However, most users just create an entry for
smtp.isp.example and then wonder why their exim doesn't authenticate.

Can I do a DNS lookup in a string expansion? What I would like to do
is to have the passwd.client lookup match as soon as the host name in
the first column of passwd.client has an A record pointing to
$host_address.

Any ideas how to elegantly do this?

Greetings
Marc

-- 
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber         |   " Questions are the         | Mailadresse im Header
Mannheim, Germany  |     Beginning of Wisdom "     | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834