#CONF_DIR=/etc/mail CONF_DIR=../../../conf2 ACCESS_DIR=../../../conf2 ACCESS_BAK_DIR=../site SITE_DIR=../site TOOLS_DIR=../../../tools MC_DIR=../mc ### for gmake INIT_SCRIPT += $(shell test -f /etc/rc.d/sendmail && echo /etc/rc.d/sendmail) INIT_SCRIPT += $(shell test -f /usr/local/etc/rc.d/sendmail.sh && echo /usr/local/etc/rc.d/sendmail.sh) INIT_SCRIPT += $(shell test -f /etc/rc.d/init.d/sendmail && echo /etc/rc.d/init.d/sendmail) #INIT_SCRIPT += $(shell test -f /sbin/service && echo /sbin/service sendmail) MAP_OBJ += $(shell test -f ${CONF_DIR}/virtusertable && echo ${CONF_DIR}/virtusertable.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/mailertable && echo ${CONF_DIR}/mailertable.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/domaintable && echo ${CONF_DIR}/domaintable.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/bitdomain && echo ${CONF_DIR}/bitdomain.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/uudomain && echo ${CONF_DIR}/uudomain.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/genericstable && echo ${CONF_DIR}/genericstable.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/userdb && echo ${CONF_DIR}/userdb.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/access && echo ${CONF_DIR}/access.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/access2 && echo ${CONF_DIR}/access2.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/access3 && echo ${CONF_DIR}/access3.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/access4 && echo ${CONF_DIR}/access4.db) MAP_OBJ += $(shell test -f ${CONF_DIR}/access5 && echo ${CONF_DIR}/access5.db) CFFILES = ${CONF_DIR}/sendmail.cf ${CONF_DIR}/submit.cf all : ${CFFILES} all_db all_access all_db : ${MAP_OBJ} alldb : all_db all_access : access access2 access3 access4 access5 ${CONF_DIR}/userdb.db: ${CONF_DIR}/userdb @makemap btree $@ < $< ${CONF_DIR}/%.db: ${CONF_DIR}/% @makemap hash $@ < $< ${CONF_DIR}/%.cf: ${MC_DIR}/%.mc @if test -f /usr/share/sendmail-cf/m4/cf.m4; then \ mv -f $@ $@.bak; \ m4 $< > $@; \ fi; clean: rm -f ${CONF_DIR}/*.db ${CONF_DIR}/*~ start: service sendmail start stop: service sendmail stop restart: service sendmail restart #tmp=/tmp/access #alldb: # cd ${CONF_DIR}; make all spamlist_local=spamlist-extended.txt spamlist_tmp=${spamlist_local}.tmp spamlist_bak=${spamlist_local}.bak spamlist-fetch: rm -rf ${spamlist_tmp} wget -c -t0 http://basic.wirehub.nl/spamlist-extended.txt -O${spamlist_tmp} cat ${spamlist_local} > ${spamlist_bak} cat ${spamlist_tmp} > ${spamlist_local} uanet_local=${SITE_DIR}/access-uanet uanet_tmp=${SITE_DIR}/${uanet_local}.tmp uanet_bak=${SITE_DIR}/${uanet_local}.bak uanet_list-fetch: rm -rf ${uanet_tmp} wget -c -t0 http://www.colocall.net/ua/?list -O${uanet_tmp} cat ${uanet_local} > ${uanet_bak} cat ${uanet_tmp} | dos2unix | perl -ne 'unless(/^[\r\n]/){chomp;print("NET:UANET:");print;print("\t\tOK\n");}' | cidrexpand > ${uanet_local} access : ${ACCESS_DIR}/access ${ACCESS_DIR}/access : ${SITE_DIR}/access-header ${SITE_DIR}/access-relays if [ -f ${ACCESS_DIR}/access ]; then cat ${ACCESS_DIR}/access > ${ACCESS_BAK_DIR}/access.bak; fi cat ${SITE_DIR}/access-header > ${ACCESS_DIR}/access cat ${SITE_DIR}/access-relays >> ${ACCESS_DIR}/access access2 : ${ACCESS_DIR}/access2 ${ACCESS_DIR}/access2 : ${SITE_DIR}/access-header ${SITE_DIR}/access-verify ${SITE_DIR}/access-misc ${SITE_DIR}/access-compat if [ -f ${ACCESS_DIR}/access2 ]; then cat ${ACCESS_DIR}/access2 > ${ACCESS_BAK_DIR}/access2.bak; fi (cat ${SITE_DIR}/access-header; echo ""; cat ${SITE_DIR}/access-verify; echo ""; cat ${SITE_DIR}/access-misc; echo ""; cat ${SITE_DIR}/access-compat) >${ACCESS_DIR}/access2 access3 : ${ACCESS_DIR}/access3 ${ACCESS_DIR}/access3 : ${SITE_DIR}/access-header ${SITE_DIR}/access-test ${SITE_DIR}/access-nets ${uanet_local} if [ -f ${ACCESS_DIR}/access3 ]; then cat ${ACCESS_DIR}/access3 > ${ACCESS_BAK_DIR}/access3.bak; fi (cat ${SITE_DIR}/access-header; cat ${SITE_DIR}/access-test) >${ACCESS_DIR}/access3 ; \ (echo ""; cat ${SITE_DIR}/access-nets | sort | cidrexpand | uniq) >>${ACCESS_DIR}/access3 (echo ""; cat ${uanet_local} | sort | cidrexpand | uniq) >>${ACCESS_DIR}/access3 access4 : ${ACCESS_DIR}/access4 ${ACCESS_DIR}/access4 : ${SITE_DIR}/access-header ${SITE_DIR}/access-spammers ${SITE_DIR}/access-spammers-subject if [ -f ${ACCESS_DIR}/access4 ]; then cat ${ACCESS_DIR}/access4 > ${ACCESS_BAK_DIR}/access4.bak; fi (cat ${SITE_DIR}/access-header; cat ${SITE_DIR}/access-spammers | ${TOOLS_DIR}/sort_access.pl) >${ACCESS_DIR}/access4 (echo ""; cat ${SITE_DIR}/access-spammers-subject | ${TOOLS_DIR}/access_make_subject.sh) >>${ACCESS_DIR}/access4 access5 : ${ACCESS_DIR}/access5 ${ACCESS_DIR}/access5 : ${SITE_DIR}/access-header ${SITE_DIR}/spamlist-extended.txt if [ -f ${ACCESS_DIR}/access5 ]; then cat ${ACCESS_DIR}/access5 > ${ACCESS_BAK_DIR}/access5.bak; fi (cat ${SITE_DIR}/access-header; cat ${SITE_DIR}/spamlist-extended.txt | ${TOOLS_DIR}/access_remark_dupes.pl ${SITE_DIR}/access-spammers) >${ACCESS_DIR}/access5