mirror of https://github.com/hak5/openwrt.git
uqmi: inherit firewall zone membership to virtual sub interfaces
Fix an issue where subinterfaces were not added to the same
firewall zone as their parent.
Fixes: FS#2122
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
(cherry picked from commit 64bb88841f
)
openwrt-18.06
parent
a2c22b8776
commit
3dc740257b
|
@ -146,12 +146,18 @@ proto_ncm_setup() {
|
||||||
proto_close_data
|
proto_close_data
|
||||||
proto_send_update "$interface"
|
proto_send_update "$interface"
|
||||||
|
|
||||||
|
local zone="$(fw3 -q network "$interface" 2>/dev/null)"
|
||||||
|
|
||||||
[ "$pdptype" = "IP" -o "$pdptype" = "IPV4V6" ] && {
|
[ "$pdptype" = "IP" -o "$pdptype" = "IPV4V6" ] && {
|
||||||
json_init
|
json_init
|
||||||
json_add_string name "${interface}_4"
|
json_add_string name "${interface}_4"
|
||||||
json_add_string ifname "@$interface"
|
json_add_string ifname "@$interface"
|
||||||
json_add_string proto "dhcp"
|
json_add_string proto "dhcp"
|
||||||
proto_add_dynamic_defaults
|
proto_add_dynamic_defaults
|
||||||
|
[ -n "$zone" ] && {
|
||||||
|
json_add_string zone "$zone"
|
||||||
|
}
|
||||||
|
json_close_object
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,6 +168,10 @@ proto_ncm_setup() {
|
||||||
json_add_string proto "dhcpv6"
|
json_add_string proto "dhcpv6"
|
||||||
json_add_string extendprefix 1
|
json_add_string extendprefix 1
|
||||||
proto_add_dynamic_defaults
|
proto_add_dynamic_defaults
|
||||||
|
[ -n "$zone" ] && {
|
||||||
|
json_add_string zone "$zone"
|
||||||
|
}
|
||||||
|
json_close_object
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -298,6 +298,9 @@ proto_qmi_setup() {
|
||||||
}
|
}
|
||||||
proto_close_data
|
proto_close_data
|
||||||
proto_send_update "$interface"
|
proto_send_update "$interface"
|
||||||
|
|
||||||
|
local zone="$(fw3 -q network "$interface" 2>/dev/null)"
|
||||||
|
|
||||||
[ -n "$pdh_6" ] && {
|
[ -n "$pdh_6" ] && {
|
||||||
if [ -z "$dhcpv6" -o "$dhcpv6" = 0 ]; then
|
if [ -z "$dhcpv6" -o "$dhcpv6" = 0 ]; then
|
||||||
json_load "$(uqmi -s -d $device --set-client-id wds,$cid_6 --get-current-settings)"
|
json_load "$(uqmi -s -d $device --set-client-id wds,$cid_6 --get-current-settings)"
|
||||||
|
@ -318,6 +321,11 @@ proto_qmi_setup() {
|
||||||
proto_add_dns_server "$dns1_6"
|
proto_add_dns_server "$dns1_6"
|
||||||
proto_add_dns_server "$dns2_6"
|
proto_add_dns_server "$dns2_6"
|
||||||
}
|
}
|
||||||
|
[ -n "$zone" ] && {
|
||||||
|
proto_add_data
|
||||||
|
json_add_string zone "$zone"
|
||||||
|
proto_close_data
|
||||||
|
}
|
||||||
proto_send_update "$interface"
|
proto_send_update "$interface"
|
||||||
else
|
else
|
||||||
json_init
|
json_init
|
||||||
|
@ -328,6 +336,7 @@ proto_qmi_setup() {
|
||||||
proto_add_dynamic_defaults
|
proto_add_dynamic_defaults
|
||||||
# RFC 7278: Extend an IPv6 /64 Prefix to LAN
|
# RFC 7278: Extend an IPv6 /64 Prefix to LAN
|
||||||
json_add_string extendprefix 1
|
json_add_string extendprefix 1
|
||||||
|
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||||
json_close_object
|
json_close_object
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
fi
|
fi
|
||||||
|
@ -340,6 +349,7 @@ proto_qmi_setup() {
|
||||||
json_add_string proto "dhcp"
|
json_add_string proto "dhcp"
|
||||||
[ -n "$ip4table" ] && json_add_string ip4table "$ip4table"
|
[ -n "$ip4table" ] && json_add_string ip4table "$ip4table"
|
||||||
proto_add_dynamic_defaults
|
proto_add_dynamic_defaults
|
||||||
|
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||||
json_close_object
|
json_close_object
|
||||||
ubus call network add_dynamic "$(json_dump)"
|
ubus call network add_dynamic "$(json_dump)"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue