call_env_parsed_t *last = call_env_parsed_tail(parsed);
if (rule->section.func(ctx, parsed, t_rules, cf_section_to_item(subcs), section_name1,
- section_name2, rule) < 0) {
+ section_name2, data, rule) < 0) {
cf_log_perr(cs, "Failed parsing configuration section %s", rule->name);
talloc_free(call_env_parsed);
return -1;
* - 0 on success.
* - -1 on failure.
*/
-typedef int (*call_env_parse_section_t)(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, char const *section_name1, char const *section_name2, call_env_parser_t const *rule);
+typedef int (*call_env_parse_section_t)(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, char const *section_name1, char const *section_name2, void const *data, call_env_parser_t const *rule);
/** Per method call config
*
extern module_rlm_t rlm_cache;
static int cache_key_parse(TALLOC_CTX *ctx, void *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, char const *section_name1, char const *section_name2, void const *data, call_env_parser_t const *rule);
-static int cache_update_section_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, UNUSED char const *section_name1, UNUSED char const *section_name2, UNUSED call_env_parser_t const *rule);
+static int cache_update_section_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, char const *section_name1, char const *section_name2, void const *data, call_env_parser_t const *rule);
static const conf_parser_t module_config[] = {
{ FR_CONF_OFFSET_TYPE_FLAGS("driver", FR_TYPE_VOID, 0, rlm_cache_t, driver_submodule), .dflt = "rbtree",
static int cache_update_section_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules,
CONF_ITEM *ci, UNUSED char const *section_name1, UNUSED char const *section_name2,
- UNUSED call_env_parser_t const *rule)
+ UNUSED void const *data, UNUSED call_env_parser_t const *rule)
{
CONF_SECTION *update = cf_item_to_section(ci);
call_env_parsed_t *parsed;
static int call_env_suppress_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules,
CONF_ITEM *ci, UNUSED char const *section_name1, UNUSED char const *section_name2,
- UNUSED call_env_parser_t const *rule)
+ UNUSED void const *data, UNUSED call_env_parser_t const *rule)
{
CONF_SECTION const *cs = cf_item_to_section(ci);
CONF_SECTION const *parent = cf_item_to_section(cf_parent(ci));
map_list_t *profile_map; //!< List of maps to apply to the profile.
} ldap_xlat_profile_call_env_t;
-static int ldap_update_section_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, UNUSED char const *section_name1, UNUSED char const *section_name2, UNUSED call_env_parser_t const *rule);
+static int ldap_update_section_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, char const *section_name1, char const *section_name2, void const *data, call_env_parser_t const *rule);
static int ldap_group_filter_parse(TALLOC_CTX *ctx, void *out, tmpl_rules_t const *t_rules, CONF_ITEM *ci, UNUSED char const *section_name1, UNUSED char const *section_name2, void const *data, UNUSED call_env_parser_t const *rule);
static int ldap_update_section_parse(TALLOC_CTX *ctx, call_env_parsed_head_t *out, tmpl_rules_t const *t_rules,
CONF_ITEM *ci, UNUSED char const *section_name1, UNUSED char const *section_name2,
- call_env_parser_t const *rule)
+ UNUSED void const *data, call_env_parser_t const *rule)
{
map_list_t *maps;
CONF_SECTION *update = cf_item_to_section(ci);