Hi,

this little patch enables the pre-connection and post-connection hooks
in qpsmtpd-forkserver. The second attached file is my test plugin. 

        Hanno
diff -urN qpsmtpd-0.31-dev/lib/Qpsmtpd/TcpServer.pm 
qpsmtpd-0.31-dev+pre+post/lib/Qpsmtpd/TcpServer.pm
--- qpsmtpd-0.31-dev/lib/Qpsmtpd/TcpServer.pm   2005-11-01 13:34:53.000000000 
+0100
+++ qpsmtpd-0.31-dev+pre+post/lib/Qpsmtpd/TcpServer.pm  2005-11-12 
19:17:04.000000000 +0100
@@ -67,6 +67,7 @@
       or $self->respond(502, "command unrecognized: '$_'");
     alarm $timeout;
   }
+  $self->run_hooks("post-connection");
   alarm(0);
 }
 
@@ -84,6 +85,7 @@
   my $self = shift;
   $self->log(LOGDEBUG,"click, disconnecting");
   $self->SUPER::disconnect(@_);
+  $self->run_hooks("post-connection");
   exit;
 }
 
diff -urN qpsmtpd-0.31-dev/qpsmtpd-forkserver 
qpsmtpd-0.31-dev+pre+post/qpsmtpd-forkserver
--- qpsmtpd-0.31-dev/qpsmtpd-forkserver 2005-11-01 13:34:53.000000000 +0100
+++ qpsmtpd-0.31-dev+pre+post/qpsmtpd-forkserver        2005-11-12 
18:13:49.000000000 +0100
@@ -209,6 +209,7 @@
         next;
       }
     }
+    $qpsmtpd->run_hooks("pre-connection");
     my $pid = safe_fork();
     if ($pid) {
       # parent

Attachment: connection_time
Description: Binary data

Reply via email to