[EMAIL PROTECTED] wrote :
> 
> I've written upstream to see if he'll let me apply patches and make a 
> 0.14 CPAN release.  Given we can't get anything uploaded into Debian at 
> the moment anyway (frozen for etch), I'd like to attempt integrating 
> this upstream first if at all possible.
> 

Hello,

I've cleaned my proposed patch (in attachment).

Thanks,
Xavier
diff -aburN libnet-server-mail-perl-0.13/lib/Net/Server/Mail/SMTP.pm 
libnet-server-mail-perl-0.13-1/lib/Net/Server/Mail/SMTP.pm
--- libnet-server-mail-perl-0.13/lib/Net/Server/Mail/SMTP.pm    2005-09-01 
11:10:18.000000000 +0200
+++ libnet-server-mail-perl-0.13-1/lib/Net/Server/Mail/SMTP.pm  2007-01-08 
21:33:27.000000000 +0100
@@ -560,6 +560,7 @@
         return;
     }
 
+    $self->{_last_chunk} = '';
     $self->make_event
       (
        name => 'DATA-INIT',
@@ -575,7 +576,7 @@
     my($self, $data) = @_;
 
     # search for end of data indicator
-    if($data =~ /^\.\r?\n/m)
+    if("$self->{last_chunk}$data" =~ /^\.\r*\n/m )
     {
         my $more_data = $';
         if(length $more_data)
@@ -590,13 +591,13 @@
         }
         
         # RFC 821 compliance.
-        ($data = $`) =~ s/^\.//mg;
+        $data =~ s/^\.\r*\n$//m;
         $self->{_data} .= $data;
         return $self->data_finished($more_data);
     }
 
     # RFC 821 compliance.
-    $data =~ s/^\.//mg;
+    $data =~ s/^\.\r*\n$//m;
     $self->make_event
       (
        name => 'DATA-PART',
@@ -610,6 +611,7 @@
        success_reply => '', # don't send any reply !
       );
 
+    $self->{last_chunk} = '_'.substr $data, -5;
     return;
 }
 

Reply via email to