[Exim] Re: Bug#231979: Maximum lenght of to-be-expanded stri…

Top Page
Delete this message
Reply to this message
Author: Andreas Metzler
Date:  
To: exim-users
CC: Marcin Owsiany, 231979-forwarded
Subject: [Exim] Re: Bug#231979: Maximum lenght of to-be-expanded string not documented prominently.
Hello,
I have received this today as http://bugs.debian.org/231979

-------------------------------------------------
On 2004-02-10 Marcin Owsiany <porridge@???> wrote:
> I have a router:


> to_mail1:
> driver = manualroute
> domains = ! +local_domains : +relay_to_domains
> transport = remote_smtp
> same_domain_copy_routing = no
> route_list = * "${if \

[lenghty expansion including macros
> }"
> host_find_failed = defer
> no_more


> The *_QUERY stuff are rather long macros. But this works OK.


> However today I added another subexpression like this:


>          {\
>         eq{$local_part@$domain}{another@???}\
>      }\


> And after reloading exim, suddenly lines like this began to appear in
> mainlog:


> 2004-02-10 00:55:29 H=XXXXXXXXXXXXXXXXXXXX [XXXXXXXXXXXX] F=<XXXXXXXXXXXXXXXXXXXXXXX> temporarily rejected RCPT <XXXXXXXXXXXXXXXXXXXX>: to_mail1 router: failed to expand "${if or{{eq{[..omitted...]}}}{a.hostname.here}fai": syntax error in "if" item - "fail" expected


> The length of the quoted text that was reported to have failed to expand
> (without the quotes) was exactly 1017 characters.


> After removing the subexpression and reloading exim, everything works OK
> again.


> So this seems to be a fixed-length buffer somewhere. If this cannot be
> made dynamic, please at least document the fact that there are such
> limits.


> thank you
> Marcin

-------------------------------------------------

I have played a little bit with it myself using
route_list = * "${if eq {1}{1} {my.regular.smarthost}{xxxxxxxx}}
and making "xxxx" longer and longer. - The magic size seems to be 1006
characters (without the doublequotes) for the length of an expansion
item, every longer one is truncated.
                cu andreas
--
"See, I told you they'd listen to Reason," [SPOILER] Svfurlr fnlf,
fuhggvat qbja gur juveyvat tha.
Neal Stephenson in "Snow Crash"