[exim] Default pipe timeout 10m? Spec says 1h.

Top Page
Delete this message
Reply to this message
Author: John Dalbec
Date:  
To: exim-users
Subject: [exim] Default pipe timeout 10m? Spec says 1h.
> timeout      Use: pipe      Type: time      Default: 1h
>
> If the command fails to complete within this time, it is killed. This normally causes the delivery to fail (but see timeout_defer). A zero time interval specifies no timeout. In order to ensure that any subprocesses created by the command are also killed, Exim makes the initial process a process group leader, and kills the whole process group on a timeout. However, this can be defeated if one of the processes starts a new process group.


Does the transport filter have a separate (shorter) timeout?
I'm getting:

> ... R=spamcheck_router T=spamcheck: Child process of spamcheck transport returned 2 from command: /usr/local/exim/bin/exim (preceded by transport filter timeout while writing to pipe)


10 minutes after receiving the message. To (hopefully) work around this I've
added the last two lines to the spamcheck transport:

spamcheck:
   driver = pipe
   command = /usr/local/exim/bin/exim -oMr spam-scanned -bS
   # use sudo equivalent (w/o logging) to run spamc as the recipient
   transport_filter = /usr/local/exim/sbin/sudospamc $local_part
   # must use a privileged user to set $received_protocol on the way
   # back in!
   user = exim
   group = exim
   log_output = true
   return_fail_output = true
   use_bsmtp = true
   return_path_add = false
   message_prefix =
   message_suffix =
   headers_remove = X-Spam-Flag : X-Spam-Level : X-Spam-Status : \
         X-Spam-Checker-Version
   timeout_defer
   temp_errors = 75:73:2