#!/usr/bin/perl -w
-# $Id: t-prot,v 1.267 2009/12/30 21:34:16 jochen Exp $
+# $Id: t-prot,v 1.269 2010/01/05 12:05:03 jochen Exp $
require 5.006;
use strict;
use Fcntl qw(O_EXCL O_WRONLY O_CREAT);
use Getopt::Mixed qw(nextOption);
-use constant VER => '2.10';
+use constant VER => '2.11';
use constant REV => '';
-use constant REL => q$Revision: 1.267 $=~m/(\d+(?:\.\d+)+)/;
+use constant REL => q$Revision: 1.269 $=~m/(\d+(?:\.\d+)+)/;
# MTA expecting mail on STDIN
# (you might have to adjust this if using a different MTA)
use constant SENDMAIL => '/usr/sbin/sendmail -oi';
$ftr_ml = undef; # too hard on performance to be default
$ofile = '-'; # use STDOUT if nothing is specified
$spass_prefix = 'SPAM: ';
-$check_ratio = .75; # 3/4 tofu is enough not to accept the message
+$check_ratio = 0; # off by default
$msg_quote = "Blocked by $0: This message has been rejected because of a full quote. Please see http://learn.to/quote/ and http://www.escape.de/users/tolot/mutt/ for more info. Have a nice day!\n";
$msg_ratio = "Blocked by $0: This message has been rejected because of excessive quoting. Please see http://learn.to/quote/ and http://www.escape.de/users/tolot/mutt/ for more info. Have a nice day!\n";
# end of user adjusted vals
if (index($$lines[$x], $indent)==0) { $y++; }
}
}
- $y = $y/$z;
- if ($y>=$check_ratio) {
+ if ($y/$z>=$check_ratio) {
print $msg_ratio;
exit EX_UNAVAILABLE;
}
elsif ($opt eq 'c') { $cr = 1; }
elsif ($opt eq 'check') {
$check = 1;
- while ($val && $val =~ s/^([^,\s]+)(?:,(\S+))?$/$2/) {
+ while ($val && $val =~ /^([^,\s]+)(?:,(\S+))?$/) {
my $foo = $1;
+ $val = $2;
- if ($foo =~ /^ratio=(0?\.\d+)$/) {
- $check_ratio = $1?$1:1;
+ if ($foo =~ /^ratio(?:=(0?\.\d+))?$/) {
+ $check_ratio = $1?$1:0.75;
}
}
}