Author: vetinari
Date: Tue Dec 30 23:29:14 2008
New Revision: 962
Modified:
trunk/qpsmtpd
Log:
qpsmtpd (x)inetd: fix Can't call method "connected" on an undefined value at
lib/Qpsmtpd/TcpServer.pm line 174.
Modified: trunk/qpsmtpd
==============================================================================
--- trunk/qpsmtpd (original)
+++ trunk/qpsmtpd Tue Dec 30 23:29:14 2008
@@ -21,10 +21,15 @@
my $qpsmtpd = Qpsmtpd::TcpServer->new();
$qpsmtpd->load_plugins();
$qpsmtpd->start_connection();
-$qpsmtpd->run();
+$qpsmtpd->run(\*STDIN); # pass the "socket" like -prefork/-forkserver
$qpsmtpd->run_hooks("post-connection");
$qpsmtpd->connection->reset;
+# needed for Qpsmtpd::TcpServer::check_socket():
+# emulate IO::Socket::connected on STDIN. STDIN was used instead of STDOUT
+# because the other code also calls getpeername(STDIN).
+sub IO::Handle::connected { return getpeername(shift) }
+
__END__