*
*/
typedef struct {
- ldap_memberof_xlat_ctx_t *xlat_ctx; //!< Xlat context being evaluated.
+ ldap_group_xlat_ctx_t *xlat_ctx; //!< Xlat context being evaluated.
char const *attrs[2]; //!< For retrieving the group name.
struct berval **values; //!< Values of the membership attribute to check.
int count; //!< How many entries there are in values.
void *uctx)
{
ldap_group_groupobj_ctx_t *group_ctx = talloc_get_type_abort(uctx, ldap_group_groupobj_ctx_t);
- ldap_memberof_xlat_ctx_t *xlat_ctx = talloc_get_type_abort(group_ctx->uctx, ldap_memberof_xlat_ctx_t);
+ ldap_group_xlat_ctx_t *xlat_ctx = talloc_get_type_abort(group_ctx->uctx, ldap_group_xlat_ctx_t);
fr_ldap_query_t *query = group_ctx->query;
rlm_rcode_t rcode = RLM_MODULE_OK;
* @param xlat_ctx xlat context being processed.
*/
unlang_action_t rlm_ldap_check_groupobj_dynamic(rlm_rcode_t *p_result, request_t *request,
- ldap_memberof_xlat_ctx_t *xlat_ctx)
+ ldap_group_xlat_ctx_t *xlat_ctx)
{
rlm_ldap_t const *inst = xlat_ctx->inst;
ldap_group_groupobj_ctx_t *group_ctx;
static unlang_action_t ldap_dn2name_start (rlm_rcode_t *p_result, UNUSED int *priority, request_t *request, void *uctx)
{
ldap_group_userobj_dyn_ctx_t *group_ctx = talloc_get_type_abort(uctx, ldap_group_userobj_dyn_ctx_t);
- ldap_memberof_xlat_ctx_t *xlat_ctx = group_ctx->xlat_ctx;
+ ldap_group_xlat_ctx_t *xlat_ctx = group_ctx->xlat_ctx;
rlm_ldap_t const *inst = xlat_ctx->inst;
if (!inst->group.obj_name_attr) {
request_t *request, void *uctx)
{
ldap_group_userobj_dyn_ctx_t *group_ctx = talloc_get_type_abort(uctx, ldap_group_userobj_dyn_ctx_t);
- ldap_memberof_xlat_ctx_t *xlat_ctx = talloc_get_type_abort(group_ctx->xlat_ctx, ldap_memberof_xlat_ctx_t);
+ ldap_group_xlat_ctx_t *xlat_ctx = talloc_get_type_abort(group_ctx->xlat_ctx, ldap_group_xlat_ctx_t);
return fr_ldap_trunk_search(xlat_ctx, &xlat_ctx->query, request, xlat_ctx->ttrunk, xlat_ctx->dn,
LDAP_SCOPE_BASE, NULL, xlat_ctx->attrs, NULL, NULL);
request_t *request, void *uctx)
{
ldap_group_userobj_dyn_ctx_t *group_ctx = talloc_get_type_abort(uctx, ldap_group_userobj_dyn_ctx_t);
- ldap_memberof_xlat_ctx_t *xlat_ctx = talloc_get_type_abort(group_ctx->xlat_ctx, ldap_memberof_xlat_ctx_t);
+ ldap_group_xlat_ctx_t *xlat_ctx = talloc_get_type_abort(group_ctx->xlat_ctx, ldap_group_xlat_ctx_t);
rlm_ldap_t const *inst = xlat_ctx->inst;
fr_ldap_query_t *query = xlat_ctx->query;
LDAPMessage *entry;
* @param[in] xlat_ctx Context of the xlat being evaluated.
*/
unlang_action_t rlm_ldap_check_userobj_dynamic(rlm_rcode_t *p_result, request_t *request,
- ldap_memberof_xlat_ctx_t *xlat_ctx)
+ ldap_group_xlat_ctx_t *xlat_ctx)
{
rlm_ldap_t const *inst = xlat_ctx->inst;
ldap_group_userobj_dyn_ctx_t *group_ctx;
fr_ldap_query_t *query;
ldap_group_xlat_status_t status;
bool found;
-} ldap_memberof_xlat_ctx_t;
+} ldap_group_xlat_ctx_t;
extern HIDDEN fr_dict_attr_t const *attr_password;
extern HIDDEN fr_dict_attr_t const *attr_cleartext_password;
unlang_action_t rlm_ldap_cacheable_groupobj(rlm_rcode_t *p_result, request_t *request, ldap_autz_ctx_t *autz_ctx);
unlang_action_t rlm_ldap_check_groupobj_dynamic(rlm_rcode_t *p_result, request_t *request,
- ldap_memberof_xlat_ctx_t *xlat_ctx);
+ ldap_group_xlat_ctx_t *xlat_ctx);
unlang_action_t rlm_ldap_check_userobj_dynamic(rlm_rcode_t *p_result, request_t *request,
- ldap_memberof_xlat_ctx_t *xlat_ctx);
+ ldap_group_xlat_ctx_t *xlat_ctx);
unlang_action_t rlm_ldap_check_cached(rlm_rcode_t *p_result,
rlm_ldap_t const *inst, request_t *request, fr_value_box_t const *check);