diff options
-rw-r--r-- | usr/local/pkg/miniupnpd.inc | 6 | ||||
-rw-r--r-- | usr/local/pkg/miniupnpd.xml | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/usr/local/pkg/miniupnpd.inc b/usr/local/pkg/miniupnpd.inc index 7f37d72..c0760d6 100644 --- a/usr/local/pkg/miniupnpd.inc +++ b/usr/local/pkg/miniupnpd.inc @@ -156,9 +156,13 @@ /* above function returns iface if fail */ if($if!=$iface) { $addr = find_interface_ip($if); + $bits = find_interface_subnet($if); /* check that the interface has an ip address before adding parameters */ if (is_ipaddr($addr)) { - $config_text .= "listening_ip={$if}\n"; + if ($upnp_config['listen_on_iface']) + $config_text .= "listening_ip={$if}\n"; + else + $config_text .= "listening_ip={$addr}/{$bits}\n"; if(!$ifaces_active) { $webgui_ip = $addr; $ifaces_active = $iface; diff --git a/usr/local/pkg/miniupnpd.xml b/usr/local/pkg/miniupnpd.xml index 6fc054f..65fd76f 100644 --- a/usr/local/pkg/miniupnpd.xml +++ b/usr/local/pkg/miniupnpd.xml @@ -35,7 +35,7 @@ <field> <name>UPnP & NAT-PMP Settings</name> <type>listtopic</type> - <enablefields>enable_upnp,enable_natpmp,iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields> + <enablefields>enable_upnp,enable_natpmp,listen_on_iface,iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields> </field> <field> <fielddescr>Enable UPnP & NAT-PMP</fielddescr> @@ -81,6 +81,11 @@ <required/> </field> <field> + <fielddescr>Listen on interface instead of interface's IPv4 address</fielddescr> + <fieldname>listen_on_iface</fieldname> + <type>checkbox</type> + </field> + <field> <fielddescr>Maximum Download Speed (Kbits/second)</fielddescr> <fieldname>download</fieldname> <type>input</type> |