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";
In reply to Compressing .sigs more by strredwolf
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |