[exim] Big in Exim 4.64? < {$message_size}{200K} returns int…

Top Page
Delete this message
Reply to this message
Author: Juergen Weiss
Date:  
To: exim-users
Subject: [exim] Big in Exim 4.64? < {$message_size}{200K} returns integer expected

Hello Exim freaks!

Since i have updated to exim 4.64 the following condition raises an
expansion error:

  condition = "${if and { \
                 ...
                 {< {$message_size}{200K}} \
                 ...
              }{yes}{no}}"


Now returns:

2006-12-22 11:37:29 1GxhmL-0005r7-3Q failed to expand condition "${if and {
...... {<{$message_size}{200K}} ...... }{yes}{no}}" for bogo_router router:
integer expected but "" found inside "and{...}" condition

(the condition is much larger so i replaced the non-important conditions
with dots.

If i remove the "{< {$message_size}{200K}}"-line, all works fine. That way i
traced down the error to this line.


The README.UPDATING writes:

> 2. A bug has been fixed that might just possibly be something that is

relied on
> in some configurations. In expansion items such as ${if >{xxx}{yyy}...} an
> empty string (that is {}) was being interpreted as if it was {0} and

therefore
> treated as the number zero. From release 4.64, such strings cause an error
> because a decimal number, possibly followed by K or M, is required (as has
> always been documented).



Ok, so far so good. I thought, maybe $message_size is depricated, but it
isnt:


debug_print = "{if and { \
                 ...
                 {< {$message_size}{200K}} \
                 ...
              }{yes}{no}}"



Tells me about "{< {12345}{200K}}" so it is expanded well with the correct
size.



Could this be a bug in 4.64 ?

I have downgraded back to 4.63 where this works without problems.



Kind regards,
Juergen Weiss