|
|
bb7cd1 |
From 428909abd59f1eb8bb02b6627f37f61af3de2691 Mon Sep 17 00:00:00 2001
|
|
|
956cae |
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
|
|
956cae |
Date: Mon, 1 May 2017 14:49:50 +0200
|
|
|
bb7cd1 |
Subject: [PATCH 120/120] LDAP/AD: Do not fail in case
|
|
|
956cae |
rfc2307bis_nested_groups_recv() returns ENOENT
|
|
|
956cae |
MIME-Version: 1.0
|
|
|
956cae |
Content-Type: text/plain; charset=UTF-8
|
|
|
956cae |
Content-Transfer-Encoding: 8bit
|
|
|
956cae |
|
|
|
956cae |
Commit 25699846 introduced a regression seen when an initgroup lookup is
|
|
|
956cae |
done and there's no nested groups involved.
|
|
|
956cae |
|
|
|
956cae |
In this scenario the whole lookup fails due to an ENOENT returned by
|
|
|
956cae |
rfc2307bis_nested_groups_recv(), which leads to the user removal from
|
|
|
956cae |
sysdb causing some authentication issues.
|
|
|
956cae |
|
|
|
956cae |
Resolves:
|
|
|
956cae |
https://pagure.io/SSSD/sssd/issue/3331
|
|
|
956cae |
|
|
|
956cae |
Signed-off-by: Fabiano FidĂȘncio <fidencio@redhat.com>
|
|
|
956cae |
Reviewed-by: Sumit Bose <sbose@redhat.com>
|
|
|
956cae |
---
|
|
|
956cae |
src/providers/ldap/sdap_async_initgroups_ad.c | 8 +++++++-
|
|
|
956cae |
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
956cae |
|
|
|
956cae |
diff --git a/src/providers/ldap/sdap_async_initgroups_ad.c b/src/providers/ldap/sdap_async_initgroups_ad.c
|
|
|
bb7cd1 |
index f75b9211e2a06616dbf9b948e60b023a818c7e19..2831be9776293260aeec0e2ff85160f1938bdb32 100644
|
|
|
956cae |
--- a/src/providers/ldap/sdap_async_initgroups_ad.c
|
|
|
956cae |
+++ b/src/providers/ldap/sdap_async_initgroups_ad.c
|
|
|
956cae |
@@ -1746,7 +1746,13 @@ static void sdap_ad_get_domain_local_groups_done(struct tevent_req *subreq)
|
|
|
956cae |
|
|
|
956cae |
ret = rfc2307bis_nested_groups_recv(subreq);
|
|
|
956cae |
talloc_zfree(subreq);
|
|
|
956cae |
- if (ret != EOK) {
|
|
|
956cae |
+ if (ret == ENOENT) {
|
|
|
956cae |
+ /* In case of ENOENT we can just proceed without making
|
|
|
956cae |
+ * sdap_get_initgr_user() fail because there's no nested
|
|
|
956cae |
+ * groups for this user/group. */
|
|
|
956cae |
+ ret = EOK;
|
|
|
956cae |
+ goto done;
|
|
|
956cae |
+ } else if (ret != EOK) {
|
|
|
956cae |
tevent_req_error(req, ret);
|
|
|
956cae |
return;
|
|
|
956cae |
}
|
|
|
956cae |
--
|
|
|
956cae |
2.9.3
|
|
|
956cae |
|