changeset 131:df355d117199

uribl lookups fully qualified; allow two component host names
author carl
date Tue, 01 Aug 2006 10:44:55 -0700
parents e316f6fd9c39
children ae9daf43d8eb
files ChangeLog NEWS configure.in src/dnsbl.cpp src/scanner.cpp
diffstat 5 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Aug 01 10:44:55 2006 -0700
+++ b/ChangeLog	Tue Aug 01 10:44:55 2006 -0700
@@ -1,5 +1,10 @@
     $Id$
 
+5.19 2006-08-01
+    Bug fix - add trailing dot to uribl dns lookups to make them fully
+    qualified.  Check host names with only two components, since
+    spammers are now using bare http://domain.tld references.
+
 5.18 2006-04-27
     Bug fix - newer sendmail versions don't guarantee envelope addresses
     enclosed in <> wrapper.
--- a/NEWS	Tue Aug 01 10:44:55 2006 -0700
+++ b/NEWS	Tue Aug 01 10:44:55 2006 -0700
@@ -1,5 +1,6 @@
     $Id$
 
+5.19 2006-08-01 uribl dnsl lookups fully qualified; allow two component host names
 5.18 2006-04-27 sendmail no longer guarantees <> wrapper on envelopes, don't ask uribls about rfc1918 space either
 5.17 2006-03-25 never ask dns blacklists about rfc1918 address space
 5.16 2006-03-16 bug fix, smtp error message for uribl filtering needs host name, not ip address
--- a/configure.in	Tue Aug 01 10:44:55 2006 -0700
+++ b/configure.in	Tue Aug 01 10:44:55 2006 -0700
@@ -1,7 +1,7 @@
 AC_INIT(configure.in)
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(dnsbl,5.18)
+AM_INIT_AUTOMAKE(dnsbl,5.19)
 AC_PATH_PROGS(BASH, bash)
 
 AC_LANG_CPLUSPLUS
--- a/src/dnsbl.cpp	Tue Aug 01 10:44:55 2006 -0700
+++ b/src/dnsbl.cpp	Tue Aug 01 10:44:55 2006 -0700
@@ -678,7 +678,7 @@
 		if (x) hostname = x+1;
 		*top = '.';
 	}
-	snprintf(buf, sizeof(buf), "%s.%s", hostname, priv.uribl_suffix);
+	snprintf(buf, sizeof(buf), "%s.%s.", hostname, priv.uribl_suffix);
 	if (dns_interface(priv, buf, false, NULL)) {
 		if (debug_syslog > 2) {
 			char tmp[maxlen];
--- a/src/scanner.cpp	Tue Aug 01 10:44:55 2006 -0700
+++ b/src/scanner.cpp	Tue Aug 01 10:44:55 2006 -0700
@@ -1211,7 +1211,7 @@
 		char *p1 = strchr((const char *)pending, '.');
 		char *p2 = strrchr((const char *)pending, '.');
 		char *p3 = strstr((const char *)pending, "..");
-		if (p1 && (p1 != pending) & !p3) {
+		if (p1 && (p1 != (char*)pending) & !p3) {
 			// have a period, so at least two components, and no empty components
 			in_addr ip;
 			if (inet_aton((const char*)pending, &ip))