#!/bin/sh
export DATE="12.4.2010";SCRIPT=${0#/rom}
export TITLE="Administração:
Reiniciar"
. ${SCRIPT%/*}/cgi-bin-pre.sh
cat<Administração:
Reiniciar
EOF
if [ "$REQUEST_METHOD" = "POST" ]; then
read QUERY_STRING
fi
if [ -z "$QUERY_STRING" ]; then
ff_firmware=
if ! grep -q ff_reset /rom/etc/preinit /etc/preinit>/dev/null 2>&1; then
ff_firmware='" DISABLED="DISABLED'
fi
cat<
EOF
if [ "$(nvram get boot_wait)" != "on" ]; then
cat<Nota:
A configuração boot_wait
tem o valor actual "$(nvram get boot_wait)". Para em caso de emergência ser possíviel
carregar um novo Firmware via TFTP, este valor será definido como "on".
EOF
fi
if [ -n "$ff_firmware" ]; then
cat<Atenção:
As várias opções de reiniciar só poderão
ser usadas como o firmware do Freifunk.
EOF
fi
else
IFS=\&;set ${QUERY_STRING%%[^%&=+-:@-_a-z~]*};unset IFS;eval $*
DIRTY=
if [ -n "$post_reset" ]; then
if [ "$ff_reset" = "killnvram" ]; then
if [ '"nvram"' = "$(grep mtd3: /proc/mtd|if read line; then set $line;echo $4;fi)" ]; then
mtd erase /dev/mtd/3
fi
else
for V in ff_reset boot_wait; do
eval "C=\$$V"
C=$(httpd -d "$C")
if [ "$C" != "$(nvram get $V)" ]; then
DIRTY=1
nvram set $V="$C"
fi
done
test -n "$DIRTY" && nvram commit>/dev/null 2>&1
fi
cat<
O
aparelho será reiniciado. Aguarde... |
EOF
if [ "$ff_reset" = "failsafe" ]; then
cat<
Dica:
No modo Failsafe o equipamento tem sempre o endereço IP 192.168.1.1
.
Durante a reinicialização pode usar este tempo para
reconfigurar a placa de rede do PC, por exemplo com o endereço IP
192.168.1.2
.
EOF
elif [ "$ff_reset" = "format" ] || [ "$ff_reset" = "killnvram" ]; then
cat<
EOF
else
cat<
EOF
fi
sh -c "sleep 2;reboot">/dev/null 2>&1 &
fi
fi
. ${SCRIPT%/*}/cgi-bin-post.sh