From: Stefan Schantl Date: Mon, 7 Mar 2022 18:54:44 +0000 (+0100) Subject: update-ipblocklist: Add code to reload updated blocklists. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ac8e283eb4e194f0fcf255f22663992e6326b428;p=people%2Fstevee%2Fipfire-2.x.git update-ipblocklist: Add code to reload updated blocklists. Signed-off-by: Stefan Schantl --- diff --git a/src/scripts/update-ipblocklists b/src/scripts/update-ipblocklists index 16ed3da383..96731d4499 100644 --- a/src/scripts/update-ipblocklists +++ b/src/scripts/update-ipblocklists @@ -69,6 +69,10 @@ unless (-e "${General::swroot}/red/active") { # Get all available blocklists. my @blocklists = &IPblocklist::get_blocklists(); +# Array to store successfully update blocklists. +# They need to be reloaded. +my @updated_blocklists = (); + # Gather the details, when a list got modified last time. my %modified = (); @@ -120,6 +124,21 @@ foreach my $blocklist (@blocklists) { } else { # Log successfull update. &_log_to_syslog(" Successfully updated $blocklist blocklist."); + + # Add the list to the array of updated blocklists. + push(@updated_blocklists, $blocklist); + } +} + +# Check if a blocklist has been updated and therefore needs to be reloaded. +if (@updated_blocklists) { + # Loop through the array. + foreach my $updated_blocklist (@updated_blocklists) { + # Get the blocklist file. + my $ipset_db_file = &IPblocklist::get_ipset_db_file($updated_blocklist); + + # Call safe system function to reload/update the blocklist. + &General::system("ipset", "restore", "-f", "$ipset_db_file"); } }