summaryrefslogtreecommitdiffstats
path: root/src/responder/nss/nsssrv_cmd.c
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2015-08-03 12:58:03 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-08-05 12:43:29 +0200
commit999edf37f10c90f8a2e87c16183bac2d0c6fe833 (patch)
tree78f2872fddcf2a15dd7f96c852c12fad65cc0182 /src/responder/nss/nsssrv_cmd.c
parent8ca168c6f459d77cdf8f46d27a392d0847343703 (diff)
downloadsssd-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)
Diffstat (limited to 'src/responder/nss/nsssrv_cmd.c')
-rw-r--r--src/responder/nss/nsssrv_cmd.c17
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: