X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=miniupnpd%2Ffiles%2Fminiupnpd.init;h=f8a66fd6586e15b3b550ff3a18c8eb13d19c89f8;hb=c8eeeee90ae1761da0dab8d99f95f938a5d54b3e;hp=caa69ad8ef638c6657d4aaa7948b0c3bec2a74c2;hpb=ff3dddf2da7efbd25e7accc80366480cb3f39611;p=lede-routing%2F.git diff --git a/miniupnpd/files/miniupnpd.init b/miniupnpd/files/miniupnpd.init index caa69ad..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,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"