From 41e13e7454cb96a57a3efa880d6c6a94773372c2 Mon Sep 17 00:00:00 2001 From: Matt Sergeant Date: Thu, 10 Mar 2005 18:19:27 +0000 Subject: [PATCH] body_write patches from Brian Grossman git-svn-id: https://svn.perl.org/qpsmtpd/branches/high_perf@395 958fd67b-6ff1-0310-b445-bb7760255be9 --- lib/Qpsmtpd/PollServer.pm | 1 + lib/Qpsmtpd/SMTP.pm | 2 +- lib/Qpsmtpd/Transaction.pm | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Qpsmtpd/PollServer.pm b/lib/Qpsmtpd/PollServer.pm index 36f3415..c205275 100644 --- a/lib/Qpsmtpd/PollServer.pm +++ b/lib/Qpsmtpd/PollServer.pm @@ -302,6 +302,7 @@ sub end_of_data { $header = Mail::Header->new(Modify => 0, MailFrom => "COERCE"); $self->transaction->header($header); } + # only true if client authenticated if ( defined $self->{_auth} and $self->{_auth} == OK ) { $header->add("X-Qpsmtpd-Auth","True"); diff --git a/lib/Qpsmtpd/SMTP.pm b/lib/Qpsmtpd/SMTP.pm index 791ed99..bb463e5 100644 --- a/lib/Qpsmtpd/SMTP.pm +++ b/lib/Qpsmtpd/SMTP.pm @@ -454,7 +454,7 @@ sub data { # save us buffering the mail content. # Save the start of just the body itself - $self->transaction->body_start($size); + $self->transaction->set_body_start(); } diff --git a/lib/Qpsmtpd/Transaction.pm b/lib/Qpsmtpd/Transaction.pm index 9455cea..6fe8596 100644 --- a/lib/Qpsmtpd/Transaction.pm +++ b/lib/Qpsmtpd/Transaction.pm @@ -107,10 +107,12 @@ sub body_write { while ($$ref =~ m/\G(.*?\n)/gc) { push @{ $self->{_body_array} }, $1; $self->{_body_size} += length($1); + ++$self->{_body_current_pos}; } if ($$ref =~ m/\G(.+)\z/gc) { push @{ $self->{_body_array} }, $1; $self->{_body_size} += length($1); + ++$self->{_body_current_pos}; } if ($self->{_body_size} >= $self->{_size_threshold}) { #warn("spooling to disk\n");