The code needs to take an IP address out of a Received header (procmail will unmunge it so it's one header/line), reverse the numbers, and look up a host to check if it's on a DNS Blacklist.eval join"",map{chomp;s/^[^>]+>\s*//;$_}grep{/>/}<DATA>; __DATA__ .' .' Kelly "STrRedWolf" Price WolfSkunk Des +igns xX xX .' http://stalag99.keenspace.com tygris(@)cablespeed(. +)com "X "X X .' NO UNSOLICITED COMMERCIAL E-MAIL ACCEPTED WITHOUT PAY +MENT _____. X" X FREE SPEECH-FREE DIMITRY: http://www.dibona.com/d +mca/ XXXXXXXx. X".' # dnsblcheck "dnsbl" "responce" < mail, ret 1 on fail +ure '"XXXXXX| X > while(<STDIN>){chomp;if(/^Received:[^\[]+\[(\d+)\.( +\d+) "XXX| X" > \.(\d+)\.(\d+)\]/){$n=`host $4.$3.$2.$1.$ARGV[0] 2> +&1`; 'XX' > exit(0) if($n=~/$ARGV[1]/m);}} exit(1);
One hint: The first line takes care of any bad breaking.
So lets see now... <DATA> sucks in the rest of the .sig. Th' grep filters everything but three lines (which have ">" up front), in which the map will remove any end-of-line characters, strip off everything up to and including "> ", and the join will just merge everything into one line which eval gets to run through.eval join "", map { chomp; s/^[^>]+>\s*//; $_} grep{/>/} <DATA>;
--
$Stalag99{"URL"}="http://stalag99.keenspace.com";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Compressing .sigs more
by jynx (Priest) on Sep 20, 2001 at 01:23 UTC | |
by strredwolf (Chaplain) on Sep 20, 2001 at 08:23 UTC | |
by jynx (Priest) on Sep 21, 2001 at 01:16 UTC | |
|
Typos?
by tommyw (Hermit) on Sep 20, 2001 at 01:45 UTC |