[exim-dev] [Bug 734] New: "(un)seen deliver" command (system…

Top Page
Delete this message
Reply to this message
Author: Dominik Schramm
Date:  
To: exim-dev
New-Topics: [exim-dev] [Bug 734] "(un)seen deliver" command (system filter) makes message "complete" prematurely, [exim-dev] [Bug 734] "(un)seen deliver" command (system filter) makes message "complete" prematurely, [exim-dev] [Bug 734] "(un)seen deliver" command (system filter) makes message "complete" prematurely
Subject: [exim-dev] [Bug 734] New: "(un)seen deliver" command (system filter) makes message "complete" prematurely
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=734
           Summary: "(un)seen deliver" command (system filter) makes message
                    "complete" prematurely
           Product: Exim
           Version: 4.67
          Platform: x86
               URL: http://lists.exim.org/lurker/message/20080619.095806.04b
                    30cb1.en.html
        OS/Version: Linux
            Status: NEW
          Severity: wishlist
          Priority: medium
         Component: Filters
        AssignedTo: nigel@???
        ReportedBy: dominik.schramm@???
                CC: exim-dev@???



Overview:

The recipients added by a deliver command in a system filter are silently
dropped under certain circumstances, if the first delivery attempt fails.

Steps to Reproduce:

    1) minimal system filter:


    if not first_delivery
    then
       finish
    endif


    if $recipients is order@???
    then
        seen deliver copyaddress@???
        headers add "X-test-header: test"
    endif


    2a) Have a local DNS serve non.existent.domain and refer to a 
        non-existing MX (sending TCP packets to that MX into nirvana):


    non.existent.domain IN MX 10 mx.non.existent.domain
    mx.non.existent.domain IN A 10.1.1.1 (non-existent!)


    Alternatively:


    2b) 


    Have the firewall drop packets to the non.existent.domain MX (sending 
    TCP packets to that MX into nirvana).


    3) Send message to other@???. The destination mail server will 
    be unreachable, so after the timeout the message will be on the queue as 
    follows:


    2m  0.1K 111111-222222-XX <sender@mydomain>
        D order@???


    4) After the initial delivery attempt the log file says:


    111111-222222-XX == copyaddress@??? <system-filter> 
       R=dnslookup T=remote_smtp defer (110): Connection timed out


    Then force a delivery retry of message 111111-222222-XX.


Actual Results:

    The message disappears from the queue (because of "finish"?), 
    the following is logged:


    111111-222222-XX Completed


Expected Results:

    The message should remain on the queue and be retried according to the 
    rules until the destination mail server can be reached or the usual final 
    timeout occurs. 


    Ideally a whole new message should be put on the queue by the deliver 
    command -- specifically to make it clearly visible that a new delivery 
    is in progress and to make the new sender and recipients visible -- which 
    keeps a certain relation with the original message so that the usual filter 
    behavior remains unaltered.


Build Date & Platform:

    exim4-daemon-heavy version 4.67-5build1 (Ubuntu 7.10 on x86 machine)



--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email