Am 2005-11-14 07:53:49, schrieb Gary Funck:
Although I'm a bit of an agnostic on this, a case can be made that
many users don't have root access, yet still want to do their own
mail filtering (mainly to fend off spam). Those same users may not
have Spamassassin, or don't want to learn yet another mail filtering
package.
Ruud's suggestions on another thread imply a function syntax that
might offer the hooks for adding features like this to procmail
and (...shudder...) even plug-ins could be contemplated.
You mean, something like
__( '/home/michelle.konzack/.procmail/FLT_spamhaus' )_________________
/
| ####################################################################
| #
| # FLT_spamhaus
| #
| ####################################################################
|
| SUB1=`formail -zxSubject:`
| DATE1=`date +"%d/%m/%Y %T"`
|
| ####################################################################
| # Open Relay check from <www.spamhaus.org> uses sbl-xbl lists
| # and others
| ####################################################################
|
| :0
| * ? test ! -f "`which host`"
| {
| LOG="($TDPID) FLT_spamhaus : executable "host" not found.$NL"
| }
|
| :0
| * ? test -f "`which host`"
| {
| LOG="($TDPID) FLT_spamhaus : begin first IP (`date '+%Y-%m-%d
%H:%M:%S'`)$NL"
|
| ########## first IP ##########
| :0 H
| * Received:.*[/[0-9]+.[0-9]+.[0-9]+.[0-9]+
| {
| RECEIVIP=${MATCH}
|
| :0
| * ! RECEIVIP ?? 127.0.0.1
| {
| :0
| * RECEIVIP ?? ()/[0-9]+
| {
| QUAD1=${MATCH}
| :0
| * RECEIVIP ?? [0-9]+./[0-9]+
| {
| QUAD2=${MATCH}
| :0
| * RECEIVIP ?? [0-9]+.[0-9]+./[0-9]+
| {
| QUAD3=${MATCH}
| :0
| * RECEIVIP ?? [0-9]+.[0-9]+.[0-9]+./[0-9]+
| {
| RECEIVIPREV="${MATCH}.${QUAD3}.${QUAD2}.${QUAD1}"
| }
| }
| }
|
| ################ sbl-xbl.spamhaus.org ##############################
| LOG="($TDPID) FLT_spamhaus : 1 : sbl-xbl.spamhaus.org$NL"
| :0
| { REVCHECKIP=`host ${RECEIVIPREV}.sbl-xbl.spamhaus.org 2>&1 | grep -v
'not found.'` }
| :0
| * $ REVCHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0fhw
| | formail -i "Subject: ***sbl-xbl.spamhaus.org*** $SUB1" -i
"X-TDSpamHaus: $RECEIVIP"
| :0
| * ^Subject:.*(***sbl-xbl.spamhaus.org***)
| .ATTENTION.FLT_spamhaus_sbl-xbl_spamhaus_org/
| }
| ################ cbl.abuseat.org ###################################
| LOG="($TDPID) FLT_spamhaus : 1 : cbl.abuseat.org$NL"
| :0
| { REVCHECKIP=`host ${RECEIVIPREV}.cbl.abuseat.org 2>&1 | grep -v 'not
found.'` }
| :0
| * $ REVCHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0fhw
| | formail -i "Subject: ***cbl.abuseat.org*** $SUB1" -i "X-TDSpamHaus:
$RECEIVIP"
| :0
| * ^Subject:.*(***cbl.abuseat.org***)
| .ATTENTION.FLT_spamhaus_cbl_abuseat_org/
| }
| ################ relays.ordb.org ###################################
| LOG="($TDPID) FLT_spamhaus : 1 : relays.ordb.org$NL"
| :0
| { REVCHECKIP=`host ${RECEIVIPREV}.relays.ordb.org 2>&1 | grep -v 'not
found.'` }
| :0
| * $ REVCHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0 fhw
| | formail -i "Subject: ***relays.ordb.org*** $SUB1" -i "X-TDSpamHaus:
$RECEIVIP"
| :0
| * ^Subject:.*(***relays.ordb.org***)
| .ATTENTION.FLT_spamhaus_relays_ordb_org/
| }
| ################ list.dsbl.org #####################################
| LOG="($TDPID) FLT_spamhaus : 1 : list.dsbl.org$NL"
| :0
| { REVCHECKIP=`host ${RECEIVIPREV}.list.dsbl.org 2>&1 | grep -v 'not
found.'` }
| :0
| * $ REVCHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0fhw
| | formail -i "Subject: ***list.dsbl.org*** $SUB1" -i "X-TDSpamHaus:
$RECEIVIP"
| :0
| * ^Subject:.*(***list.dsbl.org***)
| .ATTENTION.FLT_spamhaus_list_dsbl_org/
| }
| }
| }
| }
|
| ########## second IP ##########
| LOG="($TDPID) FLT_spamhaus : begin second IP$NL"
| :0 H
| * Received: from.*[.*](.*$)+Received:.*[/[0-9]+.[0-9]+.[0-9]+.[0-9]+
| {
| RECEIVIP2=${MATCH}
|
| :0
| * ! RECEIVIP2 ?? 127.0.0.1
| {
| :0
| * RECEIVIP2 ?? ()/[0-9]+
| {
| QUAD1=${MATCH}
| :0
| * RECEIVIP2 ?? [0-9]+./[0-9]+
| {
| QUAD2=${MATCH}
| :0
| * RECEIVIP2 ?? [0-9]+.[0-9]+./[0-9]+
| {
| QUAD3=${MATCH}
| :0
| * RECEIVIP2 ?? [0-9]+.[0-9]+.[0-9]+./[0-9]+
| {
| RECEIVIP2REV="${MATCH}.${QUAD3}.${QUAD2}.${QUAD1}"
| }
| }
| }
| ################ sbl-xbl.spamhaus.org ##############################
| LOG="($TDPID) FLT_spamhaus : 2 : sbl-xbl.spamhaus.org$NL"
| :0
| { REV2CHECKIP=`host ${RECEIVIP2REV}.sbl-xbl.spamhaus.org 2>&1 | grep -v
'not found.'` }
| :0
| * $ REV2CHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0fhw
| | formail -i "Subject: ***sbl-xbl.spamhaus.org*** $SUB1" -i
"X-TDSpamHaus: $RECEIVIP2"
| :0
| * ^Subject:.*(***sbl-xbl.spamhaus.org***)
| .ATTENTION.FLT_spamhaus_sbl-xbl_spamhaus_org/
| }
| ################ cbl.abuseat.org ###################################
| LOG="($TDPID) FLT_spamhaus : 2 : cbl.abuseat.org$NL"
| :0
| { REV2CHECKIP=`host ${RECEIVIP2REV}.cbl.abuseat.org 2>&1 | grep -v 'not
found.'` }
| :0
| * $ REV2CHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0fhw
| | formail -i "Subject: ***cbl.abuseat.org*** $SUB1" -i "X-TDSpamHaus:
$RECEIVIP2"
| :0
| * ^Subject:.*(***cbl.abuseat.org***)
| .ATTENTION.FLT_spamhaus_cbl_abuseat_org/
| }
| ################ relays.ordb.org ###################################
| LOG="($TDPID) FLT_spamhaus : 2 : relays.ordb.org$NL"
| :0
| { REV2CHECKIP=`host ${RECEIVIP2REV}.relays.ordb.org 2>&1 | grep -v 'not
found.'` }
| :0
| * $ REV2CHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0 fhw
| | formail -i "Subject: ***relays.ordb.org*** $SUB1" -i "X-TDSpamHaus:
$RECEIVIP2"
| :0
| * ^Subject:.*(***relays.ordb.org***)
| .ATTENTION.FLT_spamhaus_relays_ordb_org/
| }
| ################ list.dsbl.org ###################################
| LOG="($TDPID) FLT_spamhaus : 2 : list.dsbl.org$NL"
| :0
| { REV2CHECKIP=`host ${RECEIVIP2REV}.list.dsbl.org 2>&1 | grep -v 'not
found.'` }
| :0
| * $ REV2CHECKIP ?? 127.0.0.(2|4)
| { IP=`echo $RECEIVIP >>$HOME/log/spamhaus/`date +%Y-%m`.log`
| :0fhw
| | formail -i "Subject: ***list.dsbl.org*** $SUB1" -i "X-TDSpamHaus:
$RECEIVIP2"
| :0
| * ^Subject:.*(***list.dsbl.org***)
| .ATTENTION.FLT_spamhaus_list_dsbl_org/
| }
| }
| }
| }
|
| LOG="($TDPID) FLT_spamhaus : End (`date '+%Y-%m-%d %H:%M:%S'`)$NL
| "
| }
|
| ########################################### END-OF-SPAMHAUS ########
\______________________________________________________________________
Greetings
Michelle
--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack Apt. 917 ICQ #328449886
50, rue de Soultz MSM LinuxMichi
0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)
____________________________________________________________
procmail mailing list Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail