Fred,

On Sun, 3 Sep 2006, W. Tait Cyrus wrote:

Can someone verify if this is a bug. In file:
  lib/Qpsmtpd/SMTP.pm
in rcpt() in the elsif for $rc == DENY, I believe that there is a "return" missing. The code is currently:

 elsif ($rc == DENY) {
   $msg ||= 'relaying denied';
   $self->respond(550, $msg);
}


Perl implicitly returns the output of the last expression/value in a method (there's probably a more concise definition in Programming Perl 3rd edition, that's off the top of my head).

Sorry, I should have mentioned that without the "return" I was suggesting, there is a "return 0" at the bottom of the subroutine that will be the next instruction executed so even in the case of a DENY the rcpt() routine returns success "0" instead of returning "1" which is what $self->respond() always returns.

   ++Tait

Reply via email to