summaryrefslogtreecommitdiffstats
path: root/net/banip/files/95-banip-housekeeping
blob: 3dca2c82ff1018c05024398b195b1bbb2ace1c81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh
# Copyright (c) 2015-2026 Dirk Brenken (dev@brenken.org)
# This is free software, licensed under the GNU General Public License v3.

# (s)hellcheck exceptions
# shellcheck disable=all

export LC_ALL=C
export PATH="/usr/sbin:/usr/bin:/sbin:/bin"

config="banip"
old_options="ban_loginput ban_logforwardwan ban_logforwardlan ban_blockinput ban_blockforwardwan ban_blockforwardlan ban_blocktype ban_blockpolicy"

for option in ${old_options}; do
	old_values="$(uci -q get "${config}.global.${option}" 2>/dev/null)"
	for value in ${old_values}; do
		case "${option}" in
		"ban_loginput" | "ban_logforwardwan")
			uci -q set "${config}".global.ban_loginbound="${value}"
			;;
		"ban_logforwardlan")
			uci -q set "${config}".global.ban_logoutbound="${value}"
			;;
		"ban_blockpolicy")
			if printf '%s' "${old_values}" | grep -qw "input\|forwardwan\|forwardlan"; then
				break
			else
				continue 2
			fi
			;;
		esac
	done
	uci -q delete "${config}.global.${option}"
done
[ -n "$(uci -q changes "${config}")" ] && uci -q commit "${config}"

custom_feed="/etc/banip/banip.custom.feeds"
if grep -q '"rule_4"' "${custom_feed}"; then
	mv -f "${custom_feed}" "${custom_feed}.backup.$(date "+%Y%m%d%H%M%S")"
	: >"${custom_feed}"
fi
exit 0