Author: vetinari Date: Sat Aug 18 23:49:42 2007 New Revision: 772 Modified: trunk/lib/Qpsmtpd/SMTP/Prefork.pm
Log: unrecognized command fix for http://code.google.com/p/smtpd/issues/detail?id=16 - the reporters poposed fix would have caused two messages for the client on return(DENY, ...) or a really unknown command. Modified: trunk/lib/Qpsmtpd/SMTP/Prefork.pm ============================================================================== --- trunk/lib/Qpsmtpd/SMTP/Prefork.pm (original) +++ trunk/lib/Qpsmtpd/SMTP/Prefork.pm Sat Aug 18 23:49:42 2007 @@ -10,22 +10,8 @@ $self->{_counter}++; if ($cmd !~ /^(\w{1,12})$/ or !exists $self->{_commands}->{$1}) { - my ($rc, @msg) = $self->run_hooks("unrecognized_command", $cmd, @_); - @msg = map { split /\n/ } @msg; - if ($rc == DENY_DISCONNECT) { - $self->respond(521, @msg); - $self->disconnect; - } - elsif ($rc == DENY) { - $self->respond(500, @msg); - } - elsif ($rc == DONE) { - 1; - } - else { - $self->respond(500, "Unrecognized command"); - } - return 1 + $self->run_hooks("unrecognized_command", $cmd, @_); + return 1; } $cmd = $1;
