From fb94388389255605095e6b32109b56bf78f1fa84 Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Wed, 31 Mar 2021 12:01:22 +0200 Subject: [PATCH] ids-functions.pl: Introduce get_used_rulesfiles() function. This function simply returns an array which contains the used rulesfiles files. Signed-off-by: Stefan Schantl --- config/cfgroot/ids-functions.pl | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl index ef4c74a578..519488d6a9 100644 --- a/config/cfgroot/ids-functions.pl +++ b/config/cfgroot/ids-functions.pl @@ -1476,6 +1476,48 @@ sub get_red_address() { return; } +# +## Function to get all used rulesfiles files. +# +sub get_used_rulesfiles() { + # Array to store the used rulefiles. + my @used_rulesfiles = (); + + # Check if the used rulesfile is empty. + unless (-z $used_rulesfiles_file) { + # Open the file or used rulefiles and read-in content. + open(FILE, $used_rulefiles_file) or die "Could not open $used_rulefiles_file. $!\n"; + + while () { + # Assign the current line to a nice variable. + my $line = $_; + + # Remove newlines. + chomp($line); + + # Skip comments. + next if ($line =~ /\#/); + + # Skip blank lines. + next if ($line =~ /^\s*$/); + + # Gather the rulefile. + if ($line =~ /.*- (.*)/) { + my $rulefile = $1; + + # Add the rulefile to the array of used rulesfiles. + push(@used_rulesfiles, $rulefile); + } + } + + # Close the file. + close(FILE); + } + + # Return the array of used rulesfiles. + return @used_rulesfiles; +} + # ## Function to write the lock file for locking the WUI, while ## the autoupdate script runs. -- 2.39.5