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 17:29:59 +0100
commit05bc499f4ae6bf5387f77c3afe92e5f786649d82 (patch)
tree9414d6231283ef0cfb2e29a802c0febe27fe7328 /src/providers/ldap
parentfb4cb94e8f9fef4a08e432cdc72ca7b0cf19a441 (diff)
downloadsssd-05bc499f4ae6bf5387f77c3afe92e5f786649d82.tar.gz
sssd-05bc499f4ae6bf5387f77c3afe92e5f786649d82.tar.xz
sssd-05bc499f4ae6bf5387f77c3afe92e5f786649d82.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) {