1
|
#!/bin/sh
|
2
|
|
3
|
# wait 5 seconds before beginning
|
4
|
sleep 5
|
5
|
|
6
|
logger -p daemon.info -i -t AutoUpgrade "Auto Upgrade started"
|
7
|
|
8
|
HTTP_AUTH=""
|
9
|
|
10
|
# if username and password is passed, let fetch utilize.
|
11
|
if [ $# -gt 1 ]; then
|
12
|
HTTP_AUTH="basic:*:$1:$2"
|
13
|
fi
|
14
|
|
15
|
echo "Downloading latest.tgz ..." | logger -p daemon.info -i -t AutoUpgrade
|
16
|
cd /tmp && fetch http://www.pfSense.com/latest.tgz | logger -p daemon.info -i -t AutoUpgrade
|
17
|
echo "Downloading latest.tgz.md5 ..." | logger -p daemon.info -i -t AutoUpgrade
|
18
|
cd /tmp && fetch http://www.pfSense.com/latest.tgz.md5 | logger -p daemon.info -i -t AutoUpgrade
|
19
|
|
20
|
PMD=`cat /tmp/latest.tgz.md5 | cut -d" " -f4 `;
|
21
|
MD=`/sbin/md5 /tmp/latest.tgz | cut -d" " -f4`;
|
22
|
|
23
|
echo " Package MD5: ${PMD}" | logger -p daemon.info -i -t AutoUpgrade
|
24
|
echo "Downloaded MD5: ${MD}" | logger -p daemon.info -i -t AutoUpgrade
|
25
|
|
26
|
if [ "$PMD" = "" ]; then
|
27
|
echo "Package MD5 is null md5. Require proxy auth?" | logger -p daemon.info -i -t AutoUpgrade
|
28
|
exit 1
|
29
|
fi
|
30
|
|
31
|
if [ "$MD" = "" ]; then
|
32
|
echo "Downloaded MD5 is null md5. Require proxy auth?" | logger -p daemon.info -i -t AutoUpgrade
|
33
|
exit 1
|
34
|
fi
|
35
|
|
36
|
if [ "$PMD" = "$MD" ]; then
|
37
|
echo "MD5's match." | logger -p daemon.info -i -t AutoUpgrade
|
38
|
if [ -r "/tmp/custom.tgz" ]; then
|
39
|
/etc/rc.firmware pfSenseupgrade /tmp/latest.tgz /tmp/custom.tgz
|
40
|
else
|
41
|
/etc/rc.firmware pfSenseupgrade /tmp/latest.tgz
|
42
|
fi
|
43
|
exit 0
|
44
|
fi
|
45
|
|
46
|
echo "MD5's do not match. Upgrade aborted." | logger -p daemon.info -i -t AutoUpgrade
|
47
|
exit 1
|