Add convert-to-location converter.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This commit is contained in:
Stefan Schantl
2020-06-15 18:03:11 +02:00
parent d3f7af8144
commit f1d982cce6
3 changed files with 54 additions and 0 deletions

View File

@@ -139,6 +139,9 @@ restore_backup() {
rm -rf "/var/ipfire/portfw"
fi
# Convert location
convert-to-location
# Reload firewall
firewallctrl

View File

@@ -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

50
src/scripts/convert-to-location Executable file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2020 IPFire Development Team <info@ipfire.org> #
# #
# 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 <http://www.gnu.org/licenses/>. #
# #
###############################################################################
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