# greylisting-spp - A qmail-spp plugin implementing greylisting

#   Copyright (C) 2004 Peter Conrad <conrad@tivano.de>

#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License (version 2) as
#   published by the Free Software Foundation.

#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.

#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software
#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

all: run-tests

ifeq ("$(DB_IMPL)","bdb")
    TESTDB=`pwd`/dbdir
else
    TESTDB=`pwd`/dbdir/testdb
endif

greylisting-spp:
	make -C ../src
	ln -sf ../src/greylisting-spp

run-tests: greylisting-spp
	rm -rf envdir dbdir
	mkdir -p envdir
	mkdir -p dbdir
	chmod 555 dbdir
	./test-error.sh envdir
	echo "$(TESTDB)" >envdir/GL_DATABASE; ./test-error.sh envdir
	echo 192.168.16.1 >envdir/TCPREMOTEIP; ./test-error.sh envdir
	echo junk@tivano.de >envdir/SMTPMAILFROM; ./test-error.sh envdir
	echo junk@tivano.de >envdir/SMTPRCPTTO; ./test-error.sh envdir
	chmod 755 dbdir; ./test-reject.sh envdir
	echo 1 >envdir/RELAYCLIENT; ./test-accept.sh envdir
	echo 1 >envdir/GL_DEBUG; ./test-accept.sh envdir
	rm envdir/RELAYCLIENT envdir/GL_DEBUG
	echo 1 >envdir/GL_MIN_REJECT; sleep 1; ./test-accept.sh envdir
	rm envdir/GL_MIN_REJECT; ./test-accept.sh envdir
	echo 1 >envdir/GL_ACCEPT_GOOD; sleep 2; ./test-reject.sh envdir
	rm envdir/GL_ACCEPT_GOOD; ./test-reject.sh envdir
	echo 1 >envdir/GL_MIN_REJECT; echo 1 >envdir/GL_MAX_WAIT; sleep 2; \
		./test-reject.sh envdir
	rm envdir/GL_MAX_WAIT; sleep 1; ./test-accept.sh envdir
	echo 192.168.16.2 >envdir/TCPREMOTEIP; ./test-reject.sh envdir
	echo 192.168.16.1 >envdir/TCPREMOTEIP
	echo junk01@tivano.de >envdir/SMTPMAILFROM; ./test-reject.sh envdir
	echo junk@tivano.de >envdir/SMTPMAILFROM
	echo junk01@tivano.de >envdir/SMTPRCPTTO; ./test-reject.sh envdir
	echo junk@tivano.de >envdir/SMTPRCPTTO
	sleep 1
	echo 192.168.16.2 >envdir/TCPREMOTEIP; ./test-accept.sh envdir
	echo 192.168.16.1 >envdir/TCPREMOTEIP
	echo junk01@tivano.de >envdir/SMTPMAILFROM; ./test-accept.sh envdir
	echo junk@tivano.de >envdir/SMTPMAILFROM
	echo junk01@tivano.de >envdir/SMTPRCPTTO; ./test-accept.sh envdir
	echo -n "" >envdir/SMTPMAILFROM; ./test-reject-later.sh envdir
	sleep 1
	./test-accept.sh envdir
	./test-reject-later.sh envdir
	echo bugtraq-return-15900-conrad=tivano.de@securityfocus.com \
		>envdir/SMTPMAILFROM
	./test-reject.sh envdir
	sleep 1
	echo bugtraq-return-26011-conrad=tivano.de@securityfocus.com \
		>envdir/SMTPMAILFROM
	./test-accept.sh envdir
	rm -rf $(TESTDB); mkdir -p dbdir
	echo -n "" >envdir/SMTPMAILFROM
	echo junk01@tivano.de >envdir/SMTPRCPTTO; ./test-reject-later.sh envdir
	echo junk02@tivano.de >envdir/SMTPRCPTTO; ./test-reject-later.sh envdir
	sleep 1
	echo junk01@tivano.de >envdir/SMTPRCPTTO; ./test-accept.sh envdir
	echo junk0@tivano.de >envdir/SMTPRCPTTO; ./test-reject-later.sh envdir
	echo junk02@tivano.de >envdir/SMTPRCPTTO; ./test-accept.sh envdir
	rm -rf $(TESTDB); mkdir -p dbdir
	echo junk01@tivano.de >envdir/SMTPRCPTTO; ./test-reject-later.sh envdir
	sleep 1
	./test-accept.sh envdir
	echo yuk@tivano.de >envdir/SMTPRCPTTO; ./test-reject-later.sh envdir
	echo PoStMaStEr@tivano.de >envdir/SMTPMAILFROM
	echo yuk@tivano.de >envdir/SMTPRCPTTO; ./test-reject-later.sh envdir
	sleep 1
	./test-accept.sh envdir

clean:
	rm -rf envdir greylisting-spp dbdir

# Do not change the following line:
# arch-tag: c23deea8-3210-4fc7-97ff-247520c2bbfa
