From: Stefan Schantl Date: Wed, 14 Feb 2018 13:01:50 +0000 (+0100) Subject: ids-functions.pl: Also log errors to syslog X-Git-Tag: suricata-beta3~33^2~39^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eb5592c1ce15d579072689a7121ffbd87b3f22be;p=people%2Fstevee%2Fipfire-2.x.git ids-functions.pl: Also log errors to syslog Signed-off-by: Stefan Schantl --- diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl index 6d3cf72993..d88a5b4ca6 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. #