[Exim] Most probably bug with host lists verifying

Top Page
Delete this message
Reply to this message
Author: Andrew V Stikheev
Date:  
To: exim-users
Subject: [Exim] Most probably bug with host lists verifying
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