On Wed, 03 Sep 2003, James H. Thompson wrote:
> I've noticed that orphan files are being left in my /var/spool/smtpd.
> I'm running under SpeedyCGI, so don't know if this is a contributing factor.
> 
> Going back through the logs all of the orphan files I checked have
> in common having triggered:
> in SMTP.pm in the 'data' sub:
> 
>        $self->respond(451, "See http://develooper.com/code/qpsmtpd/barelf.html";), 
> exit if $_ eq ".\n";
> 
> I noticed that all of the other aborts in this routine use "return
> 1" instead of exit.
> Is there some reason this is an 'exit' instead of a return?

I noticed the same problem with my Qpsmtpd setup, and I'm just running
a stock Perl process.  I believe the exit is wrong, since it closes
the whole Qpsmtpd system early.  The patch below changes it to a
return as you noted that it should be.
        -- Robert


--- qpsmtpd-0.26/lib/Qpsmtpd/SMTP.pm    2003-04-21 05:42:01.000000000 -0400
+++ qpsmtpd.work/lib/Qpsmtpd/SMTP.pm    2003-09-04 12:27:37.000000000 -0400
@@ -335,8 +335,7 @@
   while (<STDIN>) {
     $complete++, last if $_ eq ".\r\n";
     $i++;
-    $self->respond(451, "See http://develooper.com/code/qpsmtpd/barelf.html";), exit
-      if $_ eq ".\n";
+    $self->respond(451, "See http://develooper.com/code/qpsmtpd/barelf.html";), return 
1 if $_ eq ".\n";
     # add a transaction->blocked check back here when we have line by line plugin 
access...
     unless (($max_size and $size > $max_size)) {
       s/\r\n$/\n/;



-- 
    Robert James Kaes    ---  Flarenet Inc.  ---    (519) 426-3782
                 http://www.flarenet.com/consulting/
      * Putting the Service Back in Internet Service Provider *

Reply via email to