From eb5592c1ce15d579072689a7121ffbd87b3f22be Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Wed, 14 Feb 2018 14:01:50 +0100 Subject: [PATCH] ids-functions.pl: Also log errors to syslog Signed-off-by: Stefan Schantl --- config/cfgroot/ids-functions.pl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl index 6d3cf7299..d88a5b4ca 100644 --- a/config/cfgroot/ids-functions.pl +++ b/config/cfgroot/ids-functions.pl @@ -189,10 +189,36 @@ sub log_error ($) { # Remove any newline. chomp($error); + # Call private function to log the error message to syslog. + &_log_to_syslog($error); + # Call private function to write/store the error message in the storederrorfile. &_store_error_message($error); } +# +## Function to log a given error message to the kernel syslog. +# +sub _log_to_syslog ($) { + my ($message) = @_; + + # Load perl module to talk to the kernel syslog. + use Sys::Syslog qw(:DEFAULT setlogsock); + + # The syslog function works best with an array based input, + # so generate one before passing the message details to syslog. + my @syslog = ("ERR", " $message"); + + # Establish the connection to the syslog service. + openlog('oinkmaster', 'cons,pid', 'user'); + + # Send the log message. + syslog(@syslog); + + # Close the log handle. + closelog(); +} + # ## Private function to write a given error message to the storederror file. #