diff --git a/usr/local/pkg/miniupnpd.inc b/usr/local/pkg/miniupnpd.inc index c13cc3032f..518cd9e485 100644 --- a/usr/local/pkg/miniupnpd.inc +++ b/usr/local/pkg/miniupnpd.inc @@ -232,6 +232,35 @@ if(upnp_config('permdefault')) $configtext .= "deny 0-65535 0.0.0.0/0 0-65535\n"; + /* generate rc file start and stop */ + $stop = <<&1 >/dev/null + fi + if [ `pfctl -aminiupnpd -sn | wc -l` != 0 ]; then + /sbin/pfctl -aminiupnpd -Fn 2>&1 >/dev/null + fi +EOD; + $start = $stop."\n\t/usr/local/sbin/miniupnpd -f ".UPNP_CONFIG; + + /* write out the configuration */ + conf_mount_rw(); + upnp_write_config(UPNP_CONFIG,$configtext); + write_rcfile(array( + 'file' => 'miniupnpd.sh', + 'start' => $start, + 'stop' => $stop + ) + ); + conf_mount_ro(); + /* if miniupnpd not running start it */ if(!upnp_running()) { upnp_notice("Starting service on interface: {$ifaces_active}");