From b6a68fedb2735cd5f894f04bed3f7e5f37c965b5 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@robotics.uk.to>
Date: Thu, 10 Nov 2016 10:14:28 +0000
Subject: [PATCH] Adding port ranges

---
 src/freedombone-utils-firewall | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/src/freedombone-utils-firewall b/src/freedombone-utils-firewall
index d9519d3ff..6313dc39f 100755
--- a/src/freedombone-utils-firewall
+++ b/src/freedombone-utils-firewall
@@ -239,6 +239,30 @@ function firewall_add {
     fi
 }
 
+function firewall_add_range {
+    firewall_name=$(echo "$1" | sed "s| |-|g")
+    firewall_port_start=$2
+    firewall_port_end=$3
+    firewall_protocol="$4"
+
+    if ! grep -q "${firewall_name}=${firewall_port_start}:${firewall_port_end}" $FIREWALL_CONFIG; then
+        echo "${firewall_name}=${firewall_port_start}:${firewall_port_end}" >> $FIREWALL_CONFIG
+        if [ ! ${firewall_protocol} ]; then
+            iptables -A INPUT -p udp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+            iptables -A INPUT -p tcp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+        else
+            if [[ "${firewall_protocol}" == *"udp"* ]]; then
+                iptables -A INPUT -p udp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+            fi
+            if [[ "${firewall_protocol}" == *"tcp"* ]]; then
+                iptables -A INPUT -p tcp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+            fi
+        fi
+        save_firewall_settings
+    fi
+}
+
+
 function firewall_remove {
     firewall_port=$1
     firewall_protocol="$2"
-- 
GitLab