<?xml version="1.0" encoding="utf-8" ?>
<packagegui>
	<title>Services: UPnP</title>
	<name>miniupnpd</name>
	<version>20070521</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>
		<section>Services</section>
		<url>/pkg_edit.php?xml=miniupnpd.xml&amp;id=0</url>
	</menu>
	<additional_files_needed>
		<item>http://www.pfsense.org/packages/config/miniupnpd/miniupnpd.inc</item>
	    <prefix>/usr/local/pkg/</prefix>
	    <chmod>0755</chmod>
	</additional_files_needed>
	<additional_files_needed>
		<item>http://www.pfsense.org/packages/config/miniupnpd/status_upnp.php</item>
	    <prefix>/usr/local/www/</prefix>
	    <chmod>0755</chmod>
	</additional_files_needed>
	<additional_files_needed>
		<prefix>/usr/local/sbin/</prefix>
		<chmod>0755</chmod>
		<item>http://www.pfsense.com/packages/config/miniupnpd/sbin/miniupnpd</item>
	</additional_files_needed>
	<service>
		<name>miniupnpd</name>
		<rcfile>miniupnpd.sh</rcfile>
		<executable>miniupnpd</executable>
	</service>
	<tabs>
		<tab>
			<text>UPnP Settings</text>
			<url>/pkg_edit.php?xml=miniupnpd.xml&amp;id=0</url>
			<active/>
		</tab>
	</tabs>
	<fields>
		<field>
			<fielddescr>Enable UPnP</fielddescr>
			<fieldname>enable</fieldname>
			<type>checkbox</type>
		</field>			
		<field>
			<fielddescr>Interfaces (generally LAN)</fielddescr>
			<fieldname>iface_array</fieldname>
			<value>lan</value>
			<multiple>true</multiple>
			<size>3</size>
			<type>interfaces_selection</type>
			<description>You can use the CTRL or COMMAND key to select multiple interfaces.</description>
			<required/>
		</field>
		<field>
			<fielddescr>Maximum Download Speed (Kbits/second)</fielddescr>
			<fieldname>download</fieldname>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Maximum Upload Speed (Kbits/second)</fielddescr>
			<fieldname>upload</fieldname>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Override WAN address</fielddescr>
			<fieldname>overridewanip</fieldname>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Traffic Shaping Queue</fielddescr>
			<fieldname>upnpqueue</fieldname>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Log packets handled by UPnP rules?</fielddescr>
			<fieldname>logpackets</fieldname>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>Use system uptime instead of UPnP service uptime?</fielddescr>
			<fieldname>sysuptime</fieldname>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>By default deny access to UPnP?</fielddescr>
			<fieldname>permdefault</fieldname>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>User specified permissions 1</fielddescr>
			<fieldname>permuser1</fieldname>
			<description>Format: [allow or deny] [ext port or range] [int ipaddr or ipaddr/cdir] [int port or range]
			&lt;br /&gt;Example: allow 1024-65535 192.168.0.0/24 1024-65535</description>
			<type>input</type>
			<size>60</size>
		</field>
		<field>
			<fielddescr>User specified permissions 2</fielddescr>
			<fieldname>permuser2</fieldname>
			<description>Format: [allow or deny] [ext port or range] [int ipaddr or ipaddr/cdir] [int port or range]</description>
			<type>input</type>
			<size>60</size>
		</field>
		<field>
			<fielddescr>User specified permissions 3</fielddescr>
			<fieldname>permuser3</fieldname>
			<description>Format: [allow or deny] [ext port or range] [int ipaddr or ipaddr/cdir] [int port or range]</description>
			<type>input</type>
			<size>60</size>
		</field>
		<field>
			<fielddescr>User specified permissions 4</fielddescr>
			<fieldname>permuser4</fieldname>
			<description>Format: [allow or deny] [ext port or range] [int ipaddr or ipaddr/cdir] [int port or range]</description>
			<type>input</type>
			<size>60</size>
		</field>	
	</fields>
	<custom_php_command_before_form>
		before_form_miniupnpd(&amp;$pkg);
	</custom_php_command_before_form>
	<custom_php_validation_command>
		validate_form_miniupnpd($_POST, &amp;$input_errors);
	</custom_php_validation_command>
	<custom_php_resync_config_command>
		sync_package_miniupnpd();
	</custom_php_resync_config_command>
</packagegui>
