On Wed, 23 Apr 2008, Hanno Hecker wrote:

On Wed, 23 Apr 2008 20:32:39 +0200
Jose Luis Martinez <[EMAIL PROTECTED]> wrote:
I've been bugging aroung the Qp code to find what's going on with these
processes... What was my surprise when I saw:

     $SIG{ALRM} = sub {
        print $client "421 Connection Timed Out\n";
        ::log(LOGINFO, "Connection Timed Out");
        exit; };

in the qpsmtpd-forkserver code... just in the portion of code for child
processes :)

The bad thing is that it is never called, because alarm is never called

It should be called (lib/Qpsmtpd/SMTP.pm):
sub getline {
...

Yes, it will be called if the timeout occurs while waiting to read input. But there is no timeout whenever any plugin is dispatched (and qpsmtpd spends most of its time in plugins). Ask said "Yeah, this is a pretty bad bug" in March 2007, but I haven't seen anyone looking to fix it.

Reply via email to