summaryrefslogtreecommitdiffstats
path: root/src/tools/sss_cache.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-02-11 22:51:48 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-02-12 15:17:45 +0100
commit30ee051025753b63ceb19d3b83c44019a19554a1 (patch)
tree85cf892213bc763b049d893d89ce4c332bd3781b /src/tools/sss_cache.c
parent0f4e627ca2999d67fd122c0dbb562dce89deb283 (diff)
downloadsssd-30ee051025753b63ceb19d3b83c44019a19554a1.tar.gz
sssd-30ee051025753b63ceb19d3b83c44019a19554a1.tar.xz
sssd-30ee051025753b63ceb19d3b83c44019a19554a1.zip
SSS_CACHE: Reset the initgroups attribute when resetting users
Diffstat (limited to 'src/tools/sss_cache.c')
-rw-r--r--src/tools/sss_cache.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tools/sss_cache.c b/src/tools/sss_cache.c
index 9f22862e9..ed02b7b60 100644
--- a/src/tools/sss_cache.c
+++ b/src/tools/sss_cache.c
@@ -421,6 +421,12 @@ static errno_t invalidate_entry(TALLOC_CTX *ctx,
if (ret == EOK) {
switch (entry_type) {
case TYPE_USER:
+ /* For users, we also need to reset the initgroups
+ * cache expiry */
+ ret = sysdb_attrs_add_time_t(sys_attrs,
+ SYSDB_INITGR_EXPIRE, 1);
+ if (ret != EOK) return ret;
+
ret = sysdb_set_user_attr(domain, name, sys_attrs,
SYSDB_MOD_REP);
break;