[exim-dev] data corruption in headers_remove? (4.84)

Top Page
Delete this message
Reply to this message
Author: Heiko Schlittermann
Date:  
To: exim-dev
Subject: [exim-dev] data corruption in headers_remove? (4.84)
[resent with a more meaningful subject]

Hello,

there something strange, may be some kind of data corruption...

While running into trouble with after an upgrade to 4.84
(Debian testing) I stripped down and simplified my configuration to the
following some lines:

--[ exim4.conf.bug ]--
    begin routers
        foo:
        driver = redirect
        data = foo@???
        headers_remove = ${if eq{a}{123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789}}
---- 


The version is: Exim version 4.84 #2 built 19-Oct-2014 12:01:27


    # exim -d-all+expand -C exim4.conf.bug -bt foo@???
results in:
    …
    expanding: a
    result: a
    failed to expand: 123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456
    error message: missing } at end of string
    failed to expand: ${if eq{a}{123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456
    error message: missing } at end of string
    foo@??? cannot be resolved at this time: foo router failed to expand "${if eq{a}{123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789}}": missing } at end of string
    >>>>>>>>>>>>>>>> Exim pid=17253 terminating with rc=1 >>>>>>>>>>>>>>>>



If I change the above "headers_remove" to "headers_add" it expands
successfully (and dies, as expected with "cannot route").

If I do the same tests on my local system (Exim version 4.80 #2 built 24-Jul-2014 03:28:02),
both expansions (headers_remove as well as headers_add) work. On both
systems the expansion via "exim -be '${….}'" works.

I'd guess that this is some kind of data corruption, something destroys
the content of the headers_remove string before it gets expanded.

Before I start into further debugging - is this a known bug and is this
fixed already?

    Best regards from Dresden/Germany
    Viele Grüße aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} -
 gnupg encrypted messages are welcome --------------- key ID: 7CBF764A -
 gnupg fingerprint: 9288 F17D BBF9 9625 5ABC  285C 26A9 687E 7CBF 764A -
(gnupg fingerprint: 3061 CFBF 2D88 F034 E8D2  7E92 EE4E AC98 48D0 359B)-