batman-adv: upgrade package to latest release 2016.5
[feed/routing.git] / miniupnpd / files / miniupnpd.init
index a10924401c1b5f1c50b6f2e7f6f222e0651f6866..c7dc6a26289991c91b4fd00d33cdb66b60d58f97 100644 (file)
@@ -1,7 +1,8 @@
 #!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2006-2014 OpenWrt.org
 
-START=95
+START=94
+STOP=15
 
 SERVICE_USE_PID=1
 
@@ -70,6 +71,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,10 +95,18 @@ start() {
 
        local ifname
 
-        [ -n "$extiface" ] || network_find_wan extiface
-        [ -n "$extiface" ] || network_find_wan6 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"