summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Židek <mzidek@redhat.com>2016-07-13 20:02:47 +0200
committerLukas Slebodnik <lslebodn@redhat.com>2016-07-15 13:15:56 +0200
commitaa8ec3758d885d6ae4088174369d30f8493ec898 (patch)
tree7740ddf3836ca546f9917d4363bd9289c39ac2f6
parent3d29430867cf92b2d71afa95abb679711231117c (diff)
downloadsssd-aa8ec3758d885d6ae4088174369d30f8493ec898.tar.gz
sssd-aa8ec3758d885d6ae4088174369d30f8493ec898.tar.xz
sssd-aa8ec3758d885d6ae4088174369d30f8493ec898.zip
sdap: Fix ldap_rfc_2307_fallback_to_local_users
We wrongly tried to store empty user attributes instead of the local user attributes with ldap_rfc_2307_fallback_to_local_users set to true. This gave us bad initgroups results and caused segfaults. Resolves: https://fedorahosted.org/sssd/ticket/3045 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-rw-r--r--src/providers/ldap/sdap_async_initgroups.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c
index d14563cb0..17593f0a2 100644
--- a/src/providers/ldap/sdap_async_initgroups.c
+++ b/src/providers/ldap/sdap_async_initgroups.c
@@ -2893,6 +2893,9 @@ static void sdap_get_initgr_user(struct tevent_req *subreq)
(dp_opt_get_bool(state->opts->basic,
SDAP_RFC2307_FALLBACK_TO_LOCAL_USERS) == true)) {
ret = sdap_fallback_local_user(state, state->shortname, -1, &usr_attrs);
+ if (ret == EOK) {
+ state->orig_user = usr_attrs[0];
+ }
} else {
ret = ENOENT;
}