summaryrefslogtreecommitdiffstats
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:45:32 +0100
commite2191e5f0093d305f3cdb6f68e5a287ad6822c9e (patch)
tree93e827e7b67dc06d3ea9c571ccb454a69e09676e
parentafce8355d6289114545b0d250ce5720e46adb8f4 (diff)
downloadsssd-e2191e5f0093d305f3cdb6f68e5a287ad6822c9e.tar.gz
sssd-e2191e5f0093d305f3cdb6f68e5a287ad6822c9e.tar.xz
sssd-e2191e5f0093d305f3cdb6f68e5a287ad6822c9e.zip
SSS_CACHE: Reset the initgroups attribute when resetting users
(cherry picked from commit 30ee051025753b63ceb19d3b83c44019a19554a1) Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-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 56dc47afd..59b36db3e 100644
--- a/src/tools/sss_cache.c
+++ b/src/tools/sss_cache.c
@@ -424,6 +424,12 @@ static errno_t invalidate_entry(TALLOC_CTX *ctx, struct sysdb_ctx *sysdb,
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(sysdb, domain, name, sys_attrs,
SYSDB_MOD_REP);
break;