]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #822 in SNORT/snort3 from syslog to master
authorRuss Combs (rucombs) <rucombs@cisco.com>
Wed, 22 Feb 2017 19:49:02 +0000 (14:49 -0500)
committerRuss Combs (rucombs) <rucombs@cisco.com>
Wed, 22 Feb 2017 19:49:02 +0000 (14:49 -0500)
Squashed commit of the following:

commit 83bed16119252515438e02cf4a96a636e3fe4a3a
Author: Carter Waxman <cwaxman@cisco.com>
Date:   Fri Feb 17 17:04:10 2017 -0500

    fixed output of bare LogLabel to divert to syslog if enabled

src/log/messages.cc

index 485a6eb931bb2f69620078f8837ad3f36b1b47d4..b33ce9455ab9a2d16c0f32d068014e283d73fb09 100644 (file)
@@ -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);
 }
 
 /*