[Exim] HELO reject when reverse DNS lookup fails - trivial p…

Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Paul Sheer
Fecha:  
A: exim-users
Asunto: [Exim] HELO reject when reverse DNS lookup fails - trivial patch and new c onf option suggested
Exim forces a lookup if the domain in the HELO is a local domain.
(see spec.txt) This causes deliveries to fail from our
dialup machines under the domain of the host, since our ISP does
not support reverse lookups on the dynamic addresses assigned to
dialup machines (these are 192.168.*.* addresses). This patch to
host.c in the exim source translates IP's 192.168.*.* to host
names 192.168.*.*.local.domain.

Can this be made an option? - like:

    auto_reverse_ip = 192.168.0.0/16


or perhaps:

    never_reverse_lookup_ips = 192.168.0.0/16


(note that in my case, security is not an issue since the whole
network is firewalled in. Also:
    LOCALDOMAIN = my.local.domain
    192\.168\.([^.]*)\.([^.]*) --> \2.\1.LOCALDOMAIN
is probably better)


many thanks

-paul

--- host.c.orig    Wed Dec  8 11:57:05 1999
+++ host.c    Sun Mar  5 12:57:17 2000
@@ -1085,6 +1085,25 @@
 hosts = gethostbyaddr((char *)(&addr), sizeof(addr), AF_INET);
 #endif


+
+#define ADDRESS_192_168 "192.168."
+#define ADD_LOCAL_DOMAIN ".local.domain"
+/* Paul Sheer <psheer@???> Fri Mar  3 20:34:19 2000 */
+/* don't break on 192.168.*.* address - never do a reverse lookup */
+if (hosts == NULL && sender_host_address != NULL)
+    if (!strncmp (sender_host_address, ADDRESS_192_168, strlen (ADDRESS_192_168))) {
+    addr.s_addr = (S_ADDR_TYPE)inet_addr(sender_host_address);
+    hosts = gethostbyaddr((char *)(&addr), sizeof(addr), AF_INET);
+    if (hosts == NULL) {
+        sender_host_name = store_malloc(strlen (sender_host_address) + strlen (ADD_LOCAL_DOMAIN) + 1);
+        strcpy (sender_host_name, sender_host_address);
+        strcat (sender_host_name, ADD_LOCAL_DOMAIN);
+        sender_host_aliases = NULL;
+        return TRUE;
+    }
+    }
+
+
 /* Failed to look up the host. NB host_lookup_msg must be in permant store. */


if (hosts == NULL)



--
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3i

mQCNAzdiRpAAAAEEANPUPC/Lrs4OCJOjWaIWaCYTzTIY1p73uPY+8ZOJH5fc4QNp
IAX+EFQ/yZ3RMOLg8yy++HufzBwDoePO4W0MKwyVFCcNIIjsY6JCXWdbpQXsY1LL
OASlGexQnEQ4mfc7ThOAKWSgPyiMv5vDJ6S0EL8rdIFL7fVv56BAxnN042FRAAUR
tCJQYXVsIFNoZWVyIDxwc2hlZXJAb2JzaWRpYW4uY28uemE+iQCVAwUQN2JGkKBA
xnN042FRAQF5CAP/Y0TaguqCpYiTEBHxZPpT/dliInVRBzryi4gdlgX6CCLDRRGH
ATP4ac8aiATegc4ev4+vcdn4fBwc6fQ2AP6hd25ZI93vShxztM/bQlGWy0zp79Uo
+69uGdJhdvgYpIsTCqppM/yjeXAJEqq5TG2Gy4pqHY235rspmeA/fX7kgIo=
=aX4m
-----END PGP PUBLIC KEY BLOCK-----

Cellular . . . +27 83 604 0615 . . . . Land . . . +27 21 761 7224
Obsidian Systems . . . . Linux installations, support, networking
info@??? . . . . . . . . . . Tel . . +27 21 448 9265
http://www.obsidian.co.za . . . . . . . Jhb . . . +27 11 792 6500
L I N U X . . . . . . . . . . . . . The Choice of a GNU Generation