IDS: Move read_enabled_disabled_sids_file() function to ids-functions.pl.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This commit is contained in:
Stefan Schantl
2021-04-04 10:15:27 +02:00
parent b35e27a28a
commit 69b3156f74
2 changed files with 52 additions and 52 deletions

View File

@@ -955,6 +955,57 @@ sub alter_oinkmaster_provider_includes_file ($$) {
close(FILE);
}
#
## Function to read-in the given enabled or disables sids file.
#
sub read_enabled_disabled_sids_file($) {
my ($file) = @_;
# Temporary hash to store the sids and their state. It will be
# returned at the end of this function.
my %temphash;
# Open the given filename.
open(FILE, "$file") or die "Could not open $file. $!\n";
# Loop through the file.
while(<FILE>) {
# Remove newlines.
chomp $_;
# Skip blank lines.
next if ($_ =~ /^\s*$/);
# Skip coments.
next if ($_ =~ /^\#/);
# Splitt line into sid and state part.
my ($state, $sid) = split(" ", $_);
# Skip line if the sid is not numeric.
next unless ($sid =~ /\d+/ );
# Check if the sid was enabled.
if ($state eq "enablesid") {
# Add the sid and its state as enabled to the temporary hash.
$temphash{$sid} = "enabled";
# Check if the sid was disabled.
} elsif ($state eq "disablesid") {
# Add the sid and its state as disabled to the temporary hash.
$temphash{$sid} = "disabled";
# Invalid state - skip the current sid and state.
} else {
next;
}
}
# Close filehandle.
close(FILE);
# Return the hash.
return %temphash;
}
#
## Function to check if the IDS is running.
#

View File

@@ -358,7 +358,7 @@ if ($cgiparams{'RULESET'} eq $Lang::tr{'ids apply'}) {
# Check if a modified sids file for this provider exists.
if (-f $providers_modified_sids_file) {
# Read-in the file for enabled/disabled sids.
%enabled_disabled_sids = &read_enabled_disabled_sids_file($providers_modified_sids_file);
%enabled_disabled_sids = &IDS::read_enabled_disabled_sids_file($providers_modified_sids_file);
}
# Loop through the hash of idsrules.
@@ -1990,57 +1990,6 @@ sub get_memory_usage($) {
return;
}
#
## Function to read-in the given enabled or disables sids file.
#
sub read_enabled_disabled_sids_file($) {
my ($file) = @_;
# Temporary hash to store the sids and their state. It will be
# returned at the end of this function.
my %temphash;
# Open the given filename.
open(FILE, "$file") or die "Could not open $file. $!\n";
# Loop through the file.
while(<FILE>) {
# Remove newlines.
chomp $_;
# Skip blank lines.
next if ($_ =~ /^\s*$/);
# Skip coments.
next if ($_ =~ /^\#/);
# Splitt line into sid and state part.
my ($state, $sid) = split(" ", $_);
# Skip line if the sid is not numeric.
next unless ($sid =~ /\d+/ );
# Check if the sid was enabled.
if ($state eq "enablesid") {
# Add the sid and its state as enabled to the temporary hash.
$temphash{$sid} = "enabled";
# Check if the sid was disabled.
} elsif ($state eq "disablesid") {
# Add the sid and its state as disabled to the temporary hash.
$temphash{$sid} = "disabled";
# Invalid state - skip the current sid and state.
} else {
next;
}
}
# Close filehandle.
close(FILE);
# Return the hash.
return %temphash;
}
#
## Function to get the provider name from the language file or providers file for a given handle.
#