This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, master has been updated via c55f5c8eaaa5b91a63765b1ac5fec4da8ce028fb (commit) from 26926c4d12793331cdf51d54a44ea3dfe4780dbf (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit c55f5c8eaaa5b91a63765b1ac5fec4da8ce028fb Author: Stefan Schantl stefan.schantl@ipfire.org Date: Wed Mar 23 18:08:52 2022 +0100
rules.pl: Fix creating rules for location based groups.
The former used hash value only contains the country code when a rule for a single country should be created.
In case a location group is used the hash value refers to the group name, which does not work here.
The required country code is part of the processed string and can be omitted from here. This works well for single codes and location groups, because those are processed in a loop.
Fixes #12809.
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org Acked-by: Peter Müller peter.mueller@ipfire.org Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: config/firewall/rules.pl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
Difference in files: diff --git a/config/firewall/rules.pl b/config/firewall/rules.pl index d71304986..19dc7a6d1 100644 --- a/config/firewall/rules.pl +++ b/config/firewall/rules.pl @@ -411,8 +411,9 @@ sub buildrules { if ($source =~ /mac/) { push(@source_options, $source); } elsif ($source =~ /-m set/) { - # Grab location code from hash. - my $loc_src = $$hash{$key}[4]; + # Split given arguments into single chunks to + # obtain the set name. + my ($a, $b, $c, $loc_src, $e) = split(/ /, $source);
# Call function to load the networks list for this country. &ipset_restore($loc_src); @@ -425,8 +426,9 @@ sub buildrules { # Prepare destination options. my @destination_options = (); if ($destination =~ /-m set/) { - # Grab location code from hash. - my $loc_dst = $$hash{$key}[6]; + # Split given arguments into single chunks to + # obtain the set name. + my ($a, $b, $c, $loc_dst, $e) = split(/ /, $destination);
# Call function to load the networks list for this country. &ipset_restore($loc_dst);
hooks/post-receive -- IPFire 2.x development tree