mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Introduce read_global_var:
- Add a new script, read_global_var, that returns the value of any item contained in global array $g - Replace all grep and sed magic from shell scripts
This commit is contained in:
parent
3ece711605
commit
e4121dde00
25
src/etc/rc
25
src/etc/rc
@ -25,17 +25,9 @@ PLATFORM=`/bin/cat /etc/platform`
|
||||
# Set our current version
|
||||
version=`/bin/cat /etc/version`
|
||||
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
product=$(cat ${globals_inc} | \
|
||||
grep product_name | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
|
||||
# product cannot be blank
|
||||
product=${product:-"pfSense"}
|
||||
# Read product_name from $g, defaults to pfSense
|
||||
# Use php -n here because we are not ready to load extensions yet
|
||||
product=$(/usr/local/bin/php -n /usr/local/sbin/read_global_var product_name pfSense)
|
||||
|
||||
# Setup dumpdev/ddb/savecore"
|
||||
echo "Configuring crash dumps..."
|
||||
@ -148,17 +140,16 @@ if [ "$CDDEVICE" != "" ]; then
|
||||
cdcontrol -f /dev/"$CDDEVICE" eject
|
||||
fi
|
||||
|
||||
varrunpath=$(cat ${globals_inc} | \
|
||||
grep varrun_path | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
# Use php -n here because we are not ready to load extensions yet
|
||||
varrunpath=$(/usr/local/bin/php -n /usr/local/sbin/read_global_var varrun_path "/var/run")
|
||||
|
||||
if [ "$PLATFORM" = "${product}" ] && [ "${USE_MFS_TMPVAR}" != "true" ]; then
|
||||
/sbin/mdmfs -S -M -s 4m md $varrunpath
|
||||
fi
|
||||
|
||||
hideplatform=$(egrep -c 'hideplatform.*=>* *true' ${globals_inc} 2>/dev/null)
|
||||
if [ "$hideplatform" -gt "0" ]; then
|
||||
# Use php -n here because we are not ready to load extensions yet
|
||||
hideplatform=$(/usr/local/bin/php -n /usr/local/sbin/read_global_var hideplatform)
|
||||
if [ "$hideplatform" = "true" ]; then
|
||||
platformbanner="" # hide the platform
|
||||
else
|
||||
platformbanner=" on the '${PLATFORM}' platform"
|
||||
|
||||
@ -10,17 +10,8 @@ FMBASEURL=$1
|
||||
FMFILENAME=$2
|
||||
FETCHFILENAME=$1/$2
|
||||
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
product=$(cat ${globals_inc} | \
|
||||
grep product_name | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
|
||||
# product cannot be blank
|
||||
product=${product:-"pfSense"}
|
||||
# Read product_name from $g, defaults to pfSense
|
||||
product=$(/usr/local/sbin/read_global_var product_name pfSense)
|
||||
|
||||
# wait 5 seconds before beginning
|
||||
sleep 5
|
||||
|
||||
@ -44,17 +44,8 @@ fi
|
||||
|
||||
/etc/rc.banner
|
||||
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
product=$(cat ${globals_inc} | \
|
||||
grep product_name | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
|
||||
# product cannot be blank
|
||||
product=${product:-"pfSense"}
|
||||
# Read product_name from $g, defaults to pfSense
|
||||
product=$(/usr/local/sbin/read_global_var product_name pfSense)
|
||||
|
||||
# Check to see if SSH is running.
|
||||
if pgrep -q -a -F /var/run/sshd.pid sshd >/dev/null 2>&1; then
|
||||
|
||||
@ -76,16 +76,7 @@ fi
|
||||
|
||||
# Set upload directory
|
||||
if [ "$PLATFORM" = "nanobsd" ]; then
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
UPLOADTMPDIR=$(cat ${globals_inc} | \
|
||||
grep upload_path | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
|
||||
UPLOADTMPDIR=${UPLOADTMPDIR:-"/root"}
|
||||
UPLOADTMPDIR=$(/usr/local/sbin/read_global_var upload_path "/root")
|
||||
else
|
||||
UPLOADTMPDIR="/tmp"
|
||||
fi
|
||||
@ -177,20 +168,8 @@ if [ -z "${TIMEZONE}" ]; then
|
||||
fi
|
||||
|
||||
if [ -z "${TIMEZONE}" ]; then
|
||||
# Last option, use default value
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
TIMEZONE=$(cat ${globals_inc} | \
|
||||
grep default_timezone | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
fi
|
||||
|
||||
if [ -z "${TIMEZONE}" ]; then
|
||||
# It it's still blank, lets avoid PHP errors
|
||||
TIMEZONE="Etc/UTC"
|
||||
# Last option, use default value from $g or Etc/UTC
|
||||
TIMEZONE=$(/usr/local/sbin/read_global_var default_timezone "Etc/UTC")
|
||||
fi
|
||||
|
||||
# Get a loaded module list in the stock php
|
||||
|
||||
@ -9,17 +9,8 @@ fi
|
||||
|
||||
sleep 1
|
||||
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
product=$(cat ${globals_inc} | \
|
||||
grep product_name | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
|
||||
# product cannot be blank
|
||||
product=${product:-"pfSense"}
|
||||
# Read product_name from $g, defaults to pfSense
|
||||
product=$(/usr/local/sbin/read_global_var product_name pfSense)
|
||||
|
||||
# If PLATFORM is $product then remove
|
||||
# temporary files on shutdown from /tmp/
|
||||
|
||||
@ -5,17 +5,8 @@ if ! /usr/bin/lockf -s -t 30 /tmp/config.lock /usr/bin/true; then
|
||||
exit -1
|
||||
fi
|
||||
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
product=$(cat ${globals_inc} | \
|
||||
grep product_name | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
|
||||
# product cannot be blank
|
||||
product=${product:-"pfSense"}
|
||||
# Read product_name from $g, defaults to pfSense
|
||||
product=$(/usr/local/sbin/read_global_var product_name pfSense)
|
||||
|
||||
echo
|
||||
echo "${product} is now shutting down ..."
|
||||
|
||||
31
src/usr/local/sbin/read_global_var
Executable file
31
src/usr/local/sbin/read_global_var
Executable file
@ -0,0 +1,31 @@
|
||||
#!/usr/local/bin/php -f
|
||||
<?php
|
||||
|
||||
if (empty(ini_get("date.timezone"))) {
|
||||
ini_set("date.timezone", "Etc/UTC");
|
||||
}
|
||||
|
||||
require_once("/etc/inc/globals.inc");
|
||||
|
||||
global $g;
|
||||
|
||||
if (!isset($argv[1]) || empty($argv[1])) {
|
||||
exit;
|
||||
}
|
||||
|
||||
if (isset($g[$argv[1]])) {
|
||||
if (is_bool($g[$argv[1]])) {
|
||||
if ($g[$argv[1]] == true) {
|
||||
echo "true\n";
|
||||
} else {
|
||||
echo "false\n";
|
||||
}
|
||||
} else {
|
||||
echo $g[$argv[1]] . "\n";
|
||||
}
|
||||
} else if (isset($argv[2]) && !empty($argv[2])) {
|
||||
// Print default value
|
||||
echo "$argv[2]\n";
|
||||
}
|
||||
|
||||
?>
|
||||
@ -15,18 +15,9 @@ if [ ! -f "$config" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get xml_rootobj
|
||||
globals_inc="/etc/inc/globals.inc"
|
||||
if [ -f /etc/inc/globals_override.inc ]; then
|
||||
globals_inc="/etc/inc/globals_override.inc ${globals_inc}"
|
||||
fi
|
||||
xml_rootobj=$(cat ${globals_inc} | \
|
||||
grep xml_rootobj | \
|
||||
head -n 1 | \
|
||||
sed 's/^.*=>* *//; s/["\;,]*//g')
|
||||
# Get xml_rootobj, if not defined defaults to pfsense
|
||||
# Use php -n here because we are not ready to load extensions yet
|
||||
xml_rootobj=$(/usr/local/bin/php -n /usr/local/sbin/read_global_var xml_rootobj pfsense 2>/dev/null)
|
||||
|
||||
# defaults to pfsense
|
||||
xml_rootobj=${product:-"pfsense"}
|
||||
|
||||
/usr/local/bin/xmllint --xpath "${type}(//${xml_rootobj}/${path})" ${config}
|
||||
/usr/local/bin/xmllint --xpath "${type}(//${xml_rootobj}/${path})" ${config} 2>/dev/null
|
||||
exit $?
|
||||
|
||||
Loading…
Reference in New Issue
Block a user