changeset 120:1d9e6c1b8872

uribl patch from Jeff Evans <jeffe@tricab.com>
author carl
date Sun, 12 Mar 2006 12:55:40 -0800
parents d9d2f8699621
children e2506138561b
files NEWS configure.in install.bash new.bash src/dnsbl.cpp test.bash
diffstat 6 files changed, 4 insertions(+), 161 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Sun Mar 12 12:38:43 2006 -0800
+++ b/NEWS	Sun Mar 12 12:55:40 2006 -0800
@@ -1,6 +1,6 @@
     $Id$
 
-5.13 2006-03-12 add SURBL/URIBL lookups, patch from Jeff Evans <jeffe@tricab.com>
+5.13 2006-03-12 patch from Jeff Evans <jeffe@tricab.com> to add SURBL/URIBL lookups
 5.12 2006-01-08 use larger resolver buffer to accomodate spammers with many name servers
 5.11 2005-12-20 switch to autoconf/automake/docbook
 5.10 2005-10-16 fix compile error on FC3
--- a/configure.in	Sun Mar 12 12:38:43 2006 -0800
+++ b/configure.in	Sun Mar 12 12:55:40 2006 -0800
@@ -1,7 +1,7 @@
 AC_INIT(configure.in)
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(dnsbl,5.12)
+AM_INIT_AUTOMAKE(dnsbl,5.13)
 AC_PATH_PROGS(BASH, bash)
 
 AC_LANG_CPLUSPLUS
--- a/install.bash	Sun Mar 12 12:38:43 2006 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-#!/bin/bash
-
-#####################
-# stop the milter if it is already installed
-if [ -f /etc/rc.d/init.d/dnsbl ]; then
-    /etc/rc.d/init.d/dnsbl stop
-    rm -f /etc/rc.d/init.d/dnsbl
-fi
-
-
-#####################
-# build the milter
-# add compiler flags - suggested by Nigel Horne
-g++ -c $CXXFLAGS -pthread dnsbl.cpp scanner.cpp context.cpp tokenizer.cpp
-if [ $? -ne 0 ]; then
-    echo "compiler errors"
-    exit
-fi
-g++ -o dnsbl dnsbl.o scanner.o context.o tokenizer.o /usr/lib/libresolv.a -lmilter -pthread
-if [ $? -ne 0 ]; then
-    echo "linker errors"
-    exit
-fi
-
-
-#####################
-# ensure the user is created
-/usr/bin/getent passwd dnsbl || /usr/sbin/useradd -r -d /etc/dnsbl -M -c "dnsbl pseudo-user" -s /sbin/nologin dnsbl
-# install the milter
-DST=/etc/dnsbl
-mkdir -p $DST
-if [ -f /var/dnsbl/dnsbl.conf ]; then
-    # move the conf files to the new location
-    mv /var/dnsbl/*conf $DST
-    rm /var/dnsbl/dnsbl # remove the old binary
-    rmdir /var/dnsbl
-fi
-CONF=$DST/dnsbl.conf
-if [ -f $CONF ]; then
-    grep '^context' $CONF >/dev/null
-    if [ $? -eq 1 ]; then
-        # config file exists, but it is for the older version
-        # preserve it and start over
-        suf=4.old
-        for i in dnsbl hosts-ignore html-tags tld; do
-            j=$DST/$i.conf
-            if [ -f $j ]; then
-                mv -f $j $j.$suf
-            fi
-        done
-    fi
-fi
-if [ ! -f $CONF ]; then
-    cp dnsbl.conf        $DST
-    cp hosts-ignore.conf $DST
-    cp html-tags.conf    $DST
-    cp tld.conf          $DST
-fi
-if [ ! -f $DST/hosts-ignore.conf ]; then
-    cp hosts-ignore.conf $DST
-fi
-if [ ! -f $DST/html-tags.conf ]; then
-    cp html-tags.conf $DST
-fi
-rm -f $DST/tld.conf     # new tld list
-if [ ! -f $DST/tld.conf ]; then
-    cp tld.conf $DST
-fi
-
-# make the directory for the socket
-mkdir -p          /var/run/dnsbl
-chown dnsbl:dnsbl /var/run/dnsbl
-chmod 700         /var/run/dnsbl
-
-# install the binaries
-mv -f dnsbl /usr/sbin/dnsbl
-cp dnsbl.rc /etc/rc.d/init.d/dnsbl
-chmod 755 /etc/rc.d/init.d/dnsbl
-/sbin/chkconfig --add dnsbl
-/sbin/chkconfig --level 2345 dnsbl on
-/etc/rc.d/init.d/dnsbl start
--- a/new.bash	Sun Mar 12 12:38:43 2006 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-############################
-## compile and run the new parser program
-##
-rm -f dnsbl.o scanner.o context.o tokenizer.o
-g++ -c -pthread dnsbl.cpp scanner.cpp context.cpp tokenizer.cpp
-if [ $? -ne 0 ]; then
-    echo "compiler errors"
-    exit
-fi
-g++ -o dnsbl dnsbl.o scanner.o context.o tokenizer.o /usr/lib/libresolv.a -lmilter -pthread
-if [ $? -ne 0 ]; then
-    echo "linker errors"
-    exit
-fi
--- a/src/dnsbl.cpp	Sun Mar 12 12:38:43 2006 -0800
+++ b/src/dnsbl.cpp	Sun Mar 12 12:55:40 2006 -0800
@@ -698,9 +698,9 @@
 bool check_uribl(mlfiPriv &priv, char *hostname) {
 	in_addr ip;
 	if (inet_aton(hostname, &ip)) {
+		const u_char *src = (const u_char *)&ip.s_addr;
 		char adr[sizeof "255.255.255.255"];
-		adr[0] = '\0';
-		inet_ntop(AF_INET, (const u_char *)&ip, adr, sizeof(adr));
+		snprintf(adr, sizeof(adr), "%u.%u.%u.%u", src[3], src[2], src[1], src[0]);
 		return (uriblookup(priv, adr, NULL));
 	}
 
--- a/test.bash	Sun Mar 12 12:38:43 2006 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-#!/bin/bash
-
-############################
-## compile and run the test program
-##
-#g++ -c test.cpp
-#if [ $? -ne 0 ]; then
-#    echo "compiler errors"
-#    exit
-#fi
-#g++ -o test test.o -pthread
-#if [ $? -ne 0 ]; then
-#    echo "linker errors"
-#    exit
-#fi
-
-
-###########################
-# compile the milter
-#
-
-if [ "$1" == "build" ]; then
-    rm -f dnsbl.o scanner.o context.o tokenizer.o
-    g++ -c -pthread dnsbl.cpp scanner.cpp context.cpp tokenizer.cpp
-    if [ $? -ne 0 ]; then
-        echo "compiler errors"
-        exit
-    fi
-    g++ -o dnsbl dnsbl.o scanner.o context.o tokenizer.o /usr/lib/libresolv.a -lmilter -pthread
-    if [ $? -ne 0 ]; then
-        echo "linker errors"
-        exit
-    fi
-fi
-
-if [ "$1" == "test" ]; then
-    # build the test.cf file
-    make -f Makefile.test test.cf
-
-    # start the milter
-    pid=/var/run/dnsbl.pid
-    echo start the milter
-    mkdir -p /var/run/dnsbl
-    chmod 700 /var/run/dnsbl
-    chown dnsbl:dnsbl /var/run/dnsbl
-    mv -f $pid $pid.save
-    ./dnsbl -d 10 -r /var/run/dnsbl/dnsbl.resolver.sock2 -p local:/var/run/dnsbl/dnsbl.sock2
-    sleep 5
-    P2=`cat $pid`
-    mv -f $pid.save $pid
-    echo started dnsbl milter as process $P2
-
-    /usr/lib/sendmail -bd -Ctest.cf -Ldnsbl
-    sleep 5
-    P3=`head -1 /var/run/sm-test.pid`
-    echo started sendmail as process $P3
-
-    echo eventually "'"kill -KILL $P2 $P3"'"
-
-fi