From: Russ Combs (rucombs) Date: Wed, 22 Feb 2017 19:49:02 +0000 (-0500) Subject: Merge pull request #822 in SNORT/snort3 from syslog to master X-Git-Tag: 3.0.0-233~62 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fd3399e7df4e06ab26d270f10a299d81f7cb24eb;p=thirdparty%2Fsnort3.git Merge pull request #822 in SNORT/snort3 from syslog to master Squashed commit of the following: commit 83bed16119252515438e02cf4a96a636e3fe4a3a Author: Carter Waxman Date: Fri Feb 17 17:04:10 2017 -0500 fixed output of bare LogLabel to divert to syslog if enabled --- diff --git a/src/log/messages.cc b/src/log/messages.cc index 485a6eb93..b33ce9455 100644 --- a/src/log/messages.cc +++ b/src/log/messages.cc @@ -136,6 +136,26 @@ NORETURN void ParseAbort(const char* format, ...) FatalError("%s\n", buf); } +static void WriteLogMessage(FILE* fh, bool prefer_fh, const char* format, va_list& ap) +{ + char buf[STD_BUF+1]; + + if ( snort_conf && !prefer_fh ) + { + if ( SnortConfig::log_quiet() ) + return; + + if ( SnortConfig::log_syslog() ) + { + vsnprintf(buf, STD_BUF, format, ap); + buf[STD_BUF] = '\0'; + syslog(LOG_DAEMON | LOG_NOTICE, "%s", buf); + return; + } + } + vfprintf(fh, format, ap); +} + /* * Function: LogMessage(const char *, ...) * @@ -148,46 +168,22 @@ NORETURN void ParseAbort(const char* format, ...) */ void LogMessage(const char* format,...) { - char buf[STD_BUF+1]; va_list ap; - - if ( !snort_conf ) - { - va_start(ap, format); - vfprintf(stdout, format, ap); - va_end(ap); - return; - } - if ( SnortConfig::log_quiet() ) - return; - va_start(ap, format); - if ( SnortConfig::log_syslog() ) - { - vsnprintf(buf, STD_BUF, format, ap); - buf[STD_BUF] = '\0'; - syslog(LOG_DAEMON | LOG_NOTICE, "%s", buf); - } - else - { - vfprintf(stdout, format, ap); - } + WriteLogMessage(stdout, false, format, ap); va_end(ap); } void LogMessage(FILE* fh, const char* format,...) { - if ( snort_conf && - ( !SnortConfig::log_quiet() || fh != stdout )) - { - va_list ap; + va_list ap; + va_start(ap, format); - va_start(ap, format); - vfprintf(fh, format, ap); - va_end(ap); - } + WriteLogMessage(fh, fh != stdout, format, ap); + + va_end(ap); } /*