# Call function to load the networks list for this country,
# in case it is not loaded yet.
- unless($ipset_loaded_sets{$loc_src}) {
- # Print debug notice.
- print "Loading set $loc_src\n" if ($DEBUG);
-
- &Location::Functions::load_location($loc_src);
-
- # Mark the set as loaded.
- $ipset_loaded_sets{$loc_src} = "1";
- }
+ &load_set($loc_src);
push(@source_options, $source);
} elsif($source) {
# Call function to load the networks list for this country,
# if it is not loaded yet.
- unless($ipset_loaded_sets{$loc_dst}) {
- # Print debug notice.
- print "Loading set $loc_dst\n" if ($DEBUG);
-
- &Location::Functions::load_location($loc_dst);
-
- # Mark the set as loaded.
- $ipset_loaded_sets{$loc_dst} = "1";
- }
+ &load_set($loc_dst);
push(@destination_options, $destination);
} elsif ($destination) {
# is enabled.
foreach my $location (@locations) {
if(exists $locationsettings{$location} && $locationsettings{$location} eq "on") {
- # Call function to load the networks list for this country, if not
- # loaded yet.
- unless($ipset_loaded_sets{$location}) {
- # Print debug notice.
- print "Loading set $location\n" if ($DEBUG);
-
- &Location::Functions::load_location($location);
-
- # Mark the set as loaded.
- $ipset_loaded_sets{$location} = "1";
- }
+ # Call function to load the networks list for this country.
+ &load_set($location);
# Call iptables and create rule to use the loaded ipset list.
run("$IPTABLES -A LOCATIONBLOCK -m set --match-set $location src -j DROP");
return unless($RED_DEV);
# Call function to load the network list of hostile networks, if not loaded yet.
- unless ($ipset_loaded_sets{$HOSTILE_CCODE}) {
- # Print debug notice.
- print "Loading set $HOSTILE_CCODE\n" if ($DEBUG);
-
- &Location::Functions::load_location($HOSTILE_CCODE);
-
- # Mark the set as loaded.
- $ipset_loaded_sets{$HOSTILE_CCODE} = "1";
- }
+ &load_set($HOSTILE_CCODE);
# Check traffic in incoming/outgoing direction and drop if it matches
run("$IPTABLES -A HOSTILE -i $RED_DEV -m set --match-set $HOSTILE_CCODE src -j HOSTILE_DROP_IN");