urlfilter: Remove bundled Toulouse blacklist
Commit Message
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
@@ -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 / \
@@ -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
@@ -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
deleted file mode 100644
Binary files a/config/urlfilter/blacklists.tar.gz and /dev/null differ
@@ -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