Fix merge problem.
[exim.git] / src / src / acl.c
index c1eebf655243f3199bdd5520411da56be9e84bac..5af408c5c1346440df8bc6c2758c4d7a39fa7c18 100644 (file)
@@ -4008,10 +4008,8 @@ return search_find_defer?DEFER:ERROR;
 
 /* Alternate interface for ACL, used by expansions */
 int
-acl_eval(int where, uschar *recipient, uschar *s, uschar **user_msgptr,
-  uschar **log_msgptr)
+acl_eval(int where, uschar *s, uschar **user_msgptr, uschar **log_msgptr)
 {
-int rc;
 address_item adb;
 address_item *addr = NULL;
 
@@ -4024,14 +4022,11 @@ if (where == ACL_WHERE_RCPT)
   {
   adb = address_defaults;
   addr = &adb;
-  addr->address = recipient;
-  if (deliver_split_address(addr) == DEFER)
-    {
-    *log_msgptr = US"defer in percent_hack_domains check";
-    return DEFER;
-    }
-  deliver_domain = addr->domain;
-  deliver_localpart = addr->local_part;
+  addr->address = expand_string(US"$local_part@$domain");
+  addr->domain = deliver_domain;
+  addr->local_part = deliver_localpart;
+  addr->cc_local_part = deliver_localpart;
+  addr->lc_local_part = deliver_localpart;
   }
 
 return acl_check_internal(where, addr, s, 0, user_msgptr, log_msgptr);