Correctly move upnp to base since LiveCD cannot write files to /usr/local/etc or /usr/local/etc/rc.d/

This commit is contained in:
Scott Ullrich 2007-06-30 21:48:29 +00:00
parent d739dbe9cc
commit 6f20377b6f
3 changed files with 9 additions and 30 deletions

View File

@ -1272,4 +1272,10 @@ function configure_cron() {
conf_mount_ro();
}
function upnp_start() {
if($config['installedpackages']['miniupnpd']['config'][0]["enable"]) {
mwexec_bg("/usr/local/sbin/miniupnpd -f /var/etc/miniupnpd.conf");
}
}
?>

View File

@ -317,6 +317,8 @@
mwexec("sysctl net.inet.tcp.sendspace=4096");
}
upnp_start();
/* done */
unlink("{$g['varrun_path']}/booting");
$g['booting'] = FALSE;

View File

@ -5,7 +5,7 @@
/* MiniUPnPd */
define('UPNP_RCFILE', '/usr/local/etc/rc.d/miniupnpd.sh');
define('UPNP_CONFIG','/usr/local/etc/miniupnpd.conf');
define('UPNP_CONFIG','/var/etc/miniupnpd.conf');
function upnp_notice ($msg) { syslog(LOG_NOTICE, "miniupnpd: {$msg}"); return; }
function upnp_warn ($msg) { syslog(LOG_WARNING, "miniupnpd: {$msg}"); return; }
@ -221,35 +221,6 @@
if(upnp_config('permdefault'))
$configtext .= "deny 0-65535 0.0.0.0/0 0-65535\n";
/* generate rc file start and stop */
$stop = <<<EOD
if [ `pgrep miniupnpd | wc -l` != 0 ]; then
/usr/bin/killall miniupnpd
while [ `pgrep miniupnpd | wc -l` != 0 ]; do
sleep 1
done
fi
# Clear existing rules and rdr entries
if [ `pfctl -aminiupnpd -sr | wc -l` != 0 ]; then
/sbin/pfctl -aminiupnpd -Fr 2>&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}");