diff options
author | Pavel Březina <pbrezina@redhat.com> | 2014-08-01 12:11:54 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-08-14 13:32:19 +0200 |
commit | 6f522fe5db9cd0535dba1dfbd3299649e1e677a7 (patch) | |
tree | e421e33777dd51ae100d3d1e8e9eb9896a9d996d | |
parent | c3fd0123258be6392a4ce02017c6a299069ddf0d (diff) | |
download | sssd-6f522fe5db9cd0535dba1dfbd3299649e1e677a7.tar.gz sssd-6f522fe5db9cd0535dba1dfbd3299649e1e677a7.tar.xz sssd-6f522fe5db9cd0535dba1dfbd3299649e1e677a7.zip |
ad initgroups: continue if resolved SID is still missing
https://fedorahosted.org/sssd/ticket/2389
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
(cherry picked from commit 983983dd1629ab33eab340a40d9ee83965a339c6)
-rw-r--r-- | src/providers/ldap/sdap_async_initgroups_ad.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/providers/ldap/sdap_async_initgroups_ad.c b/src/providers/ldap/sdap_async_initgroups_ad.c index f52952d97..394a5b0e9 100644 --- a/src/providers/ldap/sdap_async_initgroups_ad.c +++ b/src/providers/ldap/sdap_async_initgroups_ad.c @@ -1219,13 +1219,20 @@ sdap_ad_tokengroups_update_posix_members(TALLOC_CTX *mem_ctx, goto done; } num_valid_groups++; - } else if (ret == ENOENT && _missing != NULL) { - /* we need to download this group */ - missing_sids[num_missing_sids] = talloc_steal(missing_sids, sid); - num_missing_sids++; + } else if (ret == ENOENT) { + if (_missing != NULL) { + /* we need to download this group */ + missing_sids[num_missing_sids] = talloc_steal(missing_sids, + sid); + num_missing_sids++; + + DEBUG(SSSDBG_TRACE_FUNC, "Missing SID %s will be downloaded\n", + sid); + } - DEBUG(SSSDBG_TRACE_FUNC, "Missing SID %s will be downloaded\n", - sid); + /* else: We have downloaded missing groups but some of them may + * remained missing because they are outside of search base. We + * will just ignore them and continue with the next group. */ } else { DEBUG(SSSDBG_MINOR_FAILURE, "Could not look up SID %s in sysdb: " "[%s]\n", sid, strerror(ret)); |