[exim-dev] [Bug 2538] New: option parsing for -or and -os br…

Page principale
Supprimer ce message
Répondre à ce message
Auteur: admin
Date:  
À: exim-dev
Nouveaux-sujets: [exim-dev] [Bug 2538] cmdline option parsing for -or and -os broken, [exim-dev] [Bug 2538] cmdline option parsing for -or and -os broken, [exim-dev] [Bug 2538] cmdline option parsing for -or and -os broken, [exim-dev] [Bug 2538] cmdline option parsing for -or and -os broken, [exim-dev] [Bug 2538] cmdline option parsing for -or and -os broken, [exim-dev] [Bug 2538] cmdline option parsing for -or and -os broken
Sujet: [exim-dev] [Bug 2538] New: option parsing for -or and -os broken
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.