ids-functions.pl: Extract rules files if they are in a providers rules folder.
Commit Message
Now the rules files in a subfolder like "<provider>-rules" also will get
extracted.
Fixes rule file extraction for Snort Community ruleset.
Fixes #12948.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
config/cfgroot/ids-functions.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>
On 07/03/2023 13:38, Stefan Schantl wrote:
> Now the rules files in a subfolder like "<provider>-rules" also will get
> extracted.
>
> Fixes rule file extraction for Snort Community ruleset.
>
> Fixes #12948.
>
> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
> ---
> config/cfgroot/ids-functions.pl | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/config/cfgroot/ids-functions.pl
> b/config/cfgroot/ids-functions.pl
> index ec4fdacc5..d97431b4a 100644
> --- a/config/cfgroot/ids-functions.pl
> +++ b/config/cfgroot/ids-functions.pl
> @@ -572,7 +572,7 @@ sub extractruleset ($) {
> # Handle rules files.
> } elsif ($file =~ m/\.rules$/) {
> # Skip rule files which are not located in the rules directory or
> archive root.
> - next unless(($packed_file =~ /^rules\//) || ($packed_file !~ /\//));
> + next unless(($packed_file =~ /^rules\//) || ($packed_file =~
> /^$provider-rules\//) || ($packed_file !~ /\//));
> # Skip deleted.rules.
> #
@@ -572,7 +572,7 @@ sub extractruleset ($) {
# Handle rules files.
} elsif ($file =~ m/\.rules$/) {
# Skip rule files which are not located in the rules directory or archive root.
- next unless(($packed_file =~ /^rules\//) || ($packed_file !~ /\//));
+ next unless(($packed_file =~ /^rules\//) || ($packed_file =~ /^$provider-rules\//) || ($packed_file !~ /\//));
# Skip deleted.rules.
#