My current .sig file. Any word on trying to get the perl parts shrunk down smaller?
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);
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.
One hint: The first line takes care of any bad breaking.
eval join "",
map {
chomp;
s/^[^>]+>\s*//;
$_}
grep{/>/} <DATA>;
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.
--
$Stalag99{"URL"}="http://stalag99.keenspace.com";