From e31e840d5d6bf823b7129132c5582f86d3693f6c Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Mon, 20 Feb 2012 16:29:42 +0100 Subject: Detect if to use /run/systemd/journal/syslog under systemd Detect if we have to use the new /run/systemd/journal/syslog socket instead of the /dev/log under newer systemd versions. Signed-off-by: Marius Tomaschewski --- plugins/imuxsock/imuxsock.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/imuxsock/imuxsock.c b/plugins/imuxsock/imuxsock.c index feddb20c..767f9a90 100644 --- a/plugins/imuxsock/imuxsock.c +++ b/plugins/imuxsock/imuxsock.c @@ -67,6 +67,9 @@ MODULE_TYPE_NOKEEP #define _PATH_LOG "/dev/log" #endif #endif +#ifndef SYSTEMD_PATH_LOG +#define SYSTEMD_PATH_LOG "/run/systemd/journal/syslog" +#endif /* emulate struct ucred for platforms that do not have it */ #ifndef HAVE_SCM_CREDENTIALS @@ -775,6 +778,12 @@ CODESTARTwillRun # endif if(pLogSockName != NULL) listeners[0].sockName = pLogSockName; + else if(sd_booted()) { + struct stat st; + if(stat(SYSTEMD_PATH_LOG, &st) != -1 && S_ISSOCK(st.st_mode)) { + listeners[0].sockName = SYSTEMD_PATH_LOG; + } + } if(ratelimitIntervalSysSock > 0) { if((listeners[0].ht = create_hashtable(100, hash_from_key_fn, key_equals_fn, NULL)) == NULL) { /* in this case, we simply turn of rate-limiting */ -- cgit