Blob Blame History Raw
From 256e1b4162832570e10a85579d2b14ed7b54b7f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
Date: Mon, 29 May 2017 13:29:26 +0200
Subject: [PATCH 179/181] SYSDB_OPS: Invalidate a cache entry also in the
 ts_cache
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Similarly to what has been in the previous commit (expiring an entry
also in the timestamp cache), we should do the same when invalidating an
entry.

Related:
https://pagure.io/SSSD/sssd/issue/3369

Signed-off-by: Fabiano FidĂȘncio <fidencio@redhat.com>

Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
(cherry picked from commit a71f1a655dcc2ca6dc16bb8eb1c4c9e24cfe2c3e)
---
 src/db/sysdb_ops.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index ae26470487f859fe1de1dc364b6a05b9793a0545..ed936f0cb1a37155aabef96db1d267eb03ec0ed9 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -5160,6 +5160,17 @@ int sysdb_invalidate_cache_entry(struct sss_domain_info *domain,
         goto done;
     }
 
+    if (sysdb->ldb_ts != NULL) {
+        ret = sysdb_set_cache_entry_attr(sysdb->ldb_ts, entry_dn,
+                                         attrs, SYSDB_MOD_REP);
+        if (ret != EOK) {
+            DEBUG(SSSDBG_MINOR_FAILURE,
+                  "Cannot set attrs in the timestamp cache for %s, %d [%s]\n",
+                  ldb_dn_get_linearized(entry_dn), ret, sss_strerror(ret));
+            /* non-fatal */
+        }
+    }
+
     DEBUG(SSSDBG_FUNC_DATA,
           "Cache entry [%s] has been invalidated.\n",
           ldb_dn_get_linearized(entry_dn));
-- 
2.9.4