aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/upnpd.inc38
-rw-r--r--packages/upnpd.xml43
2 files changed, 47 insertions, 34 deletions
diff --git a/packages/upnpd.inc b/packages/upnpd.inc
new file mode 100644
index 00000000..e4960439
--- /dev/null
+++ b/packages/upnpd.inc
@@ -0,0 +1,38 @@
+<?php
+ 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");
+ }
+ function upnp_install() {
+ /* 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");
+ }
+ function upnp_deinstall() {
+ mwexec("rm -rf /usr/local/etc/rc.d/upnpd.sh");
+ mwexec("rm -rf /usr/local/etc/linuxigd");
+ }
+?>
+ \ No newline at end of file
diff --git a/packages/upnpd.xml b/packages/upnpd.xml
index 69bebe82..e15d7cfd 100644
--- a/packages/upnpd.xml
+++ b/packages/upnpd.xml
@@ -2,44 +2,19 @@
<packagegui>
<name>upnp</name>
<version>0.92_2</version>
- <custom_php_command_before_form>
- </custom_php_command_before_form>
+ <additional_files_needed>
+ <prefix>/usr/local/pkg/</prefix>
+ <chmod>0755</chmod>
+ <item>http://www.pfsense.com/packages/config/upnpd.inc</item>
+ </additional_files_needed>
<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();
+ 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");
+ upnp_install();
</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");
+ upnp_deinstall();
</custom_php_deinstall_command>
+ <include_file>/usr/local/pkg/upnpd.inc</include_file>
</packagegui>