X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=t-prot;h=364af8e3746f2de28860b14d398154983de75af8;hb=eaaeebe9048266deff624831bf50ba847ae7f048;hp=441cd90e074baca84affc7e7c4746136c4a121ff;hpb=7eb2d70aa363bf51546b17381ef90cff6126781a;p=pkg%2Ft-prot.git diff --git a/t-prot b/t-prot index 441cd90..364af8e 100755 --- a/t-prot +++ b/t-prot @@ -1,13 +1,13 @@ #!/usr/bin/perl -w -# $Id: t-prot,v 1.269 2010/01/05 12:05:03 jochen Exp $ +# $Id: t-prot,v 1.277 2010/02/06 03:29:23 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.11'; +use constant VER => '2.13'; use constant REV => ''; -use constant REL => q$Revision: 1.269 $=~m/(\d+(?:\.\d+)+)/; +use constant REL => q$Revision: 1.277 $=~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'; @@ -36,8 +36,9 @@ use vars qw( ); -# Please adjust these vals to your needs (they are no constants because -# command line can change them or they are used in rexexp's): +# Please adjust these vals to your needs only if you know what you are +# doing. They are no constants because command line can change them or +# they are used in some rexexp. $0 =~ s!^.*/!!; $maxsig = 4; # max. valid signature length $maxlines = undef; # no limit of message lines @@ -720,6 +721,8 @@ sub process_msg { if ((!$k) && $$lines[$x] !~ /^\s*$/o && ((!$mua) || ($mua eq 'mutt' && + # this line seems not necessary since mutt-1.5.18: + $$lines[$x] !~ /^\e[^\a]+\a$/o && $$lines[$x] !~ /^(?:\e[^\a]+\a)?(?:\Q$mutt_attachment\E)/o && $$lines[$x] !~ @@ -1055,9 +1058,7 @@ if ($mua eq 'mutt') { } } -else { - if ($ms_smart || $pgpshort || $pgpmove || $pgpmovevrf) { help(); } -} +elsif ($ms_smart || $pgpshort || $pgpmove || $pgpmovevrf) { help(); } # Read message: @@ -1069,8 +1070,19 @@ close IN; # First, check msg length and stop processing if msg is too long: if ((defined $maxlines) && (@message > $maxlines)) { if ($ofile ne 'NONE') { + if ($mua eq 'mutt') { + my $x = 0; + if (!$nohdr) { + do { $x++; } while ($x<$#message && $message[$x]!~/^$/); + $x++; + } + splice(@message, $x, 0, + ("[---=| Processing by $0 skipped: message too long |=---]\n\n")); + } + write_msg(($mda?'|'.SENDMAIL." $mda":">$ofile"), \@message); } + if ($mua eq 'mutt') { exit(EX_OK); } exit(EX_DATAERR); }