Fix bug which breaks queue plugins that implement continuations
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@764 958fd67b-6ff1-0310-b445-bb7760255be9
This commit is contained in:
parent
8809fceb4a
commit
521a6f3f9e
@ -719,18 +719,18 @@ sub data_post_respond {
|
|||||||
elsif ($rc == DENY) {
|
elsif ($rc == DENY) {
|
||||||
$msg->[0] ||= "Message denied";
|
$msg->[0] ||= "Message denied";
|
||||||
$self->respond(552, @$msg);
|
$self->respond(552, @$msg);
|
||||||
|
# DATA is always the end of a "transaction"
|
||||||
|
return $self->reset_transaction;
|
||||||
}
|
}
|
||||||
elsif ($rc == DENYSOFT) {
|
elsif ($rc == DENYSOFT) {
|
||||||
$msg->[0] ||= "Message denied temporarily";
|
$msg->[0] ||= "Message denied temporarily";
|
||||||
$self->respond(452, @$msg);
|
$self->respond(452, @$msg);
|
||||||
|
# DATA is always the end of a "transaction"
|
||||||
|
return $self->reset_transaction;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$self->queue($self->transaction);
|
$self->queue($self->transaction);
|
||||||
}
|
}
|
||||||
|
|
||||||
# DATA is always the end of a "transaction"
|
|
||||||
return $self->reset_transaction;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getline {
|
sub getline {
|
||||||
@ -765,6 +765,10 @@ sub queue_pre_respond {
|
|||||||
|
|
||||||
sub queue_respond {
|
sub queue_respond {
|
||||||
my ($self, $rc, $msg, $args) = @_;
|
my ($self, $rc, $msg, $args) = @_;
|
||||||
|
|
||||||
|
# reset transaction if we queued the mail
|
||||||
|
return $self->reset_transaction;
|
||||||
|
|
||||||
if ($rc == DONE) {
|
if ($rc == DONE) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user