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]