diff options
author | Sumit Bose <sbose@redhat.com> | 2011-05-25 10:54:17 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-05-25 10:47:47 -0400 |
commit | 018f65de36887e585065f0e77cdd9f19cefeddca (patch) | |
tree | 022664d6637d93a334aa5ad4fec895b4b07f717d /src | |
parent | 0a25d94f5cb78797f086031e91777c91244fdc67 (diff) | |
download | sssd_unused-018f65de36887e585065f0e77cdd9f19cefeddca.tar.gz sssd_unused-018f65de36887e585065f0e77cdd9f19cefeddca.tar.xz sssd_unused-018f65de36887e585065f0e77cdd9f19cefeddca.zip |
Sanitize username during initgroups call
Diffstat (limited to 'src')
-rw-r--r-- | src/providers/ldap/sdap_async_accounts.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_async_accounts.c b/src/providers/ldap/sdap_async_accounts.c index f42fff29..4c909408 100644 --- a/src/providers/ldap/sdap_async_accounts.c +++ b/src/providers/ldap/sdap_async_accounts.c @@ -2870,6 +2870,7 @@ struct tevent_req *sdap_get_initgr_send(TALLOC_CTX *memctx, const char *base_dn; char *filter; int ret; + char *clean_name; DEBUG(9, ("Retrieving info for initgroups call\n")); @@ -2886,9 +2887,14 @@ struct tevent_req *sdap_get_initgr_send(TALLOC_CTX *memctx, state->grp_attrs = grp_attrs; state->orig_user = NULL; + ret = sss_filter_sanitize(state, name, &clean_name); + if (ret != EOK) { + return NULL; + } + filter = talloc_asprintf(state, "(&(%s=%s)(objectclass=%s))", state->opts->user_map[SDAP_AT_USER_NAME].name, - state->name, + clean_name, state->opts->user_map[SDAP_OC_USER].name); if (!filter) { talloc_zfree(req); |