Philip Hazel wrote:
Which release of Exim? A bug that probably relates to this was fixed at
release 4.51.
I compiled Exim 4.60 on a local CentOS build machine. This is my Exim
config:
-------------------------------------------
begin routers
transport_filter_router:
domains = xams.example
condition = ${if ! eq {$received_protocol}{scanned} }
driver = accept
transport = transport_filter_transport
no_verify
ablage_router:
domains = xams.example
driver = accept
transport = ablage_transport
(...)
begin transports
transport_filter_transport:
driver = pipe
command = /usr/sbin/exim -oi -oMr scanned -f '$sender_address'
'[EMAIL PROTECTED]'
transport_filter = /tmp/test.py
log_output = true
temp_errors = *
user = exim
group = exim
return_path_add = false
ablage_transport:
driver = appendfile
directory = /var/mail/test
maildir_format
user = virtualmail
group = virtualmail
delivery_date_add
envelope_to_add
return_path_add
(...)
-------------------------------------------
/tmp/test.py looks like this:
-------------------------------------------
#!/usr/bin/env python
import sys
input = sys.stdin.read()
fp = file('/tmp/1.log', 'w')
fp.write(input)
fp.close()
print input,
sys.exit(1)
-------------------------------------------
Sending a mail with
exim -d-all+transport -bm [EMAIL PROTECTED] < testmessage.msg
-------------------------------------------
Exim version 4.60 uid=0 gid=0 pid=2838 D=10000000
Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (February 22, 2005)
(...)
cwd=/root 4 args: exim -d-all+transport -bm [EMAIL PROTECTED]
trusted user
admin user
LOG: MAIN
<= [EMAIL PROTECTED] U=root P=local S=2739
[EMAIL PROTECTED]
>>>>>>>>>>>>>>>> Exim pid=2838 terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version 4.60 uid=93 gid=93 pid=2839 D=10000000
(...)
>>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
--------> [EMAIL PROTECTED] <--------
direct command:
argv[0] = /tmp/test.py
direct command after expansion:
argv[0] = /tmp/test.py
transport_filter_transport transport entered
direct command:
argv[0] = /tmp/test.py
direct command after expansion:
argv[0] = /tmp/test.py
transport_filter_transport transport entered
direct command:
argv[0] = /usr/sbin/exim
argv[1] = -oi
argv[2] = -oMr
argv[3] = scanned
argv[4] = -f
argv[5] = $sender_address
argv[6] = [EMAIL PROTECTED]
direct command after expansion:
argv[0] = /usr/sbin/exim
argv[1] = -oi
argv[2] = -oMr
argv[3] = scanned
argv[4] = -f
argv[5] = [EMAIL PROTECTED]
argv[6] = [EMAIL PROTECTED]
Writing message to pipe
writing data block fd=9 size=67 timeout=3600
process 2843 running as transport filter: write=10 read=11
writing data block fd=10 size=2739 timeout=3600
process 2844 writing to transport filter
copying from the filter
waiting for filter process
filter process returned 1
waiting for writing process
end of filtering transport writing: yield=0
errno=-24 more_errno=1
transport_filter_transport transport returned PANIC for
[EMAIL PROTECTED]
LOG: MAIN PANIC
== [EMAIL PROTECTED] R=transport_filter_router
T=transport_filter_transport defer (-24): Transport filter process
failed (1)
>>>>>>>>>>>>>>>> Exim pid=2839 terminating with rc=0 >>>>>>>>>>>>>>>>
So far everything looks good to me. The problem is that this Exim
instance passed the output of test.py to another Exim as you can see in
main.log (sorry for the wrapping):
-------------------------------------------
2005-12-08 12:50:29 1EkKI9-0000jm-E6 <=
[EMAIL PROTECTED] U=root P=local S=2739
[EMAIL PROTECTED]
2005-12-08 12:50:30 1EkKI9-0000jm-E6 == [EMAIL PROTECTED]
R=transport_filter_router T=transport_filter_transport defer (-24):
Transport filter process failed (1)
2005-12-08 12:50:30 1EkKI9-0000jp-Oe <=
[EMAIL PROTECTED] U=exim P=scanned S=363
2005-12-08 12:50:30 1EkKI9-0000jp-Oe => realuser <[EMAIL PROTECTED]>
R=ablage_router T=ablage_transport
2005-12-08 12:50:30 1EkKI9-0000jp-Oe Completed
-------------------------------------------
The last 3 items are related to the new exim instance which delivers my
mail. This last instance should not be started.
fs
--
## List details at http://www.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/