<?xml version="1.0" encoding="utf-8" ?>
<packagegui>
	<name>upnp</name>
	<version>0.92_2</version>
	<custom_php_command_before_form>
	</custom_php_command_before_form>		
	<custom_php_resync_config_command>
		function sync_upnp() {
			global $config, $g;
			$lanif = $config['interfaces']['lan']['if'];
			$wanif = get_real_wan_interface();
			$lanip = find_interface_ip($lanif);
			/* copy original, we're going to overwrite ADDR with our internal ip */
			copy("/usr/local/etc/linuxigd/gatedesc.xml.bak", "/usr/local/etc/linuxigd/gatedesc.xml");
			/* replace ADDR with LAN ip */
			$file_contents = file_get_contents("/usr/local/etc/linuxigd/gatedesc.xml");
			$file_contents = str_replace("!ADDR!","{$lanip}",$file_contents);
			$fout = fopen("/usr/local/etc/linuxigd/gatedesc.xml", "w");
			fwrite($fout, $file_contents);
			fclose($fout);
			/* write out custom rc.d starter script */
			$fout = fopen("/usr/local/etc/rc.d/upnpd.sh", "w");
			fwrite($fout, "#!/bin/sh\n# This package was automatically generated\n# by the pfSense package system.\n\n");
			fwrite($fout, "# PACKAGE: UPNP\n");
			fwrite($fout, "# EXECUTABLE: upnpd\n\n");
			fwrite($fout, "/usr/local/bin/upnpd {$wanif} {$lanif}");
			fclose($fout);
			chmod("/usr/local/etc/rc.d/upnpd.sh", 0755);
			/* kill it off if its running */
			mwexec("killall upnpd");
			/* alright, thats all we need.  start up! */
			mwexec("/usr/local/etc/rc.d/upnpd.sh");
		}
		sync_upnp();		
	</custom_php_resync_config_command>
	<custom_php_install_command>
		/* we need to update the files ADDR from time to time which is the lan ip */
		copy("/usr/local/etc/linuxigd/gatedesc.xml", "/usr/local/etc/linuxigd/gatedesc.xml.bak");
		unlink("/usr/local/etc/rc.d/linuxigd.sh.sample");
	</custom_php_install_command>
	<custom_php_deinstall_command>
		mwexec("rm -rf /usr/local/etc/rc.d/upnpd.sh");
		mwexec("rm -rf /usr/local/etc/linuxigd");
	</custom_php_deinstall_command>
</packagegui>