> 
> Hi all,
> 
> I've been using qpsmtpd for about 6 months now but I've just 
> signed up for 
> this list.  I recently upgraded to 0.40 and I'm running on a 
> modified Mandriva 
> using qmail and with qpsmtpd running under tcpserver.
> 
> I've long had a problem with connections from certain 
> spammers hanging around 
> forever.  I wrote a script that I run out of cron that sends 
> a -9 to any 
> connection that's been around for over an hour and that's 
> kept me up and 
> running, but...
> 
> Any idea what's going on here?  It requires a -9 to kill the 
> processes.
> 
> Should I not be running under tcpserver?  Also, why does the 
> default run 
> script default to -c 10; that seems awfully low to me.
> 
> Chris
> 

Did you try to set the timeout in the configuration files ?
echo -n 600 > config/timeout 
By default it is set to 1200 seconds (20 minutes).

See in lib/Qpsmtpd/TcpServer.pm :

sub read_input {
  my $self = shift;

  my $timeout =
    $self->config('timeoutsmtpd')   # qmail smtpd control file
      || $self->config('timeout')   # qpsmtpd control file
        || 1200;                    # default value

  alarm $timeout;
  while (<STDIN>) {
    alarm 0;
    $_ =~ s/\r?\n$//s; # advanced chomp
    $self->log(LOGINFO, "dispatching $_");
    $self->connection->notes('original_string', $_);
    defined $self->dispatch(split / +/, $_, 2)
      or $self->respond(502, "command unrecognized: '$_'");
    alarm $timeout;
  }
  alarm(0);
}

If you have connections running for more than one hour, the client must
be saying something during this time.
You can try to lower the timeout parameter.  Mine is 120s (maybe a
little short, but it works quite well).


Sydney.

Reply via email to