[exim-dev] [Bug 2408] Exim 4.92 generating spurious "Delay r…

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 2408] Exim 4.92 generating spurious "Delay reason:" for delayed messages
https://bugs.exim.org/show_bug.cgi?id=2408

--- Comment #2 from David Carter <dpc22@???> ---
(In reply to Jeremy Harris from comment #1)
> > lookup of host "ms1.ad.csx.cam.ac.uk" failed in internal_redirect_two router
>
> Do you have a router named "internal_redirect_two" in your configuration?


Yes, and it appears to be working correctly for other email addresses where the
target domain is correct.

Probably way more detail than you want or need right now:

uis.cam.ac.uk is effectively a large alias file, but the expansions can contain
tokens which redirect email onto other hosts without exposing the internal
names.

For example:

lapwing:lapwing@???

Relevant clauses from our Exim configure file, which relate to these
"internal_redirect" tokens:

DB                           = /opt/exim-4.92-0.el7/etc/db
domainlist internal_redirect =  cdb;DB/internal_redirect.cdb


# The following router expands addresses which are then processed by
# internal_redirect_one and internal_redirect_two:
virtual_aliases:
  driver                = redirect
  domains               = +virtual_domains
  local_parts           = cdb;DOMAINS/db/${domain}.cdb  # Includes
uis.cam.ac.uk
  address_data          = internal=yes
  data                  = $local_part_data
  forbid_blackhole
  forbid_file
  forbid_include
  forbid_pipe
  check_ancestor


# Verify addresses later processed by internal_redirect_two router
# (inout => after internal_redirect_one has expanded MMD internal_redirects)
internal_redirect_one:
  driver                = redirect
  domains               = +internal_redirect
  condition             = ${extract {internal}{$address_data} }
  data                  = ${quote_local_part:$local_part}@${extract
{domain}{$domain_data} }
  address_data          = $domain_data inout=yes


# Second stage: route to external host.

internal_redirect_two:
  driver                = manualroute
  condition             = ${extract {inout}{$address_data} }
  route_data            = ${extract {target}{$address_data} } bydns
  host_find_failed      = defer
  self                  = fail
  transport             = smtp


where /opt/exim-4.92-0.el7/etc/db/internal_redirect.cdb contains:

ad.cam.internal-redirect     domain=uis.cam.ac.uk  target=ms1.ad.csx.cam.ac.uk
uis-admin.internal-redirect  domain=uis.cam.ac.uk 
target=mailgate.admin.cam.ac.uk


the key/value pairs stored in that file haven't changed:

$ md5sum /opt/exim-4.91-0.el7/etc/db/internal_redirect.cdb
/opt/exim-4.92-0.el7/etc/db/internal_redirect.cdb
27ccf5bbd7ad7936971fcd6d83419236
/opt/exim-4.91-0.el7/etc/db/internal_redirect.cdb
27ccf5bbd7ad7936971fcd6d83419236
/opt/exim-4.92-0.el7/etc/db/internal_redirect.cdb

(all installed by Ansible).

--
You are receiving this mail because:
You are on the CC list for the bug.