From dd83d4d139b52ef4c1bbf78565272533aa00b2bf Mon Sep 17 00:00:00 2001 From: Reidar Cederqvist Date: Mon, 10 Apr 2017 14:54:21 +0200 Subject: [PATCH] inteno-netmodes: changed hotplug-script to disable firewall if connected to private ip --- .../iface/01-netmode-firewall-handler | 34 ++++++++++++++++ .../iface/01-repeater-mode-firewall-handler | 39 ------------------- 2 files changed, 34 insertions(+), 39 deletions(-) create mode 100755 inteno-netmodes/files/etc/hotplug.d/iface/01-netmode-firewall-handler delete mode 100755 inteno-netmodes/files/etc/hotplug.d/iface/01-repeater-mode-firewall-handler diff --git a/inteno-netmodes/files/etc/hotplug.d/iface/01-netmode-firewall-handler b/inteno-netmodes/files/etc/hotplug.d/iface/01-netmode-firewall-handler new file mode 100755 index 000000000..2af59563b --- /dev/null +++ b/inteno-netmodes/files/etc/hotplug.d/iface/01-netmode-firewall-handler @@ -0,0 +1,34 @@ +#!/bin/sh + +[ "$INTERFACE" != "wan" ] && exit + +local ip="$(ip a show $DEVICE | awk '/inet / {print $2; exit}')" +ip="${ip%%/*}" + +[ -z "$ip" ] && exit + +set_disabled() { + local disabled + local new_disabled=$1 + config_load firewall + config_get disabled settings disabled 0 + [ $disabled -eq $new_disabled ] && return + uci set firewall.settings.disabled="$1" + uci commit firewall + fw3 reload +} + +test_ip() { + if [ -n "$(echo $ip | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)')" ]; then + set_disabled 1 + else + set_disabled 0 + fi +} + + +case "$(uci -q get netmode.setup.curmode)" in + repeater*) + test_ip + ;; +esac diff --git a/inteno-netmodes/files/etc/hotplug.d/iface/01-repeater-mode-firewall-handler b/inteno-netmodes/files/etc/hotplug.d/iface/01-repeater-mode-firewall-handler deleted file mode 100755 index f51563a8f..000000000 --- a/inteno-netmodes/files/etc/hotplug.d/iface/01-repeater-mode-firewall-handler +++ /dev/null @@ -1,39 +0,0 @@ -[ "$INTERFACE" != "wan" ] && exit -ip="$(ip a show $DEVICE | awk '/inet / {print $2; exit}')" -ip="${ip%%/*}" - -[ -z "$ip" ] && exit - -handle_rule() { - local name enabled - enabled=$2 - config_get name $1 name - if [ "$name" == "Repeater-Management" ]; then - uci set firewall.$1.enabled="$enabled" - uci commit firewall - fi -} - -set_enabled() { - local enabled=$1 - config_load firewall - config_foreach handle_rule rule $enabled -} - -test_ip() { - if [ -n "$(echo $ip | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)')" ]; then - set_enabled 1 - else - set_enabled 0 - fi -} - - -case "$(uci -q get netmode.setup.curmode)" in - repeater*) - test_ip - ;; - *) - exit - ;; -esac