diff --git a/src/libimcv/imcv.c b/src/libimcv/imcv.c index 86164486b..30679a33d 100644 --- a/src/libimcv/imcv.c +++ b/src/libimcv/imcv.c @@ -20,7 +20,9 @@ #include #include +#ifdef HAVE_SYSLOG #include +#endif #define IMCV_DEBUG_LEVEL 1 #define IMCV_DEFAULT_POLICY_SCRIPT "ipsec _imv_policy" @@ -62,9 +64,6 @@ static bool imcv_stderr_quiet; */ static void imcv_dbg(debug_t group, level_t level, char *fmt, ...) { - int priority = LOG_INFO; - char buffer[8192]; - char *current = buffer, *next; va_list args; if (level <= imcv_debug_level) @@ -78,22 +77,30 @@ static void imcv_dbg(debug_t group, level_t level, char *fmt, ...) va_end(args); } - /* write in memory buffer first */ - va_start(args, fmt); - vsnprintf(buffer, sizeof(buffer), fmt, args); - va_end(args); - - /* do a syslog with every line */ - while (current) +#ifdef HAVE_SYSLOG { - next = strchr(current, '\n'); - if (next) + int priority = LOG_INFO; + char buffer[8192]; + char *current = buffer, *next; + + /* write in memory buffer first */ + va_start(args, fmt); + vsnprintf(buffer, sizeof(buffer), fmt, args); + va_end(args); + + /* do a syslog with every line */ + while (current) { - *(next++) = '\0'; + next = strchr(current, '\n'); + if (next) + { + *(next++) = '\0'; + } + syslog(priority, "[HSR] %s\n", current); + current = next; } - syslog(priority, "[HSR] %s\n", current); - current = next; } +#endif /* HAVE_SYSLOG */ } } @@ -127,7 +134,9 @@ bool libimcv_init(bool is_imv) /* activate the imcv debugging hook */ dbg = imcv_dbg; +#ifdef HAVE_SYSLOG openlog("imcv", 0, LOG_DAEMON); +#endif if (!lib->plugins->load(lib->plugins, lib->settings->get_str(lib->settings, "libimcv.load", @@ -197,4 +206,3 @@ void libimcv_deinit(void) library_deinit(); } } -