Browse Source

net/mwan3: fixup parse json_load an null message

If a interface is down, call ubus will return an null message which is
used to json_load, it causes json_get_vars gets value from last load and
l3_device various is nonzero.

Signed-off-by: Kyson Lok <kysonlok@gmail.com>
lilik-openwrt-22.03
Kyson Lok 7 years ago
committed by Florian Eckert
parent
commit
8c0ed00c39
1 changed files with 10 additions and 5 deletions
  1. +10
    -5
      net/mwan3/files/usr/sbin/mwan3

+ 10
- 5
net/mwan3/files/usr/sbin/mwan3 View File

@ -43,7 +43,7 @@ ifdown()
ifup() ifup()
{ {
local device enabled up l3_device
local device enabled up l3_device status
config_load mwan3 config_load mwan3
config_get_bool enabled globals 'enabled' 0 config_get_bool enabled globals 'enabled' 0
@ -67,13 +67,18 @@ ifup()
exit 0 exit 0
} }
json_load $(ubus -S call network.interface.$1 status)
json_get_vars up l3_device
status=$(ubus -S call network.interface.$1 status)
[ -n "$status" ] && {
json_load $status
json_get_vars up l3_device
}
config_get enabled "$1" enabled 0 config_get enabled "$1" enabled 0
if [ "$up" -eq 1 ] \
if [ "$up" = "1" ] \
&& [ -n "$l3_device" ] \ && [ -n "$l3_device" ] \
&& [ "$enabled" -eq 1 ]; then
&& [ "$enabled" = "1" ]; then
ACTION=ifup INTERFACE=$1 DEVICE=$l3_device /sbin/hotplug-call iface ACTION=ifup INTERFACE=$1 DEVICE=$l3_device /sbin/hotplug-call iface
fi fi
} }


Loading…
Cancel
Save