urlfilter: Remove bundled Toulouse blacklist

Message ID 20260827091639.4064898-1-p27m@orange.fr
State New
Headers
Series urlfilter: Remove bundled Toulouse blacklist |

Commit Message

Philippe SCARSELLI 27 Aug 2026, 9:16 a.m. UTC
Related to bug 13969 - CU201: restore URLFilter with the Toulouse list.
To avoid future changes to the list—as happened during CU201—

here is a proposed fix

Remove the bundled Toulouse blacklist archive and create an empty
blacklists directory instead.

During upgrades, detect installations that still contain the bundled
blacklist and remove it while preserving the custom blacklist. Updated
blacklists are preserved.

When restoring a backup, remove previous blacklist entries while keeping
the custom blacklist to prevent clashes between files and symlinks.

Tested upgrades from CU204 with the bundled, Toulouse, and IPFire DBL
blacklists, backup restoration from CU203, and a fresh CU205
installation.

Note: The patch was generated using "git format-patch --no-binary" to avoid including the 329 KB binary blacklist archive in the email.
The patch shows the deletion of config/urlfilter/blacklists.tar.gz, but does not contain the binary data itself.
Therefore, the file must be deleted separately when applying the patch.

Signed-off-by: Philippe SCARSELLI <p27m@orange.fr>
---
 config/backup/backup.pl             |   5 ++-
 config/rootfiles/common/squidguard  |  55 ----------------------------
 config/rootfiles/core/205/update.sh |  11 ++++++
 config/urlfilter/blacklists.tar.gz  | Bin 329408 -> 0 bytes
 lfs/squidguard                      |   2 +-
 5 files changed, 16 insertions(+), 57 deletions(-)
 delete mode 100644 config/urlfilter/blacklists.tar.gz
  

Patch

diff --git a/config/backup/backup.pl b/config/backup/backup.pl
index f948c4d21..ec15b2910 100644
--- a/config/backup/backup.pl
+++ b/config/backup/backup.pl
@@ -85,7 +85,10 @@  restore_backup() {
 
 	# remove all previous blacklist entries from urlfilter
 	# to prevent any clashes between symlinks and files
-	rm -Rf /var/ipfire/urlfilter/blacklists/*
+	find /var/ipfire/urlfilter/blacklists -mindepth 1 \
+		! -path '/var/ipfire/urlfilter/blacklists/custom' \
+		! -path '/var/ipfire/urlfilter/blacklists/custom/*' \
+		-exec rm -rf {} +
 
 	# Extract backup
 	if ! tar xvzpf "${filename}" -C / \
diff --git a/config/rootfiles/common/squidguard b/config/rootfiles/common/squidguard
index 389f03787..8c895062c 100644
--- a/config/rootfiles/common/squidguard
+++ b/config/rootfiles/common/squidguard
@@ -11,21 +11,6 @@  var/ipfire/urlfilter/bin/autoupdate.pl
 var/ipfire/urlfilter/bin/prebuild.pl
 var/ipfire/urlfilter/blacklists
 #var/ipfire/urlfilter/blacklists/README
-#var/ipfire/urlfilter/blacklists/ads
-#var/ipfire/urlfilter/blacklists/ads/domains
-#var/ipfire/urlfilter/blacklists/ads/domains.db
-#var/ipfire/urlfilter/blacklists/ads/urls
-#var/ipfire/urlfilter/blacklists/ads/urls.db
-#var/ipfire/urlfilter/blacklists/aggressive
-#var/ipfire/urlfilter/blacklists/aggressive/domains
-#var/ipfire/urlfilter/blacklists/aggressive/domains.db
-#var/ipfire/urlfilter/blacklists/aggressive/urls
-#var/ipfire/urlfilter/blacklists/aggressive/urls.db
-#var/ipfire/urlfilter/blacklists/audio-video
-#var/ipfire/urlfilter/blacklists/audio-video/domains
-#var/ipfire/urlfilter/blacklists/audio-video/domains.db
-#var/ipfire/urlfilter/blacklists/audio-video/urls
-#var/ipfire/urlfilter/blacklists/audio-video/urls.db
 #var/ipfire/urlfilter/blacklists/custom
 #var/ipfire/urlfilter/blacklists/custom/allowed
 #var/ipfire/urlfilter/blacklists/custom/allowed/domains
@@ -33,46 +18,6 @@  var/ipfire/urlfilter/blacklists
 #var/ipfire/urlfilter/blacklists/custom/blocked
 #var/ipfire/urlfilter/blacklists/custom/blocked/domains
 #var/ipfire/urlfilter/blacklists/custom/blocked/urls
-#var/ipfire/urlfilter/blacklists/drugs
-#var/ipfire/urlfilter/blacklists/drugs/domains
-#var/ipfire/urlfilter/blacklists/drugs/domains.db
-#var/ipfire/urlfilter/blacklists/drugs/urls
-#var/ipfire/urlfilter/blacklists/drugs/urls.db
-#var/ipfire/urlfilter/blacklists/gambling
-#var/ipfire/urlfilter/blacklists/gambling/domains
-#var/ipfire/urlfilter/blacklists/gambling/domains.db
-#var/ipfire/urlfilter/blacklists/gambling/urls
-#var/ipfire/urlfilter/blacklists/gambling/urls.db
-#var/ipfire/urlfilter/blacklists/hacking
-#var/ipfire/urlfilter/blacklists/hacking/domains
-#var/ipfire/urlfilter/blacklists/hacking/domains.db
-#var/ipfire/urlfilter/blacklists/hacking/urls
-#var/ipfire/urlfilter/blacklists/hacking/urls.db
-#var/ipfire/urlfilter/blacklists/mail
-#var/ipfire/urlfilter/blacklists/mail/domains
-#var/ipfire/urlfilter/blacklists/mail/domains.db
-#var/ipfire/urlfilter/blacklists/porn
-#var/ipfire/urlfilter/blacklists/porn/domains
-#var/ipfire/urlfilter/blacklists/porn/domains.db
-#var/ipfire/urlfilter/blacklists/porn/expressions
-#var/ipfire/urlfilter/blacklists/porn/urls
-#var/ipfire/urlfilter/blacklists/porn/urls.db
-#var/ipfire/urlfilter/blacklists/proxy
-#var/ipfire/urlfilter/blacklists/proxy/domains
-#var/ipfire/urlfilter/blacklists/proxy/domains.db
-#var/ipfire/urlfilter/blacklists/proxy/urls
-#var/ipfire/urlfilter/blacklists/proxy/urls.db
-#var/ipfire/urlfilter/blacklists/violence
-#var/ipfire/urlfilter/blacklists/violence/domains
-#var/ipfire/urlfilter/blacklists/violence/domains.db
-#var/ipfire/urlfilter/blacklists/violence/expressions
-#var/ipfire/urlfilter/blacklists/violence/urls
-#var/ipfire/urlfilter/blacklists/violence/urls.db
-#var/ipfire/urlfilter/blacklists/warez
-#var/ipfire/urlfilter/blacklists/warez/domains
-#var/ipfire/urlfilter/blacklists/warez/domains.db
-#var/ipfire/urlfilter/blacklists/warez/urls
-#var/ipfire/urlfilter/blacklists/warez/urls.db
 var/ipfire/urlfilter/settings
 var/ipfire/urlfilter/squidGuard.conf
 var/ipfire/urlfilter/version
diff --git a/config/rootfiles/core/205/update.sh b/config/rootfiles/core/205/update.sh
index 1c4acfbb0..a61f2ff7f 100644
--- a/config/rootfiles/core/205/update.sh
+++ b/config/rootfiles/core/205/update.sh
@@ -37,6 +37,17 @@  done
 rm -rfv \
 	/usr/local/bin/unboundctrl
 
+# remove old installed blacklist entries from urlfilter
+# The blacklist is no longer installed
+if [ ! -e "/var/ipfire/urlfilter/blacklists/.autoupdate.last" ] &&
+	[ -f "/var/ipfire/urlfilter/blacklists/README" ] &&
+	grep -q "(squidGuardRobot)" "/var/ipfire/urlfilter/blacklists/README"; then
+	find /var/ipfire/urlfilter/blacklists -mindepth 1 \
+		! -path "/var/ipfire/urlfilter/blacklists/custom" \
+		! -path "/var/ipfire/urlfilter/blacklists/custom/*" \
+		-exec rm -rf {} +
+fi
+
 # Extract files
 extract_files
 
diff --git a/config/urlfilter/blacklists.tar.gz b/config/urlfilter/blacklists.tar.gz
deleted file mode 100644
index dc21990be..000000000
Binary files a/config/urlfilter/blacklists.tar.gz and /dev/null differ
diff --git a/lfs/squidguard b/lfs/squidguard
index 8ad95c472..63eb39125 100644
--- a/lfs/squidguard
+++ b/lfs/squidguard
@@ -112,7 +112,7 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	cp -f  $(DIR_CONF)/urlfilter/redirect_wrapper /usr/sbin
 	chmod 755 /usr/sbin/redirect_wrapper
 
-	/bin/tar --no-same-owner -xzf $(DIR_CONF)/urlfilter/blacklists.tar.gz -C /var/ipfire/urlfilter
+	-mkdir -p /var/ipfire/urlfilter/blacklists
 	/usr/bin/perl $(DIR_CONF)/urlfilter/makeconf.pl
 	touch /var/ipfire/urlfilter/settings
 	chown -R nobody:nobody /var/ipfire/urlfilter