struct var_expand_table *table;
unsigned int count = 2;
- table = auth_request_get_var_expand_table_full(auth_request, auth_policy_escape_function,
- &count);
+ table = auth_request_get_var_expand_table_full(auth_request,
+ auth_request->fields.user, auth_policy_escape_function, &count);
table[0].key = '\0';
table[0].long_key = "hashed_password";
table[0].value = hashed_password;
struct var_expand_table *
auth_request_get_var_expand_table_full(const struct auth_request *auth_request,
+ const char *username,
auth_request_escape_func_t *escape_func,
unsigned int *count)
{
const unsigned int auth_count =
N_ELEMENTS(auth_request_var_expand_static_tab);
struct var_expand_table *tab, *ret_tab;
- const char *orig_user, *auth_user, *username;
+ const char *orig_user, *auth_user;
if (escape_func == NULL)
escape_func = escape_none;
memcpy(tab, auth_request_var_expand_static_tab,
auth_count * sizeof(*tab));
- username = fields->user != NULL ? fields->user : "";
+ if (username == NULL)
+ username = "";
tab[0].value = escape_func(username, auth_request);
tab[1].value = escape_func(t_strcut(username, '@'),
auth_request);
{
unsigned int count = 0;
- return auth_request_get_var_expand_table_full(auth_request, escape_func,
- &count);
+ return auth_request_get_var_expand_table_full(auth_request,
+ auth_request->fields.user, escape_func, &count);
}
static const char *field_get_default(const char *data)
ATTR_NULL(2);
struct var_expand_table *
auth_request_get_var_expand_table_full(const struct auth_request *auth_request,
+ const char *username,
auth_request_escape_func_t *escape_func,
- unsigned int *count) ATTR_NULL(2);
+ unsigned int *count) ATTR_NULL(3);
int auth_request_var_expand(string_t *dest, const char *str,
const struct auth_request *auth_request,
struct var_expand_table *table;
unsigned int count = 1;
- table = auth_request_get_var_expand_table_full(auth_request, NULL,
- &count);
+ table = auth_request_get_var_expand_table_full(auth_request,
+ auth_request->fields.user, NULL, &count);
table[0].key = '$';
table[0].value = ldap_value;
return table;
struct var_expand_table *table;
unsigned int count = 1;
- table = auth_request_get_var_expand_table_full(auth_request, NULL,
- &count);
+ table = auth_request_get_var_expand_table_full(auth_request,
+ auth_request->fields.user, NULL, &count);
table[0].key = '$';
table[0].value = oauth2_value;
return table;