There are some cases where the registered disconnect handlers do not get run because 
disconnect is
never called.
For example, when the connection dies before a "QUIT" is received.
This is not a big issue when qpsmtpd is run standalone (other than perhaps undeleted 
temp files),
but when run under Speedy-CGI or other similar system, not running the disconnect 
chain of handlers
can leave various memory allocated and files/connections open and eventually cause 
problems.

One possible fix:
in qpsmtpd just after:
    $qpsmtpd->run();
adding
    $qpsmtpd->disconnect();



Also in Qpsmtpd/TcpServer.pm, in 'sub read_input',
it leaves an alarm enabled on exit (if for example the connection is lost before a 
QUIT is seen)
Adding an:
    alarm 0;
as the last statment in this routine would fix this.


Jim

James H. Thompson
[EMAIL PROTECTED]

Reply via email to