]> git.deb.at Git - pkg/t-prot.git/blobdiff - t-prot
Imported Upstream version 2.10
[pkg/t-prot.git] / t-prot
diff --git a/t-prot b/t-prot
index bf3a0a199a20cb4d18beb5089fc1ce766665ce13..e2b36cff8acaa8b236ddc84531a46a835117e7de 100755 (executable)
--- a/t-prot
+++ b/t-prot
@@ -1,13 +1,13 @@
 #!/usr/bin/perl -w
-# $Id: t-prot,v 1.261 2009/08/24 20:32:11 jochen Exp $
+# $Id: t-prot,v 1.267 2009/12/30 21:34:16 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.7';
+use constant VER            => '2.10';
 use constant REV            => '';
-use constant REL            => q$Revision: 1.261 $=~m/(\d+(?:\.\d+)+)/;
+use constant REL            => q$Revision: 1.267 $=~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';
@@ -442,23 +442,13 @@ sub process_msg {
     my (@ads, @hdr, @bo1, @bo2, @ftr, @sig, @vrb, @att) = 
         ((), (), (), (), (), (), (), (), ());
 
-    # First, remove and store lines we might need later...
+    # Remove and store lines we might need later...
     # Remove headers:
     if (!$nohdr) {
         for ($x=0; $x<$#$lines; $x++) { if (@$lines[$x] =~ /^$/) { last; }; }
-
-        # check body length and stop processing silently if msg is too long:
-        if ((defined $maxlines) && (@$lines-$x > $maxlines)) {
-            return;
-        }
-
         @hdr = @$lines[0..$x];
         splice(@$lines, 0, $x+1);
     }
-    elsif ((defined $maxlines) && (@$lines > $maxlines)) {
-        # check body length and stop processing silently if msg is too long:
-        return;
-    }
     # remember the original body lines count
     my $linecount = scalar(@$lines);
 
@@ -1076,6 +1066,14 @@ if (!open(IN, $ifile))
 my @message = <IN>;
 close IN;
 
+# First, check msg length and stop processing if msg is too long:
+if ((defined $maxlines) && (@message > $maxlines)) {
+    if ($ofile ne 'NONE') {
+        write_msg(($mda?'|'.SENDMAIL." $mda":">$ofile"), \@message);
+    }
+    exit(EX_DATAERR);
+}
+
 # this should be self-explanatory:
 process_msg(\@message);