Project

General

Profile

Feature #262 ยป pfSense2-local-miniupnpd.patch

Andrew Fernandes, 07/12/2010 08:49 PM

View differences:

local/pkg/miniupnpd.inc 2010-07-13 00:30:39.000000000 +0000
85 85
	}
86 86

  
87 87
	function validate_form_miniupnpd($post, $input_errors) {
88
		if($post['enable'] && (!$post['enable_upnp'] && !$post['enable_natpmp']))
89
			$input_errors[] = 'At least one of \'UPnP\' or \'NAT-PMP\' must be allowed';
88 90
		if($post['iface_array'])
89 91
			foreach($post['iface_array'] as $iface)
90 92
				if($iface == 'wan')
......
223 225
				if($upnp_config['upnpqueue'])
224 226
					$config_text .= "queue={$upnp_config['upnpqueue']}\n";
225 227

  
228
				/* Allow UPnP or NAT-PMP as requested */
229
				$config_text .= "enable_upnp="   . ( $upnp_config['enable_upnp']   ? "yes\n" : "no\n" );
230
				$config_text .= "enable_natpmp=" . ( $upnp_config['enable_natpmp'] ? "yes\n" : "no\n" );
231

  
226 232
				/* write out the configuration */
227 233
				upnp_write_config($config_file, $config_text);
228 234
				
local/pkg/miniupnpd.xml 2010-07-13 00:11:38.000000000 +0000
1 1
<?xml version="1.0" encoding="utf-8" ?>
2 2
<packagegui>
3
	<title>Services: UPnP</title>
3
	<title>Services: UPnP &amp; NAT-PMP</title>
4 4
	<name>miniupnpd</name>
5
	<version>20070521</version>
5
	<version>20100712</version>
6 6
	<savetext>Change</savetext>
7 7
	<include_file>/usr/local/pkg/miniupnpd.inc</include_file>
8 8
	<menu>
9
		<name>UPnP</name>
10
		<tooltiptext>Set UPnP settings such as interfaces to listen on.</tooltiptext>
9
		<name>UPnP &amp; NAT-PMP</name>
10
		<tooltiptext>Set UPnP &amp; NAT-PMP settings such as interfaces to listen on.</tooltiptext>
11 11
		<section>Services</section>
12 12
		<url>/pkg_edit.php?xml=miniupnpd.xml&amp;id=0</url>
13 13
	</menu>
......
33 33
	</service>
34 34
	<fields>
35 35
		<field>
36
			<name>UPnP Settings</name>
36
			<name>UPnP &amp; NAT-PMP Settings</name>
37 37
			<type>listtopic</type>
38
			<enablefields>iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields>
38
			<enablefields>enable_upnp,enable_natpmp,iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields>
39 39
		</field>
40 40
		<field>
41
			<fielddescr>Enable UPnP</fielddescr>
41
			<fielddescr>Enable UPnP &amp; NAT-PMP</fielddescr>
42 42
			<fieldname>enable</fieldname>
43 43
			<type>checkbox</type>
44
			<enablefields>iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields>
44
			<enablefields>enable_upnp,enable_natpmp,iface_array,overridewanip,upnpqueue,logpackets,sysuptime,permdefault,permuser1,permuser2,permuser3,permuser4</enablefields>
45 45
		</field>			
46 46
		<field>
47
			<fielddescr>Allow UPnP Port Mapping</fielddescr>
48
			<fieldname>enable_upnp</fieldname>
49
			<type>checkbox</type>
50
			<description>This protocol is often used by Microsoft-compatible systems.</description>
51
		</field>
52
		<field>
53
			<fielddescr>Allow NAT-PMP Port Mapping</fielddescr>
54
			<fieldname>enable_natpmp</fieldname>
55
			<type>checkbox</type>
56
			<description>This protocol is often used by Apple-compatible systems.</description>
57
		</field>
58
		<field>
47 59
			<fielddescr>Interfaces (generally LAN)</fielddescr>
48 60
			<fieldname>iface_array</fieldname>
49 61
			<value>lan</value>
......
74 86
			<type>input</type>
75 87
		</field>
76 88
		<field>
77
			<fielddescr>Log packets handled by UPnP rules?</fielddescr>
89
			<fielddescr>Log packets handled by UPnP &amp; NAT-PMP rules?</fielddescr>
78 90
			<fieldname>logpackets</fieldname>
79 91
			<type>checkbox</type>
80 92
		</field>
81 93
		<field>
82
			<fielddescr>Use system uptime instead of UPnP service uptime?</fielddescr>
94
			<fielddescr>Use system uptime instead of UPnP &amp; NAT-PMP service uptime?</fielddescr>
83 95
			<fieldname>sysuptime</fieldname>
84 96
			<type>checkbox</type>
85 97
		</field>
86 98
		<field>
87
			<fielddescr>By default deny access to UPnP?</fielddescr>
99
			<fielddescr>By default deny access to UPnP &amp; NAT-PMP?</fielddescr>
88 100
			<fieldname>permdefault</fieldname>
89 101
			<type>checkbox</type>
90 102
		</field>
local/www/fbegin.inc 2010-07-12 23:48:53.000000000 +0000
131 131
	/* no use for UPnP in single-interface deployments
132 132
	remove to reduce user confusion
133 133
	*/
134
	$services_menu[] = array("UPnP", "/pkg_edit.php?xml=miniupnpd.xml&id=0");
134
	$services_menu[] = array("UPnP &amp; NAT-PMP", "/pkg_edit.php?xml=miniupnpd.xml&id=0");
135 135
}
136 136
$services_menu[] = array("OpenNTPD", "/pkg_edit.php?xml=openntpd.xml&id=0");
137 137
$services_menu[] = array("Wake on LAN", "/services_wol.php");
......
166 166
$status_menu[] = array("System Logs", "/diag_logs.php");
167 167
$status_menu[] = array("Traffic Graph", "/status_graph.php?if=wan");
168 168
if(count($config['interfaces']) > 1) 
169
	$status_menu[] = array("UPnP", "/status_upnp.php");
169
	$status_menu[] = array("UPnP &amp; NAT-PMP", "/status_upnp.php");
170 170
$ifentries = get_configured_interface_with_descr();
171 171
foreach ($ifentries as $ent => $entdesc) {
172 172
	if (is_array($config['interfaces'][$ent]['wireless']) &&
local/www/status_upnp.php 2010-07-12 23:57:04.000000000 +0000
55 55
$now = time();
56 56
$year = date("Y");
57 57

  
58
$pgtitle = array("Status","UPnP Status");
58
$pgtitle = array("Status","UPnP &amp; NAT-PMP Status");
59 59
include("head.inc");
60 60
?>
61 61
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
    (1-1/1)