https://bugs.exim.org/show_bug.cgi?id=2538
Bug ID: 2538
Summary: option parsing for -or and -os broken
Product: Exim
Version: 4.93
Hardware: x86-64
OS: Linux
Status: NEW
Severity: bug
Priority: medium
Component: General execution
Assignee: unallocated@???
Reporter: heiko@???
CC: exim-dev@???
Option parsing for -os and -or is broken in HEAD of master (commit e68def5).
There are several problems, some are serious.
(1) Options right of -os or -or are not evaluated at all.
In a transport ...
driver = pipe
use_bsmtp = true
command = exim -bS -os 15m -oMr example
... this causes loops in my environment because $received_protocol is not set
to "example" which is there for a good reason. Changing the order of the
arguments to ...
command = exim -bS -oMr example -os 15m
... works around this problem.
(2) Option -or sets the SMTP timout (like -os should) and does *not* set the
non-smtp timeout at all. Therefore ...
exim -bd -or 0s
results in SMTP connections hanging forever (not good!). And ...
exim -bS -or 2s
... terminates SMTP sessions after 2 seconds which should only happen if "-os
2s" is used.
(3) Using arguments in the form -os20m or -or2h (without blank) does not work
at all.
(4) Using ...
exim -os 15m recipient
... sends a mail to the address "15m".
(5) Using ...
exim -be -os 10s
... prints "10s" and terminates.
There are more problems with these options, so it is totally broken.
git bisect shows:
777cc7485cb3242eb627fbd9fa004b7a4e58ae92 is the first bad commit
The attached patch fixes it for me. *After* patching:
exim -os 1h -oMr example -be '$received_protocol'
output: "example"
exim -os 1h -or33m -bP receive_timeout smtp_receive_timeout
output:
receive_timeout = 33m
smtp_receive_timeout = 1h
--
You are receiving this mail because:
You are on the CC list for the bug.