diff options
Diffstat (limited to 'src/responder/common/responder_dp.c')
-rw-r--r-- | src/responder/common/responder_dp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/responder/common/responder_dp.c b/src/responder/common/responder_dp.c index f752c94c3..f7f8df04e 100644 --- a/src/responder/common/responder_dp.c +++ b/src/responder/common/responder_dp.c @@ -528,9 +528,11 @@ sss_dp_get_account_msg(void *pvt) switch (info->type) { case SSS_DP_USER: + case SSS_DP_WILDCARD_USER: be_type = BE_REQ_USER; break; case SSS_DP_GROUP: + case SSS_DP_WILDCARD_GROUP: be_type = BE_REQ_GROUP; break; case SSS_DP_INITGROUPS: @@ -574,6 +576,15 @@ sss_dp_get_account_msg(void *pvt) filter = talloc_asprintf(info, "%s=%s", DP_CERT, info->opt_name); } + } else if (info->type == SSS_DP_WILDCARD_USER || + info->type == SSS_DP_WILDCARD_GROUP) { + if (info->extra) { + filter = talloc_asprintf(info, "%s=%s:%s", DP_WILDCARD, + info->opt_name, info->extra); + } else { + filter = talloc_asprintf(info, "%s=%s", DP_WILDCARD, + info->opt_name); + } } else { if (info->extra) { filter = talloc_asprintf(info, "name=%s:%s", |