ipblocklist: Add "v4" as extension to the ipset set names.

This easily allows us to swap the sets after updating, without
unloading them.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This commit is contained in:
Stefan Schantl
2022-04-25 20:57:04 +02:00
parent 9759d96e1b
commit 404b513794
3 changed files with 24 additions and 0 deletions

View File

@@ -1060,11 +1060,23 @@ sub ipset_restore ($) {
# Check if the given set name is a blocklist.
} elsif ($set ~~ @blocklists) {
# IPblocklist sets contains v4 as setname extension.
my $set_name = "$set" . "v4";
# Get the database file for the given blocklist.
my $db_file = &IPblocklist::get_ipset_db_file($set);
# Call function to restore/load the set.
&ipset_call_restore($db_file);
# Check if the set is already loaded (has been used before).
if ($set ~~ @ipset_used_sets) {
# Swap the sets.
run("$IPSET swap $set_name $set");
} else {
# Rename the set to proper use it.
run("$IPSET rename $set_name $set");
}
}
# Store the restored set to the hash to prevent from loading it again.