[exim-dev] [Bug 2114] New: pipe transport timeout has no eff…

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
New-Topics: [exim-dev] [Bug 2114] pipe transport timeout has no effect when parent process exits while child continues to run
Subject: [exim-dev] [Bug 2114] New: pipe transport timeout has no effect when parent process exits while child continues to run
https://bugs.exim.org/show_bug.cgi?id=2114

            Bug ID: 2114
           Summary: pipe transport timeout has no effect when parent
                    process exits while child continues to run
           Product: Exim
           Version: 4.88
          Hardware: All
                OS: All
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Transports
          Assignee: nigel@???
          Reporter: rtc@???
                CC: exim-dev@???


I have the following router:

virtual_faxtest:
driver = accept
domains = faxtest.example.com
transport = faxtest_delivery
cannot_route_message = Test router error

and this transport:

faxtest_delivery:
driver = pipe
command = /home/pbackes/send_faxtest.php
timeout = 10s
return_fail_output
#log_fail_output
#log_defer_output
log_output
temp_errors = 73 : 75 : 255
message_prefix =
message_suffix =

with send_faxtest.php being:
#!/usr/local/bin/php
<?php
$mail_conv = proc_open("/home/pbackes/idle",array(0 => array('pipe','r'),1 =>
array('pipe','w')),$pipes,'/tmp');
    exit(1);


?>

and idle being compiled idle.c:
int main(void)
{
    for (;;)
        continue;
}


Then, when I send email to test@???, idle keeps running despite
the timeout of 10 seconds, and the exim delivery process (/usr/local/sbin/exim
-Mc $ID) keeps running indefinitely. I have to kill -9 the idle process
manually. The timeout should be honored.

Using "for (;;) continue;" instead of "exit(1);" in send_faxtest.php and
everything (obviously) works as it should.

$ uname -a
FreeBSD localhost 10.3-RELEASE-p11 FreeBSD 10.3-RELEASE-p11 #0: Mon Oct 24
18:49:24 UTC 2016    
root@???:/usr/obj/usr/src/sys/GENERIC  amd64


$ exim --version
Exim version 4.88 #0 (FreeBSD 10.1) built 01-Feb-2017 18:17:34
Copyright (c) University of Cambridge, 1995 - 2016
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2016
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl Expand_dlfunc
OpenSSL Content_Scanning DKIM DNSSEC Event OCSP PRDR Experimental_SPF
Experimental_SRS Experimental_DANE Experimental_DMARC
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz
dbmnz dnsdb dsearch mysql passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Configure owner: 0:0
Size of off_t: 8
2017-05-02 14:40:12 Warning: purging the environment.
Suggested action: use keep_environment.
Configuration file is /usr/local/etc/exim/configure

--
You are receiving this mail because:
You are on the CC list for the bug.