From df1f5a791591115b98f19e2c24934804d4709f95 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 28 Jan 2021 20:41:36 +0100 Subject: [PATCH] Fix omr-bypass with vlan --- .../root/etc/init.d/omr-bypass | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index 592d875ac..82a1e68f5 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -50,7 +50,8 @@ _bypass_domains() { _bypass_domain() { local domain=$1 local intf=$2 - + intf=$(echo $intf | sed -e 's/\./_/') + [ -z "$intf" ] && intf="all" if [ -n "$domain" ]; then domain=$(echo $domain | sed 's:^\.::') @@ -68,7 +69,7 @@ _bypass_domain() { fi fi if [ "$(uci -q get dhcp.@dnsmasq[0].ipset | grep /$domain/)" = "" ]; then - uci -q add_list dhcp.@dnsmasq[0].ipset="/$domain/omr_dst_bypass_$intf,omr6_dst_bypass_$intf" + uci -q add_list dhcp.@dnsmasq[0].ipset="/$domain/omr_dst_bypass_$intfuci,omr6_dst_bypass_$intf" else dnsmasqipset=$(uci -q get dhcp.@dnsmasq[0].ipset | sed 's/ /\n/g') for dnsipset in $dnsmasqipset; do @@ -90,8 +91,8 @@ _bypass_mac() { config_get intf $1 interface config_get enabled $1 enabled [ "$enabled" = "0" ] && return - intfuci=$(echo $intf | sed 's/\./_/') - local intfid="$(uci -q get omr-bypass.$intfuci.id)" + intf=$(echo $intf | sed -e 's/\./_/') + local intfid="$(uci -q get omr-bypass.$intf.id)" [ -z "$intf" ] && intf="all" [ -z "$mac" ] && return @@ -132,8 +133,8 @@ _bypass_lan_ip() { config_get intf $1 interface config_get enabled $1 enabled [ "$enabled" = "0" ] && return - intfuci=$(echo $intf | sed 's/\./_/') - local intfid="$(uci -q get omr-bypass.$intfuci.id)" + intf=$(echo $intf | sed -e 's/\./_/') + local intfid="$(uci -q get omr-bypass.$intf.id)" [ -z "$intf" ] && intf="all" [ -z "$ip" ] && return @@ -190,8 +191,8 @@ _bypass_dest_port() { config_get intf $1 interface config_get enabled $1 enabled [ "$enabled" = "0" ] && return - intfuci=$(echo $intf | sed 's/\./_/') - local intfid="$(uci -q get omr-bypass.$intfuci.id)" + intf=$(echo $intf | sed -e 's/\./_/') + local intfid="$(uci -q get omr-bypass.$intf.id)" [ -z "$intf" ] && intf="all" [ -z "$dport" ] && return @@ -246,8 +247,8 @@ _bypass_src_port() { config_get intf $1 interface config_get enabled $1 enabled [ "$enabled" = "0" ] && return - intfuci=$(echo $intf | sed 's/\./_/') - local intfid="$(uci -q get omr-bypass.$intfuci.id)" + intf=$(echo $intf | sed -e 's/\./_/') + local intfid="$(uci -q get omr-bypass.$intf.id)" [ -z "$intf" ] && intf="all" [ -z "$sport" ] && return @@ -300,8 +301,8 @@ _bypass_proto() { config_get intf $1 interface config_get enabled $1 enabled [ "$enabled" = "0" ] && return - intfuci=$(echo $intf | sed 's/\./_/') - local intfid="$(uci -q get omr-bypass.$intfuci.id)" + intf=$(echo $intf | sed -e 's/\./_/') + local intfid="$(uci -q get omr-bypass.$intf.id)" [ -z "$intf" ] && intf="all" [ -z "$proto" ] && return @@ -459,6 +460,7 @@ _intf_rule() { #[ "$mode" = "off" ] && return [ -z "$count" ] && return [ -z "$intf" ] && return + intf=$(echo $intf | sed -e 's/\./_/') [ "$(echo $1 | grep _dev)" != "" ] && return [ -z "$RELOAD" ] || [ "$(ipset --list | grep omr_dst_bypass_$intf)" = "" ] && { unset RELOAD @@ -498,9 +500,8 @@ _intf_rule() { config_foreach _intf_rule_ss_rules ss_rules _intf_rule_v2ray_rules - intfuci=$(echo $intf | sed 's/\./_/') - uci -q set omr-bypass.$intfuci=interface - uci -q set omr-bypass.$intfuci.id=$count + uci -q set omr-bypass.$intf=interface + uci -q set omr-bypass.$intf.id=$count } _bypass_ip_set() {