From f1d982cce6d6a8987fb210cc8a34fa4b6214b3a7 Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Mon, 15 Jun 2020 18:03:11 +0200 Subject: [PATCH] Add convert-to-location converter. Signed-off-by: Stefan Schantl --- config/backup/backup.pl | 3 ++ config/rootfiles/common/stage2 | 1 + src/scripts/convert-to-location | 50 +++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100755 src/scripts/convert-to-location diff --git a/config/backup/backup.pl b/config/backup/backup.pl index 5b57340446..d2e5312526 100644 --- a/config/backup/backup.pl +++ b/config/backup/backup.pl @@ -139,6 +139,9 @@ restore_backup() { rm -rf "/var/ipfire/portfw" fi + # Convert location + convert-to-location + # Reload firewall firewallctrl diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2 index a5967060be..2c4f715dd5 100644 --- a/config/rootfiles/common/stage2 +++ b/config/rootfiles/common/stage2 @@ -93,6 +93,7 @@ usr/local/bin/connscheduler usr/local/bin/consort.sh usr/local/bin/convert-dns-settings usr/local/bin/convert-ovpn +usr/local/bin/convert-to-location usr/local/bin/filesystem-cleanup usr/local/bin/hddshutdown usr/local/bin/ipsec-interfaces diff --git a/src/scripts/convert-to-location b/src/scripts/convert-to-location new file mode 100755 index 0000000000..2d830078a5 --- /dev/null +++ b/src/scripts/convert-to-location @@ -0,0 +1,50 @@ +#!/bin/bash + +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2020 IPFire Development Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +CONF_DIR="/var/ipfire" +FW_CONF_DIR="$CONF_DIR/firewall" +HOSTS_CONF_DIR="$CONF_DIR/fwhosts" + +# Check if the old blocking configuration file exists. +if [ -f "$FW_CONF_DIR/geoipblock" ]; then + # Convert variable, if blocking is enabled or not. + sed -i 's/GEOIPBLOCK/LOCATIONBLOCK/g' "$FW_CONF_DIR/geoipblock" + + # Rename file to the new name. + mv "$FW_CONF_DIR/geoipblock" "$FW_CONF_DIR/locationblock" + + # Loop through the firewall config directory. + for file in "$FW_CONF_DIR/config" "$FW_CONF_DIR/input" "$FW_CONF_DIR/outgoing"; do + # Convert pattern which indicates location based rules to the new + # ones. + sed -i 's/cust_geoip/cust_location/g' "$FW_CONF_DIR/$file" + done + + # Rename indicator for location based groups to the new one. + sed -i 's/GeoIP Group/Location Group/g' "$HOSTS_CONF_DIR/customgeoipgrp" + + # Rename file to the new name. + mv "$HOSTS_CONF_DIR/customgeoipgrp" "$HOSTS_CONF_DIR/customlocationgrp" +fi + +# Finished. +exit 0 -- 2.39.5