diff options
Diffstat (limited to 'usr/local/pkg')
-rw-r--r-- | usr/local/pkg/miniupnpd.inc | 6 | ||||
-rw-r--r-- | usr/local/pkg/miniupnpd.xml | 34 |
2 files changed, 29 insertions, 11 deletions
diff --git a/usr/local/pkg/miniupnpd.inc b/usr/local/pkg/miniupnpd.inc index 8d45bad..2da8c93 100644 --- a/usr/local/pkg/miniupnpd.inc +++ b/usr/local/pkg/miniupnpd.inc @@ -85,6 +85,8 @@ } function validate_form_miniupnpd($post, $input_errors) { + if($post['enable'] && (!$post['enable_upnp'] && !$post['enable_natpmp'])) + $input_errors[] = 'At least one of \'UPnP\' or \'NAT-PMP\' must be allowed'; if($post['iface_array']) foreach($post['iface_array'] as $iface) if($iface == 'wan') @@ -223,6 +225,10 @@ if($upnp_config['upnpqueue']) $config_text .= "queue={$upnp_config['upnpqueue']}\n"; + /* Allow UPnP or NAT-PMP as requested */ + $config_text .= "enable_upnp=" . ( $upnp_config['enable_upnp'] ? "yes\n" : "no\n" ); + $config_text .= "enable_natpmp=" . ( $upnp_config['enable_natpmp'] ? "yes\n" : "no\n" ); + /* write out the configuration */ upnp_write_config($config_file, $config_text); diff --git a/usr/local/pkg/miniupnpd.xml b/usr/local/pkg/miniupnpd.xml index 7d38022..03bdddf 100644 --- a/usr/local/pkg/miniupnpd.xml +++ b/usr/local/pkg/miniupnpd.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="utf-8" ?> <packagegui> - <title>Services: UPnP</title> + <title>Services: UPnP & NAT-PMP</title> <name>miniupnpd</name> - <version>20070521</version> + <version>20100712</version> <savetext>Change</savetext> <include_file>/usr/local/pkg/miniupnpd.inc</include_file> <menu> - <name>UPnP</name> - <tooltiptext>Set UPnP settings such as interfaces to listen on.</tooltiptext> + <name>UPnP & NAT-PMP</name> + <tooltiptext>Set UPnP & NAT-PMP settings such as interfaces to listen on.</tooltiptext> <section>Services</section> <url>/pkg_edit.php?xml=miniupnpd.xml&id=0</url> </menu> @@ -33,17 +33,29 @@ </service> <fields> <field> - <name>UPnP Settings</name> + <name>UPnP & NAT-PMP Settings</name> <type>listtopic</type> - <enablefields>iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields> + <enablefields>enable_upnp,enable_natpmp,iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields> </field> <field> - <fielddescr>Enable UPnP</fielddescr> + <fielddescr>Enable UPnP & NAT-PMP</fielddescr> <fieldname>enable</fieldname> <type>checkbox</type> - <enablefields>iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields> + <enablefields>enable_upnp,enable_natpmp,iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields> </field> <field> + <fielddescr>Allow UPnP Port Mapping</fielddescr> + <fieldname>enable_upnp</fieldname> + <type>checkbox</type> + <description>This protocol is often used by Microsoft-compatible systems.</description> + </field> + <field> + <fielddescr>Allow NAT-PMP Port Mapping</fielddescr> + <fieldname>enable_natpmp</fieldname> + <type>checkbox</type> + <description>This protocol is often used by Apple-compatible systems.</description> + </field> + <field> <fielddescr>Interfaces (generally LAN)</fielddescr> <fieldname>iface_array</fieldname> <value>lan</value> @@ -74,17 +86,17 @@ <type>input</type> </field> <field> - <fielddescr>Log packets handled by UPnP rules?</fielddescr> + <fielddescr>Log packets handled by UPnP & NAT-PMP rules?</fielddescr> <fieldname>logpackets</fieldname> <type>checkbox</type> </field> <field> - <fielddescr>Use system uptime instead of UPnP service uptime?</fielddescr> + <fielddescr>Use system uptime instead of UPnP & NAT-PMP service uptime?</fielddescr> <fieldname>sysuptime</fieldname> <type>checkbox</type> </field> <field> - <fielddescr>By default deny access to UPnP?</fielddescr> + <fielddescr>By default deny access to UPnP & NAT-PMP?</fielddescr> <fieldname>permdefault</fieldname> <type>checkbox</type> </field> |