summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2015-07-29 23:02:29 -0500
committerChris Buechler <cmb@pfsense.org>2015-07-29 23:02:29 -0500
commitedd4c038a262e029e631a391e90b64597f5b723e (patch)
tree4329ae46b161581976561f69a93f2d9ff90c4b6a /etc
parent33697d18572e8f3f320b0627101e663710fa3dba (diff)
downloadpfsense-edd4c038a262e029e631a391e90b64597f5b723e.zip
pfsense-edd4c038a262e029e631a391e90b64597f5b723e.tar.gz
sync rc.firmware_auto with master
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.firmware_auto93
1 files changed, 40 insertions, 53 deletions
diff --git a/etc/rc.firmware_auto b/etc/rc.firmware_auto
index be5da91..1e604a3 100755
--- a/etc/rc.firmware_auto
+++ b/etc/rc.firmware_auto
@@ -1,5 +1,9 @@
#!/bin/sh
+# /etc/rc.firmware_auto
+# Copyright (C) 2005-2015 Electric Sheep Fencing LLC
+# Part of pfSense
+
# $Id$
FMBASEURL=$1
@@ -20,69 +24,52 @@ if [ $# -gt 3 ]; then
HTTP_AUTH="basic:*:$3:$4"
fi
-#echo "Downloading $FMFILENAME from $FMBASEURL ..." | logger -p daemon.info -i -t AutoUpgrade
-#/usr/bin/fetch -o /tmp/latest.tgz $FETCHFILENAME | logger -p daemon.info -i -t AutoUpgrade
-#echo "Downloading $FMFILENAME.md5 from $FMBASEURL ..." | logger -p daemon.info -i -t AutoUpgrade
-#/usr/bin/fetch -o /tmp/latest.tgz.md5 $FETCHFILENAME.md5 | logger -p daemon.info -i -t AutoUpgrade
+if [ $# -gt 1 ]; then
+ echo "Downloading $FMFILENAME from $FMBASEURL ..." | logger -p daemon.info -i -t AutoUpgrade
+ /usr/bin/fetch -o /tmp/latest.tgz $FETCHFILENAME | logger -p daemon.info -i -t AutoUpgrade
+ echo "Downloading $FMFILENAME.sha256 from $FMBASEURL ..." | logger -p daemon.info -i -t AutoUpgrade
+ /usr/bin/fetch -o /tmp/latest.tgz.sha256 $FETCHFILENAME.sha256 | logger -p daemon.info -i -t AutoUpgrade
+fi
-PMD=`/bin/cat /tmp/latest.tgz.md5 | cut -d" " -f4 `
-MD=`/sbin/md5 /tmp/latest.tgz | cut -d" " -f4`
+DLHASH=`/bin/cat /tmp/latest.tgz.sha256 | cut -d" " -f4 `
+FILEHASH=`/sbin/sha256 /tmp/latest.tgz | cut -d" " -f4`
PLATFORM=`cat /etc/platform`
-echo " Package MD5: ${PMD}" | logger -p daemon.info -i -t AutoUpgrade
-echo "Downloaded MD5: ${MD}" | logger -p daemon.info -i -t AutoUpgrade
+echo " Package sha256: ${DLHASH}" | logger -p daemon.info -i -t AutoUpgrade
+echo "Downloaded sha256: ${FILEHASH}" | logger -p daemon.info -i -t AutoUpgrade
-if [ "$PMD" = "" ]; then
- echo "Package MD5 is null md5. Require proxy auth?" | logger -p daemon.info -i -t AutoUpgrade
- exit 1
+if [ "$DLHASH" = "" ]; then
+ echo "Downloaded sha256 is null. Require proxy auth?" | logger -p daemon.info -i -t AutoUpgrade
+ exit 1
fi
-if [ "$MD" = "" ]; then
- echo "Downloaded MD5 is null md5. Require proxy auth?" | logger -p daemon.info -i -t AutoUpgrade
- exit 1
+if [ "$FILEHASH" = "" ]; then
+ echo "Downloaded file's sha256 is null." | logger -p daemon.info -i -t AutoUpgrade
+ exit 1
fi
-if [ "$PMD" = "$MD" ]; then
- echo "MD5's match." | logger -p daemon.info -i -t AutoUpgrade
- echo "Beginning ${product} upgrade." | wall
- if [ "$PLATFORM" = "net45xx" ]; then
- /usr/local/bin/php /etc/rc.conf_mount_rw
- fi
- if [ "$PLATFORM" = "wrap" ]; then
- /usr/local/bin/php /etc/rc.conf_mount_rw
- fi
- if [ "$PLATFORM" = "nanobsd" ]; then
- /usr/local/bin/php /etc/rc.conf_mount_rw
- fi
- if [ -r "/tmp/custom.tgz" ]; then
- sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz /tmp/custom.tgz
- else
- if [ "$PLATFORM" = "nanobsd" ]; then
- sh /etc/rc.firmware pfSenseNanoBSDupgrade /tmp/latest.tgz
- else
- sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz
- fi
- fi
- if [ "$PLATFORM" = "wrap" ]; then
- /bin/sync
- sleep 5
- /usr/local/bin/php /etc/rc.conf_mount_ro
- if [ -e /etc/init_bootloader.sh ]; then
- sh /etc/init_bootloader.sh
- fi
- fi
- if [ "$PLATFORM" = "net45xx" ]; then
- /bin/sync
- sleep 5
- /usr/local/bin/php /etc/rc.conf_mount_ro
- if [ -e /etc/init_bootloader.sh ]; then
- sh /etc/init_bootloader.sh
- fi
- fi
- exit 0
+if [ "$DLHASH" = "$FILEHASH" ]; then
+ echo "sha256 hashes match." | logger -p daemon.info -i -t AutoUpgrade
+ echo "Beginning ${product} upgrade." | wall
+ if [ "$PLATFORM" = "net45xx" ]; then
+ /usr/local/bin/php /etc/rc.conf_mount_rw
+ fi
+ if [ "$PLATFORM" = "nanobsd" ]; then
+ /usr/local/bin/php /etc/rc.conf_mount_rw
+ fi
+ if [ -r "/tmp/custom.tgz" ]; then
+ sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz /tmp/custom.tgz
+ else
+ if [ "$PLATFORM" = "nanobsd" ]; then
+ sh /etc/rc.firmware pfSenseNanoBSDupgrade /tmp/latest.tgz
+ else
+ sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz
+ fi
+ fi
+ exit 0
fi
-echo "MD5's do not match. Upgrade aborted." | logger -p daemon.info -i -t AutoUpgrade
+echo "sha256 hashes do not match. Upgrade aborted." | logger -p daemon.info -i -t AutoUpgrade
rm /tmp/latest*
exit 1
OpenPOWER on IntegriCloud