>From 48dbdc36badc6548a8dfa910c6a605b224823df4 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Mon, 3 Aug 2015 12:58:03 +0200 Subject: [PATCH 3/8] 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 --- src/responder/nss/nsssrv_cmd.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c index 4505f2a990d8711aa880e20f9cf5c982a773921d..778618e4080b1342535408e1720349f5226b3252 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -3939,14 +3939,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 { @@ -3994,6 +3986,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: -- 2.4.6