summaryrefslogtreecommitdiffstats
path: root/src/monitor
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2010-03-12 16:52:26 +0100
committerStephen Gallagher <sgallagh@redhat.com>2010-03-15 07:40:52 -0400
commite45fcd9e478300e6be8a49402fcea81fce623804 (patch)
treef13ce827e549ebd3985bc51f3dc9848fb98e4f64 /src/monitor
parent5096bb4c2242b426aa6f5ea2cb82223e0b81a345 (diff)
downloadsssd-e45fcd9e478300e6be8a49402fcea81fce623804.tar.gz
sssd-e45fcd9e478300e6be8a49402fcea81fce623804.tar.xz
sssd-e45fcd9e478300e6be8a49402fcea81fce623804.zip
Flush NSCD cache after modifying local database
Fixes: #221
Diffstat (limited to 'src/monitor')
-rw-r--r--src/monitor/monitor.c9
-rw-r--r--src/monitor/monitor.h5
2 files changed, 14 insertions, 0 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 56a74fba6..5dff8922d 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -2257,6 +2257,15 @@ int main(int argc, const char *argv[])
}
}
+ /* Warn if nscd seems to be running */
+ ret = check_file(NSCD_SOCKET_PATH, -1, -1, -1, CHECK_SOCK, NULL);
+ if (ret == EOK) {
+ DEBUG(0, ("WARNING: nscd appears to be running\n"));
+ ERROR("nscd socket was detected. As nscd caching capabilities "
+ "may conflict with SSSD, it is recommended to not run "
+ "nscd in parallel with SSSD\n");
+ }
+
/* Parse config file, fail if cannot be done */
ret = load_configuration(tmp_ctx, config_file, &monitor);
if (ret != EOK) {
diff --git a/src/monitor/monitor.h b/src/monitor/monitor.h
index 78e10ef1f..54ce39431 100644
--- a/src/monitor/monitor.h
+++ b/src/monitor/monitor.h
@@ -25,6 +25,11 @@
#define RESOLV_CONF_PATH "/etc/resolv.conf"
#define CONFIG_FILE_POLL_INTERVAL 5 /* seconds */
+/* for detecting if NSCD is running */
+#ifndef NSCD_SOCKET_PATH
+#define NSCD_SOCKET_PATH "/var/run/nscd/socket"
+#endif
+
typedef int (*monitor_reconf_fn) (struct config_file_ctx *file_ctx,
const char *filename);