diff options
author | Ondrej Kos <okos@redhat.com> | 2013-05-20 17:37:04 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-05-21 16:40:12 +0200 |
commit | 574a1c20f114851071ae74112b34488c3d1aeeb3 (patch) | |
tree | f16c104651b89b6e7f75b31e4ac960251c753128 /src/monitor | |
parent | db78f4c750943fcd4b60bca5f3fdfd6cc5d3d4f8 (diff) | |
download | sssd-574a1c20f114851071ae74112b34488c3d1aeeb3.tar.gz sssd-574a1c20f114851071ae74112b34488c3d1aeeb3.tar.bz2 sssd-574a1c20f114851071ae74112b34488c3d1aeeb3.zip |
Check NSCD configuration file
https://fedorahosted.org/sssd/ticket/1785
nscd.conf file is now checked for the presence of caching settings for
databases controlled by SSSD. Syslog warning is now written only if NSCD
is running with interfering configuration or if configuration file
couldn't be loaded.
New configure option added to support non-standard locations
--with-nscd-conf=PATH (defaultly set to /etc/nscd.conf)
This is just a workaround until the following bugzilla is resolved:
https://bugzilla.redhat.com/show_bug.cgi?id=963908
Diffstat (limited to 'src/monitor')
-rw-r--r-- | src/monitor/monitor.c | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c index bd22a951..8882e4db 100644 --- a/src/monitor/monitor.c +++ b/src/monitor/monitor.c @@ -2754,12 +2754,32 @@ 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, false); if (ret == EOK) { - sss_log(SSS_LOG_NOTICE, - "nscd socket was detected. Nscd caching capabilities " - "may conflict with SSSD for users and groups. It is " - "recommended not to run nscd in parallel with SSSD, unless " - "nscd is configured not to cache the passwd, group and " - "netgroup nsswitch maps."); + ret = sss_nscd_parse_conf(NSCD_CONF_PATH); + + switch (ret) { + case ENOENT: + sss_log(SSS_LOG_NOTICE, + "NSCD socket was detected. NSCD caching capabilities " + "may conflict with SSSD for users and groups. It is " + "recommended not to run NSCD in parallel with SSSD, " + "unless NSCD is configured not to cache the passwd, " + "group, netgroup and services nsswitch maps."); + break; + + case EEXIST: + sss_log(SSS_LOG_NOTICE, + "NSCD socket was detected and seems to be configured " + "to cache some of the databases controlled by " + "SSSD [passwd,group,netgroup,services]. It is " + "recommended not to run NSCD in parallel with SSSD, " + "unless NSCD is configured not to cache these."); + break; + + case EOK: + DEBUG(SSSDBG_TRACE_FUNC, ("NSCD socket was detected and it " + "seems to be configured not to interfere with " + "SSSD's caching capabilities\n")); + } } /* Parse config file, fail if cannot be done */ |