Hi,
If in a hosts list (hostlist,smtp_ratelimit_hosts,rfc1413_hosts,...)
a non-existent domain is included, then exim doesn't try to match
the verified host with the list items after the non-existent domain
and treats the verified host as not present in the hosts list.
If a "+include_unknown" string is present in the list prior to non-existent
domain, then exim treats the verified host as present in the hosts list.
For example:
1) hostlist relay_from_hosts = non-existent-domain : 192.168.0.1
In this case relay from 192.168.0.1 not permitted.
2) hostlist relay_from hosts = +include_unknown : non-existent-domain
In this case relay permitted from any host.
May be somebody knows how to fix this without hacking code?
I'm using FreeBSD-current, Exim 4.34, but the problem exists in all 4.x.
This patch solve this problem -- such item is just passing by.
--- verify.c.orig Mon May 17 02:18:17 2004
+++ verify.c Mon May 17 02:36:38 2004
@@ -1823,8 +1823,7 @@
return FAIL;
}
if (rc == HOST_FIND_AGAIN) return DEFER;
- *error = string_sprintf("failed to find IP address for %s", ss);
- return ERROR;
+ return FAIL;
}
/* Almost all subsequent comparisons require the host name, and can be done
-------------------------------------------------
Andrew V Stikheev Russian Institute
E-mail: sand@??? for
Phone:+7 095 192-9179 Public Networks