mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 03:33:25 +02:00
ids-functions.pl: Add get_providers_mode() function.
This function is used to gather the modes of the configured providers and return them as hash. Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This commit is contained in:
@@ -234,6 +234,42 @@ sub get_enabled_providers () {
|
|||||||
return @enabled_providers;
|
return @enabled_providers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
## Function to get a hash of provider handles and their configured modes (IDS/IPS).
|
||||||
|
#
|
||||||
|
sub get_providers_mode () {
|
||||||
|
my %used_providers = ();
|
||||||
|
|
||||||
|
# Hash to store the providers and their configured modes.
|
||||||
|
my %providers_mode = ();
|
||||||
|
|
||||||
|
# Read-in the providers config file.
|
||||||
|
&General::readhasharray("$providers_settings_file", \%used_providers);
|
||||||
|
|
||||||
|
# Loop through the hash of used_providers.
|
||||||
|
foreach my $id (keys %used_providers) {
|
||||||
|
# Skip disabled providers.
|
||||||
|
next unless ($used_providers{$id}[3] eq "enabled");
|
||||||
|
|
||||||
|
# Grab the provider handle.
|
||||||
|
my $provider = "$used_providers{$id}[0]";
|
||||||
|
|
||||||
|
# Grab the provider mode.
|
||||||
|
my $mode = "$used_providers{$id}[4]";
|
||||||
|
|
||||||
|
# Fall back to IDS if no mode could be obtained.
|
||||||
|
unless($mode) {
|
||||||
|
$mode = "IDS";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add details to provider_modes hash.
|
||||||
|
$providers_mode{$provider} = $mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Return the hash.
|
||||||
|
return %providers_mode;
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
## Function for checking if at least 300MB of free disk space are available
|
## Function for checking if at least 300MB of free disk space are available
|
||||||
## on the "/var" partition.
|
## on the "/var" partition.
|
||||||
|
|||||||
Reference in New Issue
Block a user