You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by gb...@apache.org on 2022/04/11 11:01:02 UTC

svn commit: r1899743 - /spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm

Author: gbechis
Date: Mon Apr 11 11:01:02 2022
New Revision: 1899743

URL: http://svn.apache.org/viewvc?rev=1899743&view=rev
Log:
add max_size support

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm?rev=1899743&r1=1899742&r2=1899743&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm Mon Apr 11 11:01:02 2022
@@ -106,6 +106,10 @@ sub new {
     $self->{username} = $args->{username};
   }
 
+  if ($args->{max_size}) {
+    $self->{max_size} = $args->{max_size};
+  }
+
   if ($args->{timeout}) {
     $self->{timeout} = $args->{timeout} || 30;
   }
@@ -579,6 +583,7 @@ sub _filter {
   my ($self, $msg, $command) = @_;
 
   my %data;
+  my $msgsize;
 
   $self->_clear_errors();
 
@@ -586,7 +591,10 @@ sub _filter {
 
   return 0 unless ($remote);
 
-  my $msgsize = length($msg.$EOL);
+  if(defined $self->{max_size}) {
+    $msg = substr($msg,0,$self->{max_size});
+  }
+  $msgsize = length($msg.$EOL);
 
   print $remote "$command $PROTOVERSION$EOL";
   print $remote "Content-length: $msgsize$EOL";