From: Stefan Schantl Date: Sun, 19 Oct 2014 17:58:45 +0000 (+0200) Subject: guardian.cgi: Add option to configure the BlockCount. X-Git-Tag: v2.19-core104~8^2~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a35a066845d17c5cc1ebc03bb9f01e844ea20689;p=ipfire-2.x.git guardian.cgi: Add option to configure the BlockCount. Some small code fixes. Signed-off-by: Stefan Schantl --- diff --git a/html/cgi-bin/guardian.cgi b/html/cgi-bin/guardian.cgi index 89059dd780..9337e82cb9 100644 --- a/html/cgi-bin/guardian.cgi +++ b/html/cgi-bin/guardian.cgi @@ -39,7 +39,6 @@ my $memory=(); my @memory=(); my @pid=(); my @guardian=(); -my %cgiparams=(); # Path to the guardian.ignore file. my $ignorefile ='/var/ipfire/guardian/guardian.ignore'; @@ -58,7 +57,8 @@ $settings{'GUARDIAN_ENABLED'} = 'off'; $settings{'GUARDIAN_ENABLE_SNORT'} = 'on'; $settings{'GUARDIAN_ENABLE_SSH'} = 'on'; $settings{'GUARDIAN_ENABLE_HTTPD'} = 'on'; -$settings{'GUARDIAN_LOGLEVEL'} ='info'; +$settings{'GUARDIAN_LOGLEVEL'} = 'info'; +$settings{'GUARDIAN_BLOCKCOUNT'} = '3'; $settings{'GUARDIAN_BLOCKTIME'} = '86400'; $settings{'GUARDIAN_LOGFILE'} = '/var/log/guardian/guardian.log'; $settings{'GUARDIAN_SNORT_ALERTFILE'} = '/var/log/snort/alert'; @@ -71,32 +71,29 @@ my $errormessage = ''; # Get GUI values. &Header::getcgihash(\%settings); -&Header::getcgihash(\%cgiparams); ## Perform input checks and save settings. # if ($settings{'ACTION'} eq $Lang::tr{'save'}) { - # Check for valid blocktime. - if ($settings{'GUARDIAN_BLOCKTIME'} ne '') { - if (($settings{'GUARDIAN_BLOCKTIME'} !~ /^[0-9]+$/) || ($settings{'GUARDIAN_BLOCKTIME'} le '0')) { + if (! $settings{'GUARDIAN_BLOCKTIME'} =~ /^\d+$/) { $errormessage = "$Lang::tr{'guardian invalid blocktime'}"; - } + } + + # Check if the bloccount is valid. + if (! $settings{'GUARDIAN_BLOCKCOUNT'} =~ /^\d+$/) { + $errormessage = "$Lang::tr{'guardian invalid blockcount'}"; } # Check Logfile. - if ($settings{'GUARDIAN_LOGFILE'} ne '') { - if ($settings{'GUARDIAN_LOGFILE'} !~ /^[a-zA-Z0-9\.\/]+$/) { - $errormessage = "$Lang::tr{'guardian invalid logfile'}"; - } + if (! $settings{'GUARDIAN_LOGFILE'} =~ /^[a-zA-Z0-9\.\/]+$/) { + $errormessage = "$Lang::tr{'guardian invalid logfile'}"; } # Check input for snort alert file. - if ($settings{'GUARDIAN_SNORT_ALERTFILE'} ne '') { - if ($settings{'GUARDIAN_SNORT_ALERTFILE'} !~ /^[a-zA-Z0-9\.\/]+$/) { - $errormessage = "$Lang::tr{'guardian invalid alertfile'}"; - } - } + if (! $settings{'GUARDIAN_SNORT_ALERTFILE'} =~ /^[a-zA-Z0-9\.\/]+$/) { + $errormessage = "$Lang::tr{'guardian invalid alertfile'}"; + } # Only continue if no error message has been set. if ($errormessage eq '') { @@ -152,7 +149,7 @@ if ($settings{'ACTION'} eq $Lang::tr{'save'}) { # So this line is missing in the new file and the entry has been deleted. foreach my $line (@current) { $id++; - unless ($cgiparams{'ID'} eq $id) { + unless ($settings{'ID'} eq $id) { print FILE "$line"; } } @@ -341,14 +338,20 @@ END
- $Lang::tr{'guardian loglevel'} + $Lang::tr{'guardian loglevel'}: - + +
+ + + $Lang::tr{'guardian blockcount'}: + + $Lang::tr{'guardian blocktime'}: @@ -416,7 +419,7 @@ END $ignored_element -
+ @@ -608,6 +611,7 @@ sub BuildConfiguration() { print FILE "EnableSSHMonitoring $settings{'GUARDIAN_ENABLE_SSH'}\n"; print FILE "EnableHTTPDMonitoring $settings{'GUARDIAN_ENABLE_HTTPD'}\n"; print FILE "LogLevel $settings{'GUARDIAN_LOGLEVEL'}\n"; + print FILE "BlockCount $settings{'GUARDIAN_BLOCKCOUNT'}\n"; print FILE "HostGatewayByte $HostGatewayByte\n"; print FILE "LogFile $settings{'GUARDIAN_LOGFILE'}\n"; print FILE "AlertFile $settings{'GUARDIAN_SNORT_ALERTFILE'}\n";