Hi,
Installed 4.11 on a live production server this morning (okay, I'm gutsy).
Thought everything was running ok, until I realized that none of our
virtual domains were working correctly. Turns out that 4.11 was
treating our "dbm" lookups as "dbmnz". All our local dbm lookups were
failing as a result.
This is specific to 4.11. Reverting back to 4.10 made everything work
fine again. I didn't see anything in the ChangeLog on making "dbm"
types revert to "dbmnz" automatically, so I assume this is a bug of
sorts. If so, watch out - it could be a doozy if you get hit by it.
Here is a snippet of a router from our config. Note that the
"vipdomains" file DOES contain the matching data, but its zero padded,
so the "dbmnz" caused it to fail.
domainlist vipdomains = partial-dbm;/usr/local/exim/vipdomains
virtual:
driver = redirect
domains = +vipdomains
allow_fail
retry_use_local_part
data = ${lookup{$local_part@$domain} dbm{/usr/local/exim/vipaliases}}
The debug that resulted:
--------> virtual router <--------
local_part=testuser domain=mytestdomain.com
checking domains
search_open: dbmnz "/usr/local/adm/exim/db/vipdomains"
search_find: file="/usr/local/adm/exim/db/vipdomains"
key="mytestdomain.com" partial=2 affix=*. starflags=0
LRU list:
2/usr/local/adm/exim/db/vipdomains
End
internal_search_find: file="/usr/local/adm/exim/db/vipdomains"
type=dbmnz key="mytestdomain.com"
file lookup required for mytestdomain.com
in /usr/local/adm/exim/db/vipdomains
lookup failed
trying partial match *.mytestdomain.com
internal_search_find: file="/usr/local/adm/exim/db/vipdomains"
type=dbmnz key="*.mytestdomain.com"
file lookup required for *.mytestdomain.com
in /usr/local/adm/exim/db/vipdomains
lookup failed
mytestdomain.com in "partial-dbm;/usr/local/adm/exim/db/vipdomains"? no (end of
list)
mytestdomain.com in "+vipdomains"? no (end of list)
cached lookup data = NULL
virtual router skipped: domains mismatch
Regards,
Dean Brooks
dean@???