Exim developers,

http://www.exim.org/exim-html-4.63/doc/html/spec_html/ch11.html#id2572769

----------------------------------------------------------------------
A looked up name is accepted only if it leads back to the original IP 
address via a forward lookup. If either the reverse or the forward 
lookup fails to find any data, or if the forward lookup does not yield 
the original IP address, $sender_host_name remains empty, and 
$host_lookup_failed is set to “1”.
----------------------------------------------------------------------

The way I understand the above paragraph, $sender_host_name will remain 
empty unless both the reverse and forward lookup succeeds, *and* the 
forward lookup yields the original IP address. This understanding does 
not agree with observed behavior (exim-snapshot-2006-10-16), as the 
following ACL fragment/log lines shows:

logwrite = X-debug: host_lookup_deferred=$host_lookup_deferred, 
host_lookup_failed=$host_lookup_failed, sender_host_name=$sender_host_name

2006-11-17 11:59:48 X-debug: host_lookup_deferred=1, 
host_lookup_failed=0, sender_host_name=sbd7.shopbigdogs.info
2006-11-17 13:28:41 X-debug: host_lookup_deferred=1, 
host_lookup_failed=0, sender_host_name=201-243-111-247.dyn.dsl.cantv.net
2006-11-17 13:37:11 X-debug: host_lookup_deferred=1, 
host_lookup_failed=0, sender_host_name=98.66.230.200.in-addr.arpa
2006-11-17 13:43:57 X-debug: host_lookup_deferred=1, 
host_lookup_failed=0, sender_host_name=85-14-75-17.akk.net.pl

I would consider this a bug either in Exim itself of the Exim 
specification. I'll leave it to whoever wrote the relevant 
code/documentation to figure out which :-)

If this is indeed and Exim bug, a quick glance at src/host.c would 
suggest that the below patch should correct it, though it may have 
unforeseen consequences, and I'm not sure if sender_host_address should 
be free()-ed?


        Bob

--- host.c-orig Sat Nov 18 00:22:45 2006
+++ host.c-new  Sat Nov 18 00:23:22 2006
@@ -1792,6 +1792,7 @@
      {
      HDEBUG(D_host_lookup) debug_printf("temporary error for host name 
lookup\n");
      host_lookup_deferred = TRUE;
+    sender_host_address = NULL;
      return DEFER;
      }
    else

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-dev Exim details 
at http://www.exim.org/ ##

Reply via email to