summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_autofs.c
diff options
context:
space:
mode:
authorCove Schneider <cove@ilm.com>2013-05-31 23:56:48 -0700
committerJakub Hrozek <jhrozek@redhat.com>2013-11-12 10:50:46 +0100
commit407123c67114bf010cdad4418f291f9fb3762f4a (patch)
tree7b2e1ee6226c1447479dda04d67db517a410ded3 /src/providers/ldap/sdap_autofs.c
parent41402c003fef1e6768f5468dd7ea2e20e16bfa19 (diff)
downloadsssd-407123c67114bf010cdad4418f291f9fb3762f4a.tar.gz
sssd-407123c67114bf010cdad4418f291f9fb3762f4a.tar.xz
sssd-407123c67114bf010cdad4418f291f9fb3762f4a.zip
Add ldap_autofs_map_master_name option
Diffstat (limited to 'src/providers/ldap/sdap_autofs.c')
-rw-r--r--src/providers/ldap/sdap_autofs.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/providers/ldap/sdap_autofs.c b/src/providers/ldap/sdap_autofs.c
index e7947c9b2..c0bf3b689 100644
--- a/src/providers/ldap/sdap_autofs.c
+++ b/src/providers/ldap/sdap_autofs.c
@@ -30,6 +30,7 @@
#include "providers/ldap/sdap.h"
#include "providers/ldap/sdap_async.h"
#include "providers/dp_backend.h"
+#include "providers/data_provider.h"
#include "db/sysdb_autofs.h"
#include "util/util.h"
@@ -82,6 +83,7 @@ void sdap_autofs_handler(struct be_req *be_req)
struct sdap_id_ctx *id_ctx;
struct be_autofs_req *autofs_req;
struct tevent_req *req;
+ const char *master_map;
int ret = EOK;
DEBUG(SSSDBG_TRACE_INTERNAL, ("sdap autofs handler called\n"));
@@ -98,6 +100,16 @@ 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->mapname != NULL) {
+ master_map = dp_opt_get_string(id_ctx->opts->basic,
+ SDAP_AUTOFS_MAP_MASTER_NAME);
+ if (strcmp(master_map, autofs_req->mapname) == 0) {
+ autofs_req->invalidate = true;
+ DEBUG(SSSDBG_FUNC_DATA, ("Refresh of automount master map triggered: %s\n",
+ autofs_req->mapname));
+ }
+ }
+
if (autofs_req->invalidate) {
ret = sysdb_invalidate_autofs_maps(id_ctx->be->domain->sysdb,
id_ctx->be->domain);