miniupnpd: Upgraded to 1.9 (+ third party PCP patch).
[lede-routing/.git] / miniupnpd / files / miniupnpd.init
index caa69ad8ef638c6657d4aaa7948b0c3bec2a74c2..f8a66fd6586e15b3b550ff3a18c8eb13d19c89f8 100644 (file)
@@ -70,6 +70,7 @@ start() {
         local ipv6_listening_ip
 
        config_get extiface config external_iface
+       config_get extzone config external_zone
        config_get intiface config internal_iface
        config_get extip config external_ip
        config_get port config port 5000
@@ -93,9 +94,18 @@ start() {
 
        local ifname
 
-        [ -n "$extiface" ] || network_find_wan extiface
-
-       network_get_device ifname ${extiface}
+        # manual external interface overrides everything
+        if [ -z "$extiface" ] ; then
+            # manual external zone (if dynamically find interfaces
+            # belonging to it) overrides network_find_wan*
+            if [ -n "$extzone" ] ; then
+                ifname=$(fw3 -q zone $extzone | head -1)
+            fi
+            [ -n "$extiface" ] || network_find_wan extiface
+            [ -n "$extiface" ] || network_find_wan6 extiface
+        fi
+
+       [ -n "$ifname" ] || network_get_device ifname ${extiface}
 
        if [ -n "$conffile" ]; then
                args="-f $conffile"