diff options
author | Seth Mos <seth.mos@dds.nl> | 2011-01-18 09:10:36 +0100 |
---|---|---|
committer | Seth Mos <seth.mos@dds.nl> | 2011-01-18 09:10:36 +0100 |
commit | 1f74cd2d101f032472a4968a10b64161652d6c1f (patch) | |
tree | d692513243aaed6003264f0b877b50cbeb69328b /usr/local/pkg/routed.inc | |
parent | c9d174dfc0a29c59ae35f43a470460f36f695b61 (diff) | |
parent | 96e889fc1e938187dd18238d80e3163e1aca3006 (diff) | |
download | pfsense-1f74cd2d101f032472a4968a10b64161652d6c1f.zip pfsense-1f74cd2d101f032472a4968a10b64161652d6c1f.tar.gz |
Merge remote branch 'upstream/master'
Conflicts:
etc/inc/interfaces.inc
etc/inc/system.inc
Diffstat (limited to 'usr/local/pkg/routed.inc')
-rw-r--r-- | usr/local/pkg/routed.inc | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/usr/local/pkg/routed.inc b/usr/local/pkg/routed.inc index 2d4f6d1..4d1b1d8 100644 --- a/usr/local/pkg/routed.inc +++ b/usr/local/pkg/routed.inc @@ -39,29 +39,20 @@ function setup_routed() { if (isset($config['installedpackages']['routed']['config'][0]['enable']) && $config['installedpackages']['routed']['config'][0]['enable'] == "on") { /* if user selected individual interfaces */ - $ifdescrs = get_configured_interface_with_descr(); $ifarr = explode(",", $config['installedpackages']['routed']['config'][0]['iface_array']); - if (count($ifarr) != 0) { - foreach($ifdescrs as $ifdescr => $ifname) { - if (in_array($ifname, $ifarr)) { - $gw .= setup_etc_gateways($ifdescr, 'enable'); - } else { - $gw .= setup_etc_gateways($ifdescr, 'disable'); - } + if (!empty($ifarr)) { + foreach($ifarr as $ifname) { + $gw .= setup_etc_gateways($ifname, 'enable'); } - } else { + } else /* setup for all interfaces */ $gw = setup_etc_gateways(); - } conf_mount_rw(); - $fd = fopen("/etc/gateways", "w"); - fwrite($fd, $gw); - fclose($fd); + file_put_contents("/etc/gateways", $gw); conf_mount_ro(); restart_routed(); - } else { + } else stop_routed(); - } } function setup_etc_gateways($iface="", $mode="") { @@ -70,7 +61,7 @@ function setup_etc_gateways($iface="", $mode="") { $ret = ""; if ($iface != "") { $realif=convert_friendly_interface_to_real_interface_name($iface); - if ($realif) + if (!empty($realif)) $ret = "if={$realif} "; } @@ -98,12 +89,11 @@ function setup_etc_gateways($iface="", $mode="") { } function start_routed() { - mwexec("/sbin/routed"); + mwexec_bg("/sbin/routed"); } function stop_routed() { - if(isvalidproc("routed")) - mwexec("killall routed"); + killbyname("routed"); } function restart_routed() { |