mirror of https://github.com/hak5/openwrt.git
qos-scripts: fix interface resolving
Also ensure that the error message is actually printed to stderr and that
the rule generation is aborted if an interface cannot be resolved.
Ref: https://github.com/openwrt/luci/issues/3975
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 559b338466
)
openwrt-19.07
parent
31de4a40e7
commit
c963e4267b
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=qos-scripts
|
||||
PKG_VERSION:=1.3.1
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
|
|
|
@ -22,15 +22,20 @@ add_insmod() {
|
|||
[ -e /etc/config/network ] && {
|
||||
# only try to parse network config on openwrt
|
||||
|
||||
find_ifname() {(
|
||||
reset_cb
|
||||
include /lib/network
|
||||
scan_interfaces
|
||||
config_get "$1" ifname
|
||||
)}
|
||||
. /lib/functions/network.sh
|
||||
|
||||
find_ifname() {
|
||||
local ifname
|
||||
if network_get_device ifname "$1"; then
|
||||
echo "$ifname"
|
||||
else
|
||||
echo "Device for interface $1 not found." >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
} || {
|
||||
find_ifname() {
|
||||
echo "Interface not found."
|
||||
echo "Interface not found." >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
@ -218,6 +223,7 @@ qos_parse_config() {
|
|||
config_get device "$1" device
|
||||
[ -z "$device" ] && {
|
||||
device="$(find_ifname $1)"
|
||||
[ -z "$device" ] && exit 1
|
||||
config_set "$1" device "$device"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue