#!/bin/sh ### # # FreeWLAN Addons - http://www.freewlan.info # # This program 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., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA # # http://www.gnu.org/copyleft/gpl.html # ### . /etc/functions.sh config_load autoupdate config_get url method url config_get auto method auto config_get branch method branch config_load mailservice config_get addonupdatecheck mail addonupdatecheck config_get to mail to if [ -z $branch ]; then branch="stable" fi # Random sleep time to decrease server load if [ "$1" = "cron" ]; then sleep "$((0x$(head -c2 /dev/urandom | hexdump | awk '$2 > 0 {print $2}') % 3600))" fi download_install () { instversion="$(cat /etc/addon_version)" wget -q -O /tmp/install.sh $url/$branch/$instversion/install.sh 2>/dev/null if [ ! "$?" -eq "0" ]; then exit 0; fi } if enabled $auto || [ "$1" = "manual" ]; then while true; do download_install sh /tmp/install.sh if [ "$instversion" == "$(cat /etc/addon_version)" ]; then echo "Update failed!" exit 1 fi done else if [ "$1" != "cron" ]; then echo "Autoupdate is disabled. Try $0 manual" else if enabled $addonupdatecheck; then download_install touch /tmp/.addonupdatecheckmail if ! grep $instversion /tmp/.addonupdatecheckmail > /dev/null; then . /tmp/network-config MAIL_TO="$to"; ipaddress=`ifconfig $wan_ifname |grep inet|cut -d":" -f2|cut -d" " -f1`; echo -e " There are Addon Updates available. For further information go to: http://$ipaddress/cgi-bin/webif/autoupdate.sh " | mail "Fonera: ($(cat /etc/hostname)) AddonUpdateCheck" "$MAIL_TO" echo $instversion >> /tmp/.addonupdatecheckmail fi fi fi fi