diff --git a/src/freedombone-utils-firewall b/src/freedombone-utils-firewall index d9519d3ff1d3f3d7d88d4290acd0853ad6d03290..6313dc39f1856f634ccd7644a45ad7ea073f1fdf 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"