#!/bin/sh # $1: [debug] [ -r /etc/options.cfg ] && . /etc/options.cfg TMP='' MAJOR="$(sed -nr 's/^firmware_info[ \t]*([^\.]*).*/\1/p' /proc/sys/urlader/environment)" VER="$(sed -nr 's/^firmware_info[ \t]*[^\.]*.([^,]*).*/\1/p' /proc/sys/urlader/environment)" REV="$(sed -nr 's/.*[ ^]*CONFIG_BUILDNUMBER="?([^"]*).*/\1/p' /etc/init.d/rc.conf)" [ -z "$REV" ] && REV="$(/etc/version --project)" [ -z "$REV" ] && REV="$(/etc/version -vsub | sed 's/-//')" [ -z "$REV" ] && REV="0" echo "Local version: $MAJOR.$VER-$REV" BUILDTYPE="$(sed -n 's/"//g;s/.* CONFIG_BUILDTYPE=//p' /etc/init.d/rc.conf 2>/dev/null)" if [ -z "$BUILDTYPE" -o "$BUILDTYPE" == "1" -o "$FREETZ_TYPE_ALIEN_HARDWARE" == "y" ]; then [ "$FREETZ_TYPE_ALIEN_HARDWARE" == "y" ] && TMP='30' || TMP='1' VER="$(echo ${VER} | sed 's/\.//;s/^0*//')" VER="$(echo 0$(( $VER - $TMP )) | sed -r 's/.*(..)(..)$/\1.\2/')" fi if [ "$REV" -gt 0 2>/dev/null ]; then while [ "${#TMP}" != "3" ]; do TMP="$(echo $(( RANDOM % 10 ))$(( RANDOM % 10 ))$(( RANDOM % 10 )) | sed 's/[^0-9]//')"; done REV="$(( ${REV:0:$(( ${#REV} - 3 ))} - 1 ))$TMP" fi echo "Using version: $MAJOR.$VER-$REV" while [ "${#MAC}" != "6" ]; do MAC="$(hexdump -n3 -e '/1 "%02X"' /dev/urandom | sed 's/[^0-9A-F]//g')"; done MAC="$(sed -nr 's/^maca[ \t]*(..):(..):(..):.*/\1\2\3/p' /proc/sys/urlader/environment)$MAC" NONCE="$(dd if=/dev/urandom bs=16 count=1 2>/dev/null | base64)" JUIS="Version=$MAJOR.$VER-$REV Serial=$MAC Nonce=$NONCE" echo if [ "$1" == "debug" ]; then juis_check -d -i -l -s /tmp/.juis_check $JUIS 2>&1 | sed -r 's/>(<[^\/])/>\n\t\1/g' else juis_check -i -l -s /tmp/.juis_check $JUIS 2>&1 >/dev/null | sed 's/.\[[0-9][0-9]*m//g;s/.*juis_check[^ ]* //' fi touch /tmp/.juis_check