{ "bounce_return_size_limit", vtype_int, &bounce_return_size_limit },
{ "caller_gid", vtype_gid, &real_gid },
{ "caller_uid", vtype_uid, &real_uid },
+ { "client_authenticator", vtype_stringptr, &client_authenticator },
+ { "client_authenticated_id", vtype_stringptr, &client_authenticated_id },
{ "compile_date", vtype_stringptr, &version_date },
{ "compile_number", vtype_stringptr, &version_cnumber },
{ "csa_status", vtype_stringptr, &csa_status },
uschar *tmp;
int sav_narg = acl_narg;
int ret;
+extern int acl_where;
if(--nsub > sizeof(acl_arg)/sizeof(*acl_arg)) nsub = sizeof(acl_arg)/sizeof(*acl_arg);
for (i = 0; i < nsub && sub[i+1]; i++)
acl_narg>0 ? sub[1] : US"<none>",
acl_narg>1 ? " +more" : "");
-ret = acl_check(ACL_WHERE_EXPANSION, NULL, sub[0], user_msgp, &tmp);
+ret = acl_eval(acl_where, NULL, sub[0], user_msgp, &tmp);
for (i = 0; i < nsub; i++)
acl_arg[i] = sub[i+1]; /* restore old args */
case ECOND_ACL:
/* ${if acl {{name}{arg1}{arg2}...} {yes}{no}} */
{
- uschar *nameargs;
uschar *user_msg;
BOOL cond = FALSE;
int size = 0;
int ptr = 0;
while (isspace(*s)) s++;
- if (*s++ != '{') goto COND_FAILED_CURLY_START;
+ if (*s++ != '{') goto COND_FAILED_CURLY_START; /*}*/
switch(read_subs(sub, sizeof(sub)/sizeof(*sub), 1,
&s, yield == NULL, TRUE, US"acl"))
uschar * list;
int sep = 0;
uschar * item;
- uschar * suffix = "";
+ uschar * suffix = US"";
BOOL needsep = FALSE;
uschar buffer[256];
}
else switch(*arg) /* specific list-type version */
{
- case 'a': t = tree_search(addresslist_anchor, sub); suffix = "_a"; break;
- case 'd': t = tree_search(domainlist_anchor, sub); suffix = "_d"; break;
- case 'h': t = tree_search(hostlist_anchor, sub); suffix = "_h"; break;
- case 'l': t = tree_search(localpartlist_anchor, sub); suffix = "_l"; break;
+ case 'a': t = tree_search(addresslist_anchor, sub); suffix = US"_a"; break;
+ case 'd': t = tree_search(domainlist_anchor, sub); suffix = US"_d"; break;
+ case 'h': t = tree_search(hostlist_anchor, sub); suffix = US"_h"; break;
+ case 'l': t = tree_search(localpartlist_anchor, sub); suffix = US"_l"; break;
default:
expand_string_message = string_sprintf("bad suffix on \"list\" operator");
goto EXPAND_FAILED;
if (*cp++ == ':') /* colon in a non-colon-sep list item, needs doubling */
{
yield = string_cat(yield, &size, &ptr, US"::", 2);
- item = cp;
+ item = (uschar *)cp;
}
else /* sep in item; should already be doubled; emit once */
{
yield = string_cat(yield, &size, &ptr, (uschar *)tok, 1);
if (*cp == sep) cp++;
- item = cp;
+ item = (uschar *)cp;
}
}
}