diff options
author | Lukas Slebodnik <lslebodn@redhat.com> | 2015-08-03 12:58:03 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-08-05 12:43:29 +0200 |
commit | 999edf37f10c90f8a2e87c16183bac2d0c6fe833 (patch) | |
tree | 78f2872fddcf2a15dd7f96c852c12fad65cc0182 | |
parent | 8ca168c6f459d77cdf8f46d27a392d0847343703 (diff) | |
download | sssd-999edf37f10c90f8a2e87c16183bac2d0c6fe833.tar.gz sssd-999edf37f10c90f8a2e87c16183bac2d0c6fe833.tar.xz sssd-999edf37f10c90f8a2e87c16183bac2d0c6fe833.zip |
mmap: Invalidate initgroups memory cache after any change
Initgroups memory cache was invalidated only in case on removed user.
it should be invalidated also after changes in group membership.
Resolves:
https://fedorahosted.org/sssd/ticket/2716
Reviewed-by: Michal Židek <mzidek@redhat.com>
(cherry picked from commit ea7839cec593b4a7c678fab52ab864518db6699b)
-rw-r--r-- | src/responder/nss/nsssrv_cmd.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c index b3998015f..0bfbf0eab 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -3903,14 +3903,6 @@ void nss_update_initgr_memcache(struct nss_ctx *nctx, ret, strerror(ret)); } - ret = sss_mmap_cache_initgr_invalidate(nctx->initgr_mc_ctx, - &delete_name); - if (ret != EOK && ret != ENOENT) { - DEBUG(SSSDBG_CRIT_FAILURE, - "Internal failure in memory cache code: %d [%s]\n", - ret, strerror(ret)); - } - /* Also invalidate his groups */ changed = true; } else { @@ -3958,6 +3950,15 @@ void nss_update_initgr_memcache(struct nss_ctx *nctx, ret, strerror(ret)); } } + + to_sized_string(&delete_name, name); + ret = sss_mmap_cache_initgr_invalidate(nctx->initgr_mc_ctx, + &delete_name); + if (ret != EOK && ret != ENOENT) { + DEBUG(SSSDBG_CRIT_FAILURE, + "Internal failure in memory cache code: %d [%s]\n", + ret, strerror(ret)); + } } done: |