From 519a0f9c60519fb77b646a5d7a2c8da7a8dc25fc Mon Sep 17 00:00:00 2001 From: Tristan PILAT Date: Wed, 18 Nov 2020 17:49:35 +0100 Subject: [PATCH] Add a function to tell whether an IP is a v4 or v6 one --- minifirewall-start.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/minifirewall-start.sh b/minifirewall-start.sh index 5616d68..21f4290 100755 --- a/minifirewall-start.sh +++ b/minifirewall-start.sh @@ -64,6 +64,26 @@ for i in /proc/sys/net/ipv4/conf/*/log_martians; do echo 1 > $i done +############ +## FUNCTIONS +############ + +# Determine IP type +ip_type() { + v4_ips="" + v6_ips="" + for ip in $(echo $1 | sed 's/ /, /g'); do + if [ "$ip" != "${ip#*[0-9].[0-9]}" ]; then + v4_ips="$v4_ips$ip " + elif [ "$ip" != "${ip#*:[0-9a-fA-F]}" ]; then + v6_ips="$v6_ips$ip " + else + echo "Unrecognized IP format '$ip'" + exit 1 + fi + done +} + ######################### ## NFTables configuration #########################