umbim: inherit firewall zone membership from parent interface

Fix an issue where subinterfaces were not added to the same
firewall zone as their parent.
Inspired by 64bb88841f.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
This commit is contained in:
Lech Perczak 2021-07-19 19:26:02 +02:00 committed by Hauke Mehrtens
parent c84bf89b3a
commit c1e0d07744

View file

@ -169,6 +169,8 @@ _proto_mbim_setup() {
echo "mbim[$$]" "Connected" echo "mbim[$$]" "Connected"
local zone="$(fw3 -q network "$interface" 2>/dev/null)"
if [ -z "$dhcp" -o "$dhcp" = 0 ]; then if [ -z "$dhcp" -o "$dhcp" = 0 ]; then
echo "mbim[$$]" "Setting up $ifname" echo "mbim[$$]" "Setting up $ifname"
eval $(umbim $DBG -n -t $tid -d $device config | sed 's/: /=/g') eval $(umbim $DBG -n -t $tid -d $device config | sed 's/: /=/g')
@ -190,6 +192,7 @@ _proto_mbim_setup() {
[ "$peerdns" = 0 ] || json_add_string "" "$ipv4dnsserver" [ "$peerdns" = 0 ] || json_add_string "" "$ipv4dnsserver"
json_close_array json_close_array
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)"
} }
@ -207,6 +210,7 @@ _proto_mbim_setup() {
[ "$peerdns" = 0 ] || json_add_string "" "$ipv6dnsserver" [ "$peerdns" = 0 ] || json_add_string "" "$ipv6dnsserver"
json_close_array json_close_array
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)"
} }
@ -221,6 +225,7 @@ _proto_mbim_setup() {
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 json_close_object
ubus call network add_dynamic "$(json_dump)" ubus call network add_dynamic "$(json_dump)"
} }
@ -232,6 +237,7 @@ _proto_mbim_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 json_close_object
ubus call network add_dynamic "$(json_dump)" ubus call network add_dynamic "$(json_dump)"
} }