From 33d8825ecfc68ec49b9647bfd84394e356b3aa9b Mon Sep 17 00:00:00 2001 From: Hanno Hecker Date: Wed, 11 Mar 2009 14:18:21 +0800 Subject: [PATCH] Fix for plugins returning DONE from HELO/EHLO We have to return something true, else the client gets an additional 451 Internal error - try again later - command 'helo' failed unexpectedly after the plugin's ->respond() message. --- lib/Qpsmtpd/SMTP.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/Qpsmtpd/SMTP.pm b/lib/Qpsmtpd/SMTP.pm index 0735f0c..7c126dd 100644 --- a/lib/Qpsmtpd/SMTP.pm +++ b/lib/Qpsmtpd/SMTP.pm @@ -162,7 +162,8 @@ sub helo_respond { my ($self, $rc, $msg, $args) = @_; my ($hello_host) = @$args; if ($rc == DONE) { - # do nothing + # do nothing: + 1; } elsif ($rc == DENY) { $self->respond(550, @$msg); } elsif ($rc == DENYSOFT) { @@ -198,7 +199,8 @@ sub ehlo_respond { my ($self, $rc, $msg, $args) = @_; my ($hello_host) = @$args; if ($rc == DONE) { - # do nothing + # do nothing: + 1; } elsif ($rc == DENY) { $self->respond(550, @$msg); } elsif ($rc == DENYSOFT) {