p_array_init(&iter->keys, pool, array_count(&conn->set.keys));
array_foreach(&conn->set.keys, key) {
iterkey = array_append_space(&iter->keys);
- iterkey->key = key;
+ struct db_dict_key *new_key = p_new(iter->pool, struct db_dict_key, 1);
+ memcpy(new_key, key, sizeof(struct db_dict_key));
+ string_t *expanded_key = str_new(iter->pool, strlen(key->key));
+ auth_request_var_expand_with_table(expanded_key, key->key, auth_request,
+ iter->var_expand_table,
+ NULL);
+ new_key->key = str_c(expanded_key);
+ iterkey->key = new_key;
}
T_BEGIN {
db_dict_iter_find_used_keys(iter);