From b59cdbeea5eb2a83ac5c0be51541c471bd1cd809 Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Fri, 12 Oct 2018 15:12:10 +0200 Subject: [PATCH] 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 --- config/cfgroot/ids-functions.pl | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl index e7cd5b2b3..73a1add5c 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;