From 09f2bf85e6fecdb88195d35271d62c9bc5ff4637 Mon Sep 17 00:00:00 2001 From: jim-p Date: Mon, 7 Jun 2010 11:53:58 -0400 Subject: [PATCH 01/13] Honor GUI configured DNS settings for PPTP/PPPoE/L2TP if present. --- etc/inc/vpn.inc | 50 +++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/etc/inc/vpn.inc b/etc/inc/vpn.inc index f38a0ff486..a98969d4aa 100644 --- a/etc/inc/vpn.inc +++ b/etc/inc/vpn.inc @@ -1065,18 +1065,20 @@ EOD; if (isset($pptpdcfg["wins"]) && $pptpdcfg['wins'] != "") $mpdconf .= " set ipcp nbns {$pptpdcfg['wins']}\n"; - if (is_array($pptpdcfg['dnsserver']) && ($pptpdcfg['dnsserver'][0])) { - $mpdconf .= " set ipcp dns " . join(" ", $pptpdcfg['dnsserver']) . "\n"; - } else - if (isset ($config['dnsmasq']['enable'])) { - $mpdconf .= " set ipcp dns " . get_interface_ip("lan"); - if ($syscfg['dnsserver'][0]) - $mpdconf .= " " . $syscfg['dnsserver'][0]; - $mpdconf .= "\n"; - } else - if (is_array($syscfg['dnsserver']) && ($syscfg['dnsserver'][0])) { - $mpdconf .= " set ipcp dns " . join(" ", $syscfg['dnsserver']) . "\n"; - } + + if (!empty($pptpdcfg['dns1'])) { + $mpdconf .= " set ipcp dns " . $pptpdcfg['dns1']; + if (!empty($pptpdcfg['dns2'])) + $mpdconf .= " " . $pptpdcfg['dns2']; + $mpdconf .= "\n"; + } elseif (isset ($config['dnsmasq']['enable'])) { + $mpdconf .= " set ipcp dns " . get_interface_ip("lan"); + if ($syscfg['dnsserver'][0]) + $mpdconf .= " " . $syscfg['dnsserver'][0]; + $mpdconf .= "\n"; + } elseif (is_array($syscfg['dnsserver']) && ($syscfg['dnsserver'][0])) { + $mpdconf .= " set ipcp dns " . join(" ", $syscfg['dnsserver']) . "\n"; + } if (isset ($pptpdcfg['radius']['server']['enable'])) { $authport = (isset($pptpdcfg['radius']['server']['port']) && strlen($pptpdcfg['radius']['server']['port']) > 1) ? $pptpdcfg['radius']['server']['port'] : 1812; @@ -1274,15 +1276,19 @@ pppoe_standart: EOD; - if (isset ($config['dnsmasq']['enable'])) { + if (!empty($pppoecfg['dns1'])) { + $mpdconf .= " set ipcp dns " . $pppoecfg['dns1']; + if (!empty($pppoecfg['dns2'])) + $mpdconf .= " " . $pppoecfg['dns2']; + $mpdconf .= "\n"; + } elseif (isset ($config['dnsmasq']['enable'])) { $mpdconf .= " set ipcp dns " . get_interface_ip("lan"); if ($syscfg['dnsserver'][0]) $mpdconf .= " " . $syscfg['dnsserver'][0]; $mpdconf .= "\n"; - } else - if (is_array($syscfg['dnsserver']) && ($syscfg['dnsserver'][0])) { + } elseif (is_array($syscfg['dnsserver']) && ($syscfg['dnsserver'][0])) { $mpdconf .= " set ipcp dns " . join(" ", $syscfg['dnsserver']) . "\n"; - } + } if (isset ($pppoecfg['radius']['enable'])) { $mpdconf .=<< Date: Mon, 7 Jun 2010 12:02:21 -0400 Subject: [PATCH 02/13] Fix some typos/omissions. --- usr/local/www/vpn_pppoe.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr/local/www/vpn_pppoe.php b/usr/local/www/vpn_pppoe.php index d95302e768..931d15de64 100755 --- a/usr/local/www/vpn_pppoe.php +++ b/usr/local/www/vpn_pppoe.php @@ -214,7 +214,7 @@ function enable_change(enable_over) { document.iform.radius_nasip.disabled = 0; document.iform.radiusissueips.disabled = 0; document.iform.radius_nasip.disabled = 0; - document.iform.radius_acct_update = 0; + document.iform.radius_acct_update.disabled = 0; document.iform.radiussecenable.disabled = 0; if (document.iform.radiussecenable.checked || enable_over) { document.iform.radiusserver2.disabled = 0; @@ -236,7 +236,7 @@ function enable_change(enable_over) { document.iform.radiusserveracctport.disabled = 1; document.iform.radiusissueips.disabled = 1; document.iform.radius_nasip.disabled = 1; - document.iform.radius_acct_update = 1; + document.iform.radius_acct_update.disabled = 1; document.iform.radiussecenable.disabled = 1; } } else { @@ -260,7 +260,7 @@ function enable_change(enable_over) { document.iform.radiusserver2acctport.disabled = 1; document.iform.radiusissueips.disabled = 1; document.iform.radius_nasip.disabled = 1; - document.iform.radius_acct_update = 1; + document.iform.radius_acct_update.disabled = 1; } } //--> @@ -366,7 +366,7 @@ function enable_change(enable_over) { DNS servers - +

From beb7b8140c31f2c99166d00575fd5da2772168e8 Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 7 Jun 2010 19:17:00 +0000 Subject: [PATCH 03/13] Correctly control status of gateways. These code is tripled in these pages not sure what is the best solution. --- usr/local/www/status_gateway_groups.php | 39 ++++++-------- usr/local/www/status_gateways.php | 52 ++++++------------- .../www/widgets/widgets/gateways.widget.php | 51 +++++++----------- 3 files changed, 53 insertions(+), 89 deletions(-) diff --git a/usr/local/www/status_gateway_groups.php b/usr/local/www/status_gateway_groups.php index 353f0252be..d4f0d857f5 100755 --- a/usr/local/www/status_gateway_groups.php +++ b/usr/local/www/status_gateway_groups.php @@ -116,29 +116,24 @@ include("head.inc"); echo ""; $c = 1; while($c <= $priority_count) { + $monitor = lookup_gateway_monitor_ip_by_name($member); if($p == $c) { - $monitor = lookup_gateway_monitor_ip_by_name($member); - switch($gateways_status[$monitor]['status']) { - case "None": - $online = "Online"; - $bgcolor = "lightgreen"; - break; - case "\"down\"": - $online = "Offline"; - $bgcolor = "lightcoral"; - break; - case "\"delay\"": - $online = "Latency"; - $bgcolor = "khaki"; - break; - case "\"loss\"": - $online = "Packetloss"; - $bgcolor = "khaki"; - break; - default: - $online = "Unknown"; - $bgcolor = "lightblue"; - break; + $status = $gateways_status[$monitor]['status']; + if (stristr($status, "down")) { + $online = "Offline"; + $bgcolor = "lightcoral"; + } elseif (stristr($status, "loss")) { + $online = "Warning, Packetloss"; + $bgcolor = "khaki"; + } elseif (stristr($status, "delay")) { + $online = "Warning, Latency"; + $bgcolor = "khaki"; + } elseif (stristr($status, "none")) { + $online = "Online"; + $bgcolor = "lightgreen"; + } else { + $online = "Unknown"; + $bgcolor = "lightblue"; } echo "". htmlspecialchars($member) .", $online"; } else { diff --git a/usr/local/www/status_gateways.php b/usr/local/www/status_gateways.php index fa9aa72f2a..eca1eec885 100755 --- a/usr/local/www/status_gateways.php +++ b/usr/local/www/status_gateways.php @@ -42,7 +42,6 @@ require("guiconfig.inc"); $a_gateways = return_gateways_array(); - $gateways_status = array(); $gateways_status = return_gateways_status(); @@ -76,8 +75,7 @@ include("head.inc"); Status Description - @@ -92,35 +90,21 @@ include("head.inc"); "; + echo ""; ?>
$online "; - $lastchange = $gateways_status[$monitor]['lastcheck']; + echo "
$online "; + $lastchange = $gateway['lastcheck']; if(!empty($lastchange)) { $lastchange = explode(" ", $lastchange); array_shift($lastchange); @@ -130,13 +114,11 @@ include("head.inc"); } else { print "Gathering data"; } - PRINT "
- - - + diff --git a/usr/local/www/widgets/widgets/gateways.widget.php b/usr/local/www/widgets/widgets/gateways.widget.php index 7d675701a4..a9ba45ffd3 100644 --- a/usr/local/www/widgets/widgets/gateways.widget.php +++ b/usr/local/www/widgets/widgets/gateways.widget.php @@ -30,8 +30,6 @@ require_once("guiconfig.inc"); require_once("pfsense-utils.inc"); require_once("functions.inc"); -$a_gateways = return_gateways_array(); - $gateways_status = array(); $gateways_status = return_gateways_status(); @@ -46,13 +44,13 @@ $counter = 1; Loss Status - + + if(empty($monitor)) { + $monitor = $gateway['gateway']; + } + ?> @@ -73,30 +71,20 @@ $counter = 1; \" > "; $counter++; ?> @@ -104,7 +92,6 @@ $counter = 1;
$online
From 4b4be09e1da47dfbe789818cc25e74c6e092f601 Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 7 Jun 2010 20:34:51 +0000 Subject: [PATCH 04/13] Actually show other data with gateways status. --- usr/local/www/status_gateways.php | 6 +++--- usr/local/www/widgets/widgets/gateways.widget.php | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/usr/local/www/status_gateways.php b/usr/local/www/status_gateways.php index eca1eec885..8ca69f6690 100755 --- a/usr/local/www/status_gateways.php +++ b/usr/local/www/status_gateways.php @@ -75,17 +75,17 @@ include("head.inc"); Status Description - $gateway) { ?> - + - + diff --git a/usr/local/www/widgets/widgets/gateways.widget.php b/usr/local/www/widgets/widgets/gateways.widget.php index a9ba45ffd3..c2f5645f6e 100644 --- a/usr/local/www/widgets/widgets/gateways.widget.php +++ b/usr/local/www/widgets/widgets/gateways.widget.php @@ -30,6 +30,7 @@ require_once("guiconfig.inc"); require_once("pfsense-utils.inc"); require_once("functions.inc"); +$a_gateways = return_gateways_array(); $gateways_status = array(); $gateways_status = return_gateways_status(); @@ -44,9 +45,9 @@ $counter = 1; - + $gateway) { ?>
Loss Status
- + - + - + \" > From 5a5447ababab25d6eb2bc849d21d5850d425d0b9 Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 7 Jun 2010 20:52:32 +0000 Subject: [PATCH 05/13] Correctly check when to actually save dynamic gateways or not. --- usr/local/www/system_gateways_edit.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr/local/www/system_gateways_edit.php b/usr/local/www/system_gateways_edit.php index 69cc405f97..700ba41a80 100755 --- a/usr/local/www/system_gateways_edit.php +++ b/usr/local/www/system_gateways_edit.php @@ -193,8 +193,12 @@ if ($_POST) { if (!$input_errors) { $reloadif = false; + $save = false; + if ($_POST['weight'] > 1 || $_POST['latencylow'] || $_POST['latencyhigh'] || $_POST['losslow'] || $_POST['losshigh'] || $_POST['down'] || + $_POST['defaultgw']) + $save = true; /* if we are processing a system gateway only save the monitorip */ - if ($_POST['weight'] == 1 && (($_POST['attribute'] == "system" && empty($_POST['defaultgw'])) || (empty($_POST['interface']) && empty($_POST['gateway']) && empty($_POST['defaultgw'])))) { + if (!$save && empty($_POST['interface']) && empty($_POST['gateway'])) { if (is_ipaddr($_POST['monitor'])) { if (empty($_POST['interface'])) $interface = $pconfig['friendlyiface']; From 571f89a2d0368e220aa38a9d7b1478a7ae356b9b Mon Sep 17 00:00:00 2001 From: Scott Ullrich Date: Mon, 7 Jun 2010 16:53:27 -0400 Subject: [PATCH 06/13] Binaries should be in the git repo --- usr/local/sbin/apinger | Bin 51980 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 usr/local/sbin/apinger diff --git a/usr/local/sbin/apinger b/usr/local/sbin/apinger deleted file mode 100755 index 5fd541c51279c603ca846819dca111cb41077810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51980 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 z Date: Mon, 7 Jun 2010 16:54:11 -0400 Subject: [PATCH 07/13] Binaries should not be in the git repo --- usr/local/sbin/kbdcheck | Bin 3368 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 usr/local/sbin/kbdcheck diff --git a/usr/local/sbin/kbdcheck b/usr/local/sbin/kbdcheck deleted file mode 100755 index 500fc1c964089f6956b1ab92dda6ab05fe07991c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3368 zcmcgu-ES0C6u*T<7N}CN4JaCiq{O1_>@NLug9Q4;M+y{50Y$Rek7;+??aXFo+O)(E zWU0wgF>691#IF+k14uN6=u1f(2@fWKCO*gm51I^VABrJLB60owX7=K0XyD0{{p~sD zo^#JV_ug~wop(CAI?Kw+mWd)Q5{pF{szjxD0`0Ul9ET4u z37J>|_<+U0j|6N)6=Z@o#wJ{XO#oY$3PG^HsPOD=+efeg4x0Vw#Bpg~1lA4zZrF&k z&TS1Nut0YIU zt|dp2K1YtCRmf4u)#NDl>|D9?Ci**TP_@~a@@d2@GzwS?8+`cZvK2OP6n8go-ztDM zaI_?Cx39T6M@{lb+@5lEj-Fgg{i3Tgi=;w*($$$wvW9xz)tOZ?Nd360GrMF9^$hgh z+^>fY_8`;jFY^;eeYu}b+n<(?|D0=N@xEO>(cvGTvY)@eQq5gHRd#a9uE=i=oZeSv zcjT^9AHH*m=LB9`5ap0Fh@jb-3dl*;t8)ap^V?sALifSb9scef=W7g|ovG}0_Q8_R zUC&i9`0SU?dg!xP^7%Y+%Fg+Zzv|Yry>hnY^oYn#`7Z2$U*X1ivWbfE8^g1g5K3TV zceE}vJLiu5`3FY-ZVCIAU7gPNx;}0|I94HUvX%?rdJlTu=kK8_tm|aF)y$ra&Q8xG z_d7xr^TI-9=hhC0pl4#GIHV>F{wi$Fpf2@DU$ z5<#IP3|&)2haQckQ+mJB+taEHYGW}YY90s~s4&%zzb3=>hbN8@g>8 zX{ByZ`6rsP*;8P&jI<^mov~ibxakoYe~z`|j^D*Xk>hB&;5)&)m+uT~j(6%D-a6i$ zH&6Kdd~4o+*XQT^as%L9&jTgjC%#F%EBUr;1^7(`|0;V-f3*waa>QzuUlNEkbl{ zTW- zrRc}{zlcs-A+s;PsThw3a1+2jJYPJ2^Kjs~kwiZdzlEfq5B2SXA@5qeKl%}WDGPtkl%pJHDNrSdwxHkEwQr?*G~iFxV-!w__-Gw+DS5Y8nX18hu{1H zepZPeU$1)$i>Pi} Date: Mon, 7 Jun 2010 16:54:46 -0400 Subject: [PATCH 08/13] Binaries should not be in the git repo --- usr/local/sbin/mdnsd | Bin 224971 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 usr/local/sbin/mdnsd diff --git a/usr/local/sbin/mdnsd b/usr/local/sbin/mdnsd deleted file mode 100755 index 0636247351b908662fe25870d80ab8ce14d7c084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224971 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 From ac7609c2b663693fbbaaba7de2d2a9ab906def07 Mon Sep 17 00:00:00 2001 From: Scott Ullrich Date: Mon, 7 Jun 2010 16:55:13 -0400 Subject: [PATCH 09/13] Binaries should not be in the git repo --- usr/local/sbin/grub-install1 | 484 ----------------------------------- 1 file changed, 484 deletions(-) delete mode 100755 usr/local/sbin/grub-install1 diff --git a/usr/local/sbin/grub-install1 b/usr/local/sbin/grub-install1 deleted file mode 100755 index 808a778aca..0000000000 --- a/usr/local/sbin/grub-install1 +++ /dev/null @@ -1,484 +0,0 @@ -#! /bin/sh - -# Install GRUB on your drive. -# Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Initialize some variables. -prefix=/usr/local -exec_prefix=${prefix} -sbindir=${exec_prefix}/sbin -libdir=/usr/local/share -PACKAGE=grub -VERSION=0.97 -host_cpu=i386 -host_os=freebsd7.0 -host_vendor=freebsd -pkglibdir=${libdir}/${PACKAGE}/${host_cpu}-${host_vendor} - -grub_shell=${sbindir}/grub -grub_set_default=${sbindir}/grub-set-default -log_file=/tmp/grub-install.log.$$ -img_file=/tmp/grub-install.img.$$ -rootdir= -grub_prefix=/boot/grub - -install_device= -no_floppy= -force_lba= -recheck=no -debug=no - -# look for secure tempfile creation wrappers on this platform -if test -x /bin/tempfile; then - mklog="/bin/tempfile --prefix=grub" - mkimg="/bin/tempfile --prefix=grub" -elif test -x /bin/mktemp; then - mklog="/bin/mktemp /tmp/grub-install.log.XXXXXX" - mkimg="/bin/mktemp /tmp/grub-install.img.XXXXXX" -else - mklog="" - mkimg="" -fi - -# Usage: usage -# Print the usage. -usage () { - cat <. -EOF -} - -# Usage: convert os_device -# Convert an OS device to the corresponding GRUB drive. -# This part is OS-specific. -convert () { - # First, check if the device file exists. - if test -e "$1"; then - : - else - echo "$1: Not found or not a block device." 1>&2 - exit 1 - fi - - # Break the device name into the disk part and the partition part. - case "$host_os" in - linux*) - tmp_disk=`echo "$1" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' \ - -e 's%\(d[0-9]*\)p[0-9]*$%\1%' \ - -e 's%\(fd[0-9]*\)$%\1%' \ - -e 's%/part[0-9]*$%/disc%' \ - -e 's%\(c[0-7]d[0-9]*\).*$%\1%'` - tmp_part=`echo "$1" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' \ - -e 's%.*d[0-9]*p%%' \ - -e 's%.*/fd[0-9]*$%%' \ - -e 's%.*/floppy/[0-9]*$%%' \ - -e 's%.*/\(disc\|part\([0-9]*\)\)$%\2%' \ - -e 's%.*c[0-7]d[0-9]*p%%'` - ;; - gnu*) - tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'` - tmp_part=`echo "$1" | sed "s%$tmp_disk%%"` ;; - freebsd[234]* | kfreebsd*-gnu) - tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([saw]d[0-9]*\).*$%r\1%' \ - | sed 's%r\{0,1\}\(da[0-9]*\).*$%r\1%'` - tmp_part=`echo "$1" \ - | sed "s%.*/r\{0,1\}[saw]d[0-9]\(s[0-9]*[a-h]\)%\1%" \ - | sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"` - ;; - freebsd[567]*) - tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([saw]d[0-9]*\).*$%\1%' \ - | sed 's%r\{0,1\}\(da[0-9]*\).*$%\1%'` - tmp_part=`echo "$1" \ - | sed "s%.*/r\{0,1\}[saw]d[0-9]\(s[0-9]*[a-h]\)%\1%" \ - | sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"` - ;; - netbsd* | knetbsd*-gnu) - tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([sw]d[0-9]*\).*$%r\1d%' \ - | sed 's%r\{0,1\}\(fd[0-9]*\).*$%r\1a%'` - tmp_part=`echo "$1" \ - | sed "s%.*/r\{0,1\}[sw]d[0-9]\([abe-p]\)%\1%"` - ;; - *) - echo "grub-install does not support your OS yet." 1>&2 - exit 1 ;; - esac - - # Get the drive name. - tmp_drive=`grep -v '^#' $device_map | grep "$tmp_disk *$" \ - | sed 's%.*\(([hf]d[0-9][a-g0-9,]*)\).*%\1%'` - - # If not found, print an error message and exit. - if test "x$tmp_drive" = x; then - echo "$1 does not have any corresponding BIOS drive." 1>&2 - exit 1 - fi - - if test "x$tmp_part" != x; then - # If a partition is specified, we need to translate it into the - # GRUB's syntax. - case "$host_os" in - linux*) - echo "$tmp_drive" | sed "s%)$%,`expr $tmp_part - 1`)%" ;; - gnu*) - if echo $tmp_part | grep "^s" >/dev/null; then - tmp_pc_slice=`echo $tmp_part \ - | sed "s%s\([0-9]*\)[a-g]*$%\1%"` - tmp_drive=`echo "$tmp_drive" \ - | sed "s%)%,\`expr "$tmp_pc_slice" - 1\`)%"` - fi - if echo $tmp_part | grep "[a-g]$" >/dev/null; then - tmp_bsd_partition=`echo "$tmp_part" \ - | sed "s%[^a-g]*\([a-g]\)$%\1%"` - tmp_drive=`echo "$tmp_drive" \ - | sed "s%)%,$tmp_bsd_partition)%"` - fi - echo "$tmp_drive" ;; - freebsd* | kfreebsd*-gnu) - if echo $tmp_part | grep "^s" >/dev/null; then - tmp_pc_slice=`echo $tmp_part \ - | sed "s%s\([0-9]*\)[a-h]*$%\1%"` - tmp_drive=`echo "$tmp_drive" \ - | sed "s%)%,\`expr "$tmp_pc_slice" - 1\`)%"` - fi - if echo $tmp_part | grep "[a-h]$" >/dev/null; then - tmp_bsd_partition=`echo "$tmp_part" \ - | sed "s%s\{0,1\}[0-9]*\([a-h]\)$%\1%"` - tmp_drive=`echo "$tmp_drive" \ - | sed "s%)%,$tmp_bsd_partition)%"` - fi - echo "$tmp_drive" ;; - netbsd* | knetbsd*-gnu) - if echo $tmp_part | grep "^[abe-p]$" >/dev/null; then - tmp_bsd_partition=`echo "$tmp_part" \ - | sed "s%\([a-p]\)$%\1%"` - tmp_drive=`echo "$tmp_drive" \ - | sed "s%)%,$tmp_bsd_partition)%"` - fi - echo "$tmp_drive" ;; - esac - else - # If no partition is specified, just print the drive name. - echo "$tmp_drive" - fi -} - -# Usage: resolve_symlink file -# Find the real file/device that file points at -resolve_symlink () { - tmp_fname=$1 - # Resolve symlinks - while test -L $tmp_fname; do - tmp_new_fname=`ls -al $tmp_fname | sed -n 's%.*-> \(.*\)%\1%p'` - if test -z "$tmp_new_fname"; then - echo "Unrecognized ls output" 2>&1 - exit 1 - fi - - # Convert relative symlinks - case $tmp_new_fname in - /*) tmp_fname="$tmp_new_fname" - ;; - *) tmp_fname="`echo $tmp_fname | sed 's%/[^/]*$%%'`/$tmp_new_fname" - ;; - esac - done - echo "$tmp_fname" -} - -# Usage: find_device file -# Find block device on which the file resides. -find_device () { - # For now, this uses the program `df' to get the device name, but is - # this really portable? - tmp_fname=`df $1/ | sed -n 's%.*\(/dev/[^ ]*\).*%\1%p'` - - if test -z "$tmp_fname"; then - echo "Could not find device for $1" 2>&1 - exit 1 - fi - - tmp_fname=`resolve_symlink $tmp_fname` - - echo "$tmp_fname" -} - -# Check the arguments. -for option in "$@"; do - case "$option" in - -h | --help) - usage - exit 0 ;; - -v | --version) - echo "grub-install (GNU GRUB ${VERSION})" - exit 0 ;; - --root-directory=*) - rootdir=`echo "$option" | sed 's/--root-directory=//'` ;; - --grub-shell=*) - grub_shell=`echo "$option" | sed 's/--grub-shell=//'` ;; - --no-floppy) - no_floppy="--no-floppy" ;; - --force-lba) - force_lba="--force-lba" ;; - --recheck) - recheck=yes ;; - # This is an undocumented feature... - --debug) - debug=yes ;; - -*) - echo "Unrecognized option \`$option'" 1>&2 - usage - exit 1 - ;; - *) - if test "x$install_device" != x; then - echo "More than one install_devices?" 1>&2 - usage - exit 1 - fi - install_device="${option}" ;; - esac -done - -if test "x$install_device" = x; then - echo "install_device not specified." 1>&2 - usage - exit 1 -fi - -# If the debugging feature is enabled, print commands. -if test $debug = yes; then - set -x -fi - -# Initialize these directories here, since ROOTDIR was initialized. -case "$host_os" in -netbsd* | openbsd*) - # Because /boot is used for the boot block in NetBSD and OpenBSD, use /grub - # instead of /boot/grub. - grub_prefix=/grub - bootdir=${rootdir} - ;; -*) - # Use /boot/grub by default. - bootdir=${rootdir}/boot - ;; -esac - -grubdir=${bootdir}/grub -device_map=${grubdir}/device.map - -# Check if GRUB is installed. -# This is necessary, because the user can specify "grub --read-only". -set $grub_shell dummy -if test -f "$1"; then - : -else - echo "$1: Not found." 1>&2 - exit 1 -fi - -if test -f "$pkglibdir/stage1"; then - : -else - echo "${pkglibdir}/stage1: Not found." 1>&2 - exit 1 -fi - -if test -f "$pkglibdir/stage2"; then - : -else - echo "${pkglibdir}/stage2: Not found." 1>&2 - exit 1 -fi - -# Don't check for *stage1_5, because it is not fatal even if any -# Stage 1.5 does not exist. - -# Create the GRUB directory if it is not present. -test -d "$bootdir" || mkdir "$bootdir" || exit 1 -test -d "$grubdir" || mkdir "$grubdir" || exit 1 - -# If --recheck is specified, remove the device map, if present. -if test $recheck = yes; then - rm -f $device_map -fi - -# Create the device map file if it is not present. -if test -f "$device_map"; then - : -else - # Create a safe temporary file. - test -n "$mklog" && log_file=`$mklog` - - $grub_shell --batch $no_floppy --device-map=$device_map <$log_file -quit -EOF - if grep "Error [0-9]*: " $log_file >/dev/null; then - cat $log_file 1>&2 - exit 1 - fi - - rm -f $log_file -fi - -# Make sure that there is no duplicated entry. -tmp=`sed -n '/^([fh]d[0-9]*)/s/\(^(.*)\).*/\1/p' $device_map \ - | sort | uniq -d | sed -n 1p` -if test -n "$tmp"; then - echo "The drive $tmp is defined multiple times in the device map $device_map" 1>&2 - exit 1 -fi - -# Check for INSTALL_DEVICE. -case "$install_device" in -/dev/*) - install_device=`resolve_symlink "$install_device"` - install_drive=`convert "$install_device"` - # I don't know why, but some shells wouldn't die if exit is - # called in a function. - if test "x$install_drive" = x; then - exit 1 - fi ;; -\([hf]d[0-9]*\)) - install_drive="$install_device" ;; -[hf]d[0-9]*) - # The GRUB format with no parenthesis. - install_drive="($install_device)" ;; -*) - echo "Format of install_device not recognized." 1>&2 - usage - exit 1 ;; -esac - -# Get the root drive. -root_device=`find_device ${rootdir}` -bootdir_device=`find_device ${bootdir}` - -# Check if the boot directory is in the same device as the root directory. -if test "x$root_device" != "x$bootdir_device"; then - # Perhaps the user has a separate boot partition. - root_device=$bootdir_device - grub_prefix="/grub" -fi - -# Convert the root device to a GRUB drive. -root_drive=`convert "$root_device"` -if test "x$root_drive" = x; then - exit 1 -fi - -# Check if the root directory exists in the same device as the grub -# directory. -grubdir_device=`find_device ${grubdir}` - -if test "x$grubdir_device" != "x$root_device"; then - # For now, cannot deal with this situation. - cat <&2 -You must set the root directory by the option --root-directory, because -$grubdir does not exist in the root device $root_device. -EOF - exit 1 -fi - -# Copy the GRUB images to the GRUB directory. -for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do - rm -f $file || exit 1 -done -for file in \ - ${pkglibdir}/stage1 ${pkglibdir}/stage2 ${pkglibdir}/*stage1_5; do - cp -f $file ${grubdir} || exit 1 -done - -# Make a default file. -${grub_set_default} --root-directory=${rootdir} default - -# Make sure that GRUB reads the same images as the host OS. -test -n "$mkimg" && img_file=`$mkimg` -test -n "$mklog" && log_file=`$mklog` - -for file in ${grubdir}/stage1 ${grubdir}/stage2 ${grubdir}/*stage1_5; do - count=5 - tmp=`echo $file | sed "s|^${grubdir}|${grub_prefix}|"` - while test $count -gt 0; do - $grub_shell --batch $no_floppy --device-map=$device_map <$log_file -dump ${root_drive}${tmp} ${img_file} -quit -EOF - if grep "Error [0-9]*: " $log_file >/dev/null; then - : - elif cmp $file $img_file >/dev/null; then - break - fi - sleep 1 - count=`expr $count - 1` - done - if test $count -eq 0; then - echo "The file $file not read correctly." 1>&2 - echo - fi -done - -rm -f $img_file -rm -f $log_file - -# Create a safe temporary file. -test -n "$mklog" && log_file=`$mklog` - -# Now perform the installation. -$grub_shell --batch $no_floppy --device-map=$device_map <$log_file -root $root_drive -setup $force_lba --stage2=$grubdir/stage2 --prefix=$grub_prefix $install_drive -quit -EOF - -if grep "Error [0-9]*: " $log_file >/dev/null || test $debug = yes; then - cat $log_file 1>&2 - exit 1 -fi - -rm -f $log_file - -# Prompt the user to check if the device map is correct. -echo "Installation finished. No error reported." -echo "This is the contents of the device map $device_map." -echo "Check if this is correct or not. If any of the lines is incorrect," -echo "fix it and re-run the script \`grub-install'." -echo - -cat $device_map - -# Bye. -exit 0 From 66a96e72c06a808f75b8c87ef80aea0c0f95d946 Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 7 Jun 2010 21:07:47 +0000 Subject: [PATCH 10/13] Reorganize code to be able to actually use the lookup_gateway_ip_by_name() function to find even dynamic gateways ip. --- etc/inc/gwlb.inc | 25 ++++++++++--------- usr/local/www/status_gateways.php | 2 +- .../www/widgets/widgets/gateways.widget.php | 3 +-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc index 70bfd52f0f..99fcfa3943 100644 --- a/etc/inc/gwlb.inc +++ b/etc/inc/gwlb.inc @@ -458,19 +458,15 @@ function dhclient_update_gateway_groups_defaultroute($interface = "wan") { } function lookup_gateway_ip_by_name($name) { - global $config; - if(is_array($config['gateways']['gateway_item'])) { - foreach($config['gateways']['gateway_item'] as $gateway) { - if($gateway['name'] == $name) - return ($gateway['gateway']); - } - } else - return (false); + $gateways_arr = return_gateways_array(); + if (!empty($gateways_arr[$name])) + return $gateways_arr[$name]['gateway']; + + return false; } function lookup_gateway_monitor_ip_by_name($name) { - global $config; $gateways_arr = return_gateways_array(); if (!empty($gateways_arr[$name])) { @@ -489,7 +485,6 @@ function lookup_gateway_monitor_ip_by_name($name) { } function lookup_gateway_interface_by_name($name) { - global $config; $gateways_arr = return_gateways_array(); if (!empty($gateways_arr[$name])) { @@ -509,8 +504,14 @@ function get_interface_gateway($interface, &$dynamic = false) { $gwcfg = $config['interfaces'][$interface]; if (is_ipaddr($gwcfg['gateway'])) $gw = $gwcfg['gateway']; - else if (!empty($gwcfg['gateway'])) - $gw = lookup_gateway_ip_by_name($gwcfg['gateway']); + else if (!empty($gwcfg['gateway']) && is_array($config['gateways']['gateway_item'])) { + foreach($config['gateways']['gateway_item'] as $gateway) { + if ($gateway['name'] == $gwcfg['gateway']) { + $gw = $gateway['gateway']; + break; + } + } + } // for dynamic interfaces we handle them through the $interface_router file. if (!is_ipaddr($gw) && !is_ipaddr($gwcfg['ipaddr'])) { diff --git a/usr/local/www/status_gateways.php b/usr/local/www/status_gateways.php index 8ca69f6690..125100b905 100755 --- a/usr/local/www/status_gateways.php +++ b/usr/local/www/status_gateways.php @@ -82,7 +82,7 @@ include("head.inc"); - + diff --git a/usr/local/www/widgets/widgets/gateways.widget.php b/usr/local/www/widgets/widgets/gateways.widget.php index c2f5645f6e..b8bca28c5d 100644 --- a/usr/local/www/widgets/widgets/gateways.widget.php +++ b/usr/local/www/widgets/widgets/gateways.widget.php @@ -30,7 +30,6 @@ require_once("guiconfig.inc"); require_once("pfsense-utils.inc"); require_once("functions.inc"); -$a_gateways = return_gateways_array(); $gateways_status = array(); $gateways_status = return_gateways_status(); @@ -58,7 +57,7 @@ $counter = 1; - + From de42da413f7c863b4c662d48524f5cb99ec6cf9a Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 7 Jun 2010 21:17:30 +0000 Subject: [PATCH 11/13] Show some sensible defaults for delay and loss. --- etc/inc/gwlb.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc index 99fcfa3943..0f09f8c66a 100644 --- a/etc/inc/gwlb.inc +++ b/etc/inc/gwlb.inc @@ -256,8 +256,8 @@ function return_gateways_status() { $target = $info[0]; $status[$target]['name'] = $info[1]; $status[$target]['lastcheck'] = $info[4] ? date('r', $info[4]) : date('r'); - $status[$target]['delay'] = $info[5]; - $status[$target]['loss'] = $info[6]; + $status[$target]['delay'] = empty(trim($info[5])) ? 0 : $info[5]; + $status[$target]['loss'] = empty(trim($info[6])) ? 0.0 : $info[6]; $status[$target]['status'] = trim($info[7]); } return($status); From 9ae7d46f5dc6d6e27cb0fd21a3ecd82d1dcd7593 Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 7 Jun 2010 21:24:37 +0000 Subject: [PATCH 12/13] Catch up with php limits. --- etc/inc/gwlb.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc index 0f09f8c66a..54ab350491 100644 --- a/etc/inc/gwlb.inc +++ b/etc/inc/gwlb.inc @@ -256,8 +256,8 @@ function return_gateways_status() { $target = $info[0]; $status[$target]['name'] = $info[1]; $status[$target]['lastcheck'] = $info[4] ? date('r', $info[4]) : date('r'); - $status[$target]['delay'] = empty(trim($info[5])) ? 0 : $info[5]; - $status[$target]['loss'] = empty(trim($info[6])) ? 0.0 : $info[6]; + $status[$target]['delay'] = empty($info[5]) ? 0 : $info[5]; + $status[$target]['loss'] = empty($info[6]) ? 0.0 : $info[6]; $status[$target]['status'] = trim($info[7]); } return($status); From f4a17fcfe7b77fec9b0f8752e2a5c3430e8e6dbd Mon Sep 17 00:00:00 2001 From: Ermal Date: Mon, 7 Jun 2010 21:32:47 +0000 Subject: [PATCH 13/13] Be consistent on % for loss state. --- etc/inc/gwlb.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc index 54ab350491..cbb9055575 100644 --- a/etc/inc/gwlb.inc +++ b/etc/inc/gwlb.inc @@ -257,7 +257,7 @@ function return_gateways_status() { $status[$target]['name'] = $info[1]; $status[$target]['lastcheck'] = $info[4] ? date('r', $info[4]) : date('r'); $status[$target]['delay'] = empty($info[5]) ? 0 : $info[5]; - $status[$target]['loss'] = empty($info[6]) ? 0.0 : $info[6]; + $status[$target]['loss'] = empty($info[6]) ? "0.0%" : $info[6] . "%"; $status[$target]['status'] = trim($info[7]); } return($status);