diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2013-01-15 07:54:03 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-01-16 17:02:08 +0100 |
commit | a40f572fb5022b1f1e121267e91ceb0e370602a9 (patch) | |
tree | ab35d402706b55a63a51c7e3b475d2fdc89f064b /src/responder/nss | |
parent | 11d0cb5bec7e023ed1903487af42d417d64dd2e9 (diff) | |
download | sssd-a40f572fb5022b1f1e121267e91ceb0e370602a9.tar.gz sssd-a40f572fb5022b1f1e121267e91ceb0e370602a9.tar.xz sssd-a40f572fb5022b1f1e121267e91ceb0e370602a9.zip |
Invalidate user entry even if there are no groups
Related to https://fedorahosted.org/sssd/ticket/1757
Previously we would optimize the mc invalidate code for cases where the
user was a member of some groups. But if the user was removed from the
server while being in memory cache, we would only invalidate the mc
record if he was a member of at least one supplementary group.
Diffstat (limited to 'src/responder/nss')
-rw-r--r-- | src/responder/nss/nsssrv_cmd.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c index a1646d805..3aea4391e 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -3418,11 +3418,6 @@ void nss_update_initgr_memcache(struct nss_ctx *nctx, int ret; int i, j; - if (gnum == 0) { - /* there are no groups to invalidate in any case, just return */ - return; - } - for (dom = nctx->rctx->domains; dom != NULL; dom = dom->next) { if (strcasecmp(dom->name, domain) == 0) { break; @@ -3463,7 +3458,7 @@ void nss_update_initgr_memcache(struct nss_ctx *nctx, changed = true; } else { /* we skip the first entry, it's the user itself */ - for (i = 1; i < res->count; i++) { + for (i = 0; i < res->count; i++) { id = ldb_msg_find_attr_as_uint(res->msgs[i], SYSDB_GIDNUM, 0); if (id == 0) { /* probably non-posix group, skip */ |