From: Stefan Schantl Date: Fri, 12 Oct 2018 13:12:10 +0000 (+0200) Subject: ids-functions.pl: Add private function to cleanup the rules directory. X-Git-Tag: v2.23-core131~117^2~135 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b59cdbeea5eb2a83ac5c0be51541c471bd1cd809;p=ipfire-2.x.git ids-functions.pl: Add private function to cleanup the rules directory. This private function is used to remove any files which are stored in the IDS rules directory and prevent from any old (unneeded or conflicting) files after an update or complete change of the ruleset source. Signed-off-by: Stefan Schantl --- diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl index e7cd5b2b36..73a1add5c6 100644 --- a/config/cfgroot/ids-functions.pl +++ b/config/cfgroot/ids-functions.pl @@ -443,4 +443,23 @@ sub _check_rulesdir_permissions() { } } +# +## Private function to cleanup the directory which contains +## the IDS rules, before extracting and modifing the new ruleset. +# +sub _cleanup_rulesdir() { + # Loop through the rules-directory. + while ($item = glob($rulespath/*)) { + # Skip element if it is a directory. + next if -d $item; + + # Delete the current processed item, if not, exit this function + # and return an error message. + unlink($item) or return "Could not delete $item. $!\n"; + } + + # Return noting; + return; +} + 1;