On Thursday 21 December 2006 10:53, Jakob Hirsch wrote:
> Quoting Nicklas Hardman:
> > After upgrading to 4.64 i get
> > "temporarily rejected after DATA: failed to expand ACL string "${if or
> > {{eq {$sender_address_domain}{hb.se}} {>={$message_size}{100k}}}
> > {0}{1}}": integer expected but "" found inside "or{...}" condition"
>
> http://www.exim.org/mail-archives/exim-dev/2006-September/msg00035.html
>
> I hate to say "I knew it"... but, I knew it. :)

I'm not sure exactly what you knew, but ... bug located, and yes, it has 
something to do with that bugfix. The bug is that when skipping is true, the 
empty string is returned by find_variable(), but eval_condition() 
nevertheless checks for an integer. Suggested patch:

--- expand.c    5 Dec 2006 11:35:28 -0000       1.73
+++ expand.c    22 Dec 2006 20:43:37 -0000
@@ -1986,7 +1986,7 @@
     conditions that compare numbers do not start with a letter. This just saves
     checking for them individually. */

-    if (!isalpha(name[0]))
+    if (!isalpha(name[0]) && yield)
       {
       num[i] = expand_string_integer(sub[i], FALSE);
       if (expand_string_message != NULL) return NULL;

-- 
Magnus Holmgren        [EMAIL PROTECTED]
                       (No Cc of list mail needed, thanks)

  "Exim is better at being younger, whereas sendmail is better for 
   Scrabble (50 point bonus for clearing your rack)" -- Dave Evans

Attachment: pgpgV9DwiNx1q.pgp
Description: PGP signature

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to