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"