From: Stefan Schantl Date: Sun, 4 Apr 2021 08:15:27 +0000 (+0200) Subject: IDS: Move read_enabled_disabled_sids_file() function to ids-functions.pl. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=69b3156f7467fd941e904c5f7316a83bc11636ae;p=people%2Fmfischer%2Fipfire-2.x.git IDS: Move read_enabled_disabled_sids_file() function to ids-functions.pl. Signed-off-by: Stefan Schantl --- diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl index c231e0d444..e305be15f7 100644 --- a/config/cfgroot/ids-functions.pl +++ b/config/cfgroot/ids-functions.pl @@ -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() { + # 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. # diff --git a/html/cgi-bin/ids.cgi b/html/cgi-bin/ids.cgi index 47e9ac778d..8ee16930a3 100644 --- a/html/cgi-bin/ids.cgi +++ b/html/cgi-bin/ids.cgi @@ -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() { - # 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. #