X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=miniupnpd%2Ffiles%2Fminiupnpd.init;h=f8a66fd6586e15b3b550ff3a18c8eb13d19c89f8;hb=c8eeeee90ae1761da0dab8d99f95f938a5d54b3e;hp=a10924401c1b5f1c50b6f2e7f6f222e0651f6866;hpb=aa9af551d0bf027ec683c04c4ea15a773b43af67;p=lede-routing%2F.git diff --git a/miniupnpd/files/miniupnpd.init b/miniupnpd/files/miniupnpd.init index a109244..f8a66fd 100644 --- a/miniupnpd/files/miniupnpd.init +++ b/miniupnpd/files/miniupnpd.init @@ -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,10 +94,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"