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);