X-Git-Url: http://git.jankratochvil.net/?p=PerlMail.git;a=blobdiff_plain;f=My-Audit.pm;h=d4851298321b056338ab967d90ca9252438df68c;hp=4bcb2edc4815196f46d3c8ca92febe017fdcfc0a;hb=4d6338a79427d97190dec21baa42aefe504ba064;hpb=7161a361d1db1f9779809d8160de34f87ec80c7a diff --git a/My-Audit.pm b/My-Audit.pm index 4bcb2ed..d485129 100644 --- a/My-Audit.pm +++ b/My-Audit.pm @@ -24,6 +24,16 @@ sub audit_init "atrey.karlin.mff.cuni.cz", # short@atrey.karlin.mff.cuni.cz "k332.feld.cvut.cz", # short@k332.feld.cvut.cz ); + @dnsbl_whitelist=( + "195.250.128.83", # smtp3.vol.cz; vol.cz.multistage.blackholes.five-ten-sg.com. + "64.49.222.22", # mail.pm.org: rackspace.com.spam-support.blackholes.five-ten-sg.com. + "208.147.243.5", # gambit.liquidcomm.net: cw.net.spam-support.blackholes.five-ten-sg.com. + "213.235.135.70", # smtp.tiscali.cz: tiscali.cz.multistage.blackholes.five-ten-sg.com. + "205.139.198.11", # eniac.disaster.com: cw.net.spam-support.blackholes.five-ten-sg.com. + "127.0.0.2", # 2.0.0.127.relays.ordb.org. + "65.113.40.131", # bozo.vmware.com: qwest.net.spam-support.blackholes.five-ten-sg.com. + "66.218.85.33", # mta2.wss.scd.yahoo.com.: yahoo.com.spam.blackholes.five-ten-sg.com. + ); } sub audit @@ -43,43 +53,45 @@ sub audit return if did sub { local $_; local $store_profile="silent"; - store "=spamo-k332" if grep /^\Qshort\@k332.feld.cvut.cz\E/i,Received_for(); + store "=spam" if grep /^\Qshort\@k332.feld.cvut.cz\E/i,Received_for(); # TODO: foreign violation of RFC 822 section 4.4.4, Subject:.*Automatick.+odpov.+v.+nep.+tomnosti - store "=spamo" if headeris "From",''; - store "=spamo" if headeris "From",''; - store "=spamo" if headeris "From",''; - store "=spamo" if headeris "From",''; - store "=spamo" if headeris "From",''; - store "=spamo" if headeris "From",''; + store "=spam" if headeris "From",''; + store "=spam" if headeris "From",''; + store "=spam" if headeris "From",''; + store "=spam" if headeris "From",''; + store "=spam" if headeris "From",''; + store "=spam" if headeris "From",''; + store "=spam" if headeris "From",''; { # weak detection: files with text/html w/o text/plain are usually a spam my @types_linear=map({ mime_type($_); } parts_linear()); - store "=spamo-html" if grep({ $_ eq "text/html"; } @types_linear) && !grep({ $_ eq "text/plain"; } @types_linear); + store "=spam" if grep({ $_ eq "text/html"; } @types_linear) && !grep({ $_ eq "text/plain"; } @types_linear); } - store "=spamo-big5" if ($_=mimehead(body_first())->mime_attr("Content-Type.charset")) && /^big5/i; + store "=spam" if ($_=mimehead(body_first())->mime_attr("Content-Type.charset")) && /^big5/i; }; # spam detection return if did sub { local $store_profile="silent"; local $_; - store "=spam-razor".($_ eq 1 ? "" : ";$_") if $_=razor2(); + store "=spam".($_ eq 1 ? "" : ";$_") if $_=razor2(); }; return if did sub { local $store_profile="silent"; local $_; - store "=spam-orbs" .";$_","log" if $_=dnsbl '.relays.ordb.org.' ,1; # all hosts - store "=spam-abuse" .";$_","log" if $_=dnsbl '.blackholes.mail-abuse.org.' ,1; # all hosts + store "=spam" .";$_","log" if $_=dnsbl '.relays.ordb.org.' ,1; # all hosts + store "=spam" .";$_","log" if $_=dnsbl '.blackholes.mail-abuse.org.' ,1; # all hosts # we don't check all hosts as they can be "dialup" category, FIXME: check for it - store "=spam-five" .";$_","log" if $_=dnsbl '.blackholes.five-ten-sg.com.',0; # just first + store "=spam" .";$_","log" if $_=dnsbl '.blackholes.five-ten-sg.com.',0; # just first # I don't send viruses but viruses propagate mails of mine - store "=spam-av" if headeris "X-Mailer",'ravmd/8.3.2'; + store "=spam" if headeris "X-Mailer",'ravmd/8.3.2'; }; # special delivery store "=err","bell" and return if headerhas \&Received_for,''; # ppl-wished foreign remapping, Reply-To is left untouched! + # FIXME: modifications are now being dropped by &write_message! header_remap("From",{ 'kerere@post.cz' =>'kamzik@k332.feld.cvut.cz', 'profes@mbox.vol.cz' =>'kratochvilova@egp.cz', @@ -110,16 +122,17 @@ sub audit + ); store "=gsm" if headeris "Sender" ,''; store "=gsmpand" if headeris "List-Post",''; + store "=9kc","log" if headeris "List-Post",''; + store "=9kcd","log" if headeris "List-Post",''; } # lists store "=mozillabug","log" if headeris "From" ,''; - store "=9kc","log" if headeris "List-Post",''; - store "=9kcd","log" if headeris "List-Post",''; store "=9ku","log" if headeris "List-Id" ,'<9000.listman.net>'; store "=9kd","log" if headeris "Sender" ,''; store "=spong","log" if headeris "List-Id" ,''; @@ -137,11 +150,13 @@ sub audit store "=roskernel","log" if headeris "List-Post",''; store "=roscvs","silent" if headeris "List-Post",''; store "=rosbug","log" if headeris "Reply-To" ,''; - store "=fsd","log" if headeris "X-Mailing-List",''; + store "=fsd","silent" if headeris "X-Mailing-List",''; + store "=kerneld","silent" if headeris "X-Mailing-List",''; store "=surprise","sms" if headeris "List-Post",''; store "=surprisesuse","sms" if headeris "Sender" ,''; store "=tacacs","log" if headeris "Sender" ,''; - store "=tacacsd","log" if headerhas \&Received_for,'devel@tacplus.org'; # TODO: fix when real list + store "=tacacs","log" if headeris "Sender" ,''; + store "=tacacs","log" if headeris "List-Id" ,''; store "=pm","sms" if headeris "Sender" ,''; store "=radary","log" if headeris "Reply-To" ,''; store "=dnet","log" if headeris "Sender" ,'<@lists.distributed.net>'; @@ -161,6 +176,11 @@ sub audit store "=libtoolpat","log" if headeris "List-Id" ,''; # own webs store "=energie","bell" if headeris "From" ,qr/^EnergieWeb/; + store "=ats","log" if headeris("From" ,'') + || (headeris("From",'') && headerhas("To",'')); + store "=atscasablanca","log" if headeris "From" ,''; + store "=www-sms","log" if headeris "List-Id" ,''; + # Petr Koutecky does not mark his Stuff store "=koutecky","log" if headeris "From" ,'';