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__
 
 

Reply via email to