fr_event_list_t *el; //!< Thread event list for callbacks / timeouts
fr_ldap_thread_trunk_t *bind_trunk; //!< LDAP trunk used for bind auths
fr_rb_tree_t *binds; //!< Tree of outstanding bind auths
+ fr_pair_list_t *trigger_args; //!< Passed to trigger request for normal trunks
+ fr_pair_list_t *bind_trigger_args; //!< Passed to trigger request for bind trunks
} fr_ldap_thread_t;
/** Thread LDAP trunk structure
t->trunk_conf = &inst->trunk_conf;
t->bind_trunk_conf = &inst->bind_trunk_conf;
t->el = mctx->el;
+ t->trigger_args = inst->trigger_args;
+ t->bind_trigger_args = inst->bind_trigger_args;
/*
* Launch trunk for module default connection
}
}
+ if (inst->trunk_conf.conn_triggers) {
+ MEM(inst->trigger_args = fr_pair_list_alloc(inst));
+ if (module_trigger_args_build(inst->trigger_args, inst->trigger_args, cf_section_find(conf, "pool", NULL),
+ &(module_trigger_args_t) {
+ .module = mctx->mi->module->name,
+ .name = mctx->mi->name,
+ .server = inst->handle_config.server,
+ .port = inst->handle_config.port
+ }) < 0) return -1;
+ }
+
+ if (inst->bind_trunk_conf.conn_triggers) {
+ MEM(inst->bind_trigger_args = fr_pair_list_alloc(inst));
+ if (module_trigger_args_build(inst->bind_trigger_args, inst->bind_trigger_args, cf_section_find(conf, "bind_pool", NULL),
+ &(module_trigger_args_t) {
+ .module = mctx->mi->module->name,
+ .name = mctx->mi->name,
+ .server = inst->handle_config.server,
+ .port = inst->handle_config.port
+ }) < 0) return -1;
+ }
return 0;
error:
trunk_conf_t bind_trunk_conf; //!< Trunk configuration for trunk used for bind auths
module_instance_t const *mi; //!< Module instance data for thread lookups.
+
+ fr_pair_list_t *trigger_args; //!< Pairs passed to trigger request for standard trunk.
+ fr_pair_list_t *bind_trigger_args; //!< Pairs passed to trigger request for bind trunk.
} rlm_ldap_t;
/** Call environment used in LDAP authorization