ppp: propagate master firewall zone to dynamic slave interface
authorHans Dedecker <dedeckeh@gmail.com>
Wed, 31 May 2017 14:24:11 +0000 (16:24 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 13 Dec 2017 14:50:45 +0000 (15:50 +0100)
Assign the virtual DHCPv6 interface the firewall zone of the parent interface
so fw3 knows the zone to which the virtual DHCPv6 interface belongs.
This guarantees the firewall settings are applied correctly for the virtual
DHCPv6 interface and allows to query the zone to which the virtual DHCPv6
interface belongs via the fw3 network option.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
(cherry picked from commit 21f25bc4a325b3075d6426047640e9cf6176894c)

package/network/services/ppp/Makefile
package/network/services/ppp/files/lib/netifd/ppp6-up

index 8b0daf2..6c615ca 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ppp
 PKG_VERSION:=2.4.7
 
 PKG_NAME:=ppp
 PKG_VERSION:=2.4.7
-PKG_RELEASE:=11
+PKG_RELEASE:=12
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.samba.org/pub/ppp/
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.samba.org/pub/ppp/
index 8ad0322..3852bf6 100755 (executable)
@@ -17,10 +17,13 @@ proto_send_update "$PPP_IPPARAM"
 }
 
 if [ -n "$AUTOIPV6" ]; then
 }
 
 if [ -n "$AUTOIPV6" ]; then
+       ZONE=$(fw3 -q network $PPP_IPPARAM 2>/dev/null)
+
        json_init
        json_add_string name "${PPP_IPPARAM}_6"
        json_add_string ifname "@$PPP_IPPARAM"
        json_add_string proto "dhcpv6"
        json_init
        json_add_string name "${PPP_IPPARAM}_6"
        json_add_string ifname "@$PPP_IPPARAM"
        json_add_string proto "dhcpv6"
+       [ -n "$ZONE" ] && json_add_string zone "$ZONE"
        [ -n "$EXTENDPREFIX" ] && json_add_string extendprefix 1
        [ -n "$IP6TABLE" ] && json_add_string ip6table $IP6TABLE
        [ -n "$PEERDNS" ] && json_add_boolean peerdns $PEERDNS
        [ -n "$EXTENDPREFIX" ] && json_add_string extendprefix 1
        [ -n "$IP6TABLE" ] && json_add_string ip6table $IP6TABLE
        [ -n "$PEERDNS" ] && json_add_boolean peerdns $PEERDNS