summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async_initgroups.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2011-12-06 15:02:37 +0100
committerStephen Gallagher <sgallagh@redhat.com>2011-12-16 14:46:17 -0500
commit940e033c0c427d02a34347dbd2f4443fa625b111 (patch)
tree257f40ecdb353a39a6687125455ef83990f81c7f /src/providers/ldap/sdap_async_initgroups.c
parenta26ea060ec4001daf5614bd9afcc092d29174662 (diff)
downloadsssd-940e033c0c427d02a34347dbd2f4443fa625b111.tar.gz
sssd-940e033c0c427d02a34347dbd2f4443fa625b111.tar.xz
sssd-940e033c0c427d02a34347dbd2f4443fa625b111.zip
Use the case sensitivity flag in the LDAP provider
Diffstat (limited to 'src/providers/ldap/sdap_async_initgroups.c')
-rw-r--r--src/providers/ldap/sdap_async_initgroups.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c
index 631ce1522..73ab25ea7 100644
--- a/src/providers/ldap/sdap_async_initgroups.c
+++ b/src/providers/ldap/sdap_async_initgroups.c
@@ -444,8 +444,9 @@ static void sdap_initgr_rfc2307_process(struct tevent_req *subreq)
/* Search for all groups for which this user is a member */
attrs[0] = SYSDB_MEMBEROF;
attrs[1] = NULL;
- ret = sysdb_search_user_by_name(state, state->sysdb, state->name, attrs,
- &msg);
+
+ ret = sysdb_search_user_by_name(state, state->sysdb, state->name,
+ attrs, &msg);
if (ret != EOK) {
tevent_req_error(req, ret);
return;
@@ -2462,6 +2463,7 @@ static void sdap_get_initgr_user(struct tevent_req *subreq)
size_t count;
int ret;
const char *orig_dn;
+ const char *cname;
DEBUG(9, ("Receiving info for the user\n"));
@@ -2520,6 +2522,13 @@ static void sdap_get_initgr_user(struct tevent_req *subreq)
return;
}
+ ret = sysdb_get_real_name(state, state->sysdb, state->name, &cname);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_OP_FAILURE, ("Cannot canonicalize username\n"));
+ tevent_req_error(req, ret);
+ return;
+ }
+
DEBUG(9, ("Process user's groups\n"));
switch (state->opts->schema_type) {
@@ -2533,7 +2542,7 @@ static void sdap_get_initgr_user(struct tevent_req *subreq)
subreq = sdap_initgr_rfc2307_send(state, state->ev, state->opts,
state->sysdb, state->sh,
- state->name);
+ cname);
if (!subreq) {
tevent_req_error(req, ENOMEM);
return;
@@ -2553,7 +2562,7 @@ static void sdap_get_initgr_user(struct tevent_req *subreq)
subreq = sdap_initgr_rfc2307bis_send(
state, state->ev, state->opts, state->sysdb,
state->dom, state->sh,
- state->name, orig_dn);
+ cname, orig_dn);
if (!subreq) {
tevent_req_error(req, ENOMEM);
return;