Project

General

Profile

Download (2.43 KB) Statistics
| Branch: | Tag: | Revision:
1
#!/bin/sh
2

    
3
# $Id$
4

    
5
FMBASEURL=$1
6
FMFILENAME=$2
7
FETCHFILENAME=$1/$2
8

    
9
# wait 5 seconds before beginning
10
sleep 5
11

    
12
logger -p daemon.info -i -t AutoUpgrade "Auto Upgrade started"
13

    
14
HTTP_AUTH=""
15

    
16
# if username and password is passed, let fetch utilize.
17
if [ $# -gt 3 ]; then
18
HTTP_AUTH="basic:*:$3:$4"
19
fi
20

    
21
#echo "Downloading $FMFILENAME from $FMBASEURL ..." | logger -p daemon.info -i -t AutoUpgrade
22
#/usr/bin/fetch -o /tmp/latest.tgz $FETCHFILENAME | logger -p daemon.info -i -t AutoUpgrade
23
#echo "Downloading $FMFILENAME.md5 from $FMBASEURL ..."  | logger -p daemon.info -i -t AutoUpgrade
24
#/usr/bin/fetch -o /tmp/latest.tgz.md5 $FETCHFILENAME.md5 | logger -p daemon.info -i -t AutoUpgrade
25

    
26
PMD=`/bin/cat /tmp/latest.tgz.md5 | cut -d" " -f4 `
27
MD=`/sbin/md5 /tmp/latest.tgz | cut -d" " -f4`
28

    
29
PLATFORM=`cat /etc/version`
30

    
31
echo "   Package MD5: ${PMD}" | logger -p daemon.info -i -t AutoUpgrade
32
echo "Downloaded MD5: ${MD}"  | logger -p daemon.info -i -t AutoUpgrade
33

    
34
if [ "$PMD" = "" ]; then
35
    echo "Package MD5 is null md5. Require proxy auth?"  | logger -p daemon.info -i -t AutoUpgrade
36
    exit 1
37
fi
38

    
39
if [ "$MD" = "" ]; then
40
    echo "Downloaded MD5 is null md5. Require proxy auth?"  | logger -p daemon.info -i -t AutoUpgrade
41
    exit 1
42
fi
43

    
44
if [ "$PMD" = "$MD" ]; then
45
        echo "MD5's match."  | logger -p daemon.info -i -t AutoUpgrade
46
		echo "Beginning pfSense upgrade." | wall
47
        if [ "$PLATFORM" = "net45xx" ]; then
48
            /usr/local/bin/php /etc/rc.conf_mount_rw
49
        fi
50
        if [ "$PLATFORM" = "wrap" ]; then
51
            /usr/local/bin/php /etc/rc.conf_mount_rw
52
        fi
53
        if [ -r "/tmp/custom.tgz" ]; then
54
            sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz /tmp/custom.tgz
55
        else
56
            sh /etc/rc.firmware pfSenseupgrade /tmp/latest.tgz
57
        fi
58
        if [ "$PLATFORM" = "wrap" ]; then
59
            /bin/sync
60
            sleep 5
61
            /usr/local/bin/php /etc/rc.conf_mount_ro
62
            if [ -e /etc/init_bootloader.sh ]; then
63
                    sh /etc/init_bootloader.sh
64
            fi            
65
        fi
66
        if [ "$PLATFORM" = "net45xx" ]; then
67
            /bin/sync
68
            sleep 5
69
            /usr/local/bin/php /etc/rc.conf_mount_ro
70
            if [ -e /etc/init_bootloader.sh ]; then
71
                    sh /etc/init_bootloader.sh
72
            fi            
73
        fi        
74
        exit 0
75
fi
76

    
77
echo "MD5's do not match.  Upgrade aborted."  | logger -p daemon.info -i -t AutoUpgrade
78
rm /tmp/latest*
79
exit 1
(38-38/76)