summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-12-15 13:20:30 +0100
committerJakub Hrozek <jhrozek@redhat.com>2012-12-18 20:03:27 +0100
commitcf308d76dbd0ed95f00ed1e998b3f1d52f7f8e6b (patch)
tree9a455844f0f66542b4d49b53e9ab781a6a6b8935 /src/providers/ldap
parent6ed3b627441c64167efa753e917b1d448e1a2dcc (diff)
downloadsssd-cf308d76dbd0ed95f00ed1e998b3f1d52f7f8e6b.tar.gz
sssd-cf308d76dbd0ed95f00ed1e998b3f1d52f7f8e6b.tar.xz
sssd-cf308d76dbd0ed95f00ed1e998b3f1d52f7f8e6b.zip
DP: invalidate all cached maps if a request for auto.master comes in
If the Data Provider receives a request for the auto.master map, it passes on a flag to let the actual provider let know he should invalidate the existing maps
Diffstat (limited to 'src/providers/ldap')
-rw-r--r--src/providers/ldap/sdap_autofs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/providers/ldap/sdap_autofs.c b/src/providers/ldap/sdap_autofs.c
index 5e3e3320c..7e6f3ecf7 100644
--- a/src/providers/ldap/sdap_autofs.c
+++ b/src/providers/ldap/sdap_autofs.c
@@ -97,6 +97,14 @@ void sdap_autofs_handler(struct be_req *be_req)
DEBUG(SSSDBG_FUNC_DATA, ("Requested refresh for: %s\n",
autofs_req->mapname ? autofs_req->mapname : "<ALL>\n"));
+ if (autofs_req->invalidate) {
+ ret = sysdb_invalidate_autofs_maps(id_ctx->be->sysdb);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_MINOR_FAILURE, ("Could not invalidate autofs maps, "
+ "backend might return stale entries\n"));
+ }
+ }
+
req = sdap_autofs_get_map_send(be_req, be_req->be_ctx->ev,
id_ctx, autofs_req->mapname);
if (!req) {