summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2011-05-25 10:54:17 +0200
committerStephen Gallagher <sgallagh@redhat.com>2011-05-25 10:47:47 -0400
commit018f65de36887e585065f0e77cdd9f19cefeddca (patch)
tree022664d6637d93a334aa5ad4fec895b4b07f717d
parent0a25d94f5cb78797f086031e91777c91244fdc67 (diff)
downloadsssd-018f65de36887e585065f0e77cdd9f19cefeddca.tar.gz
sssd-018f65de36887e585065f0e77cdd9f19cefeddca.tar.xz
sssd-018f65de36887e585065f0e77cdd9f19cefeddca.zip
Sanitize username during initgroups call
-rw-r--r--src/providers/ldap/sdap_async_accounts.c8
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 f42fff294..4c909408b 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);