AA: backport r36865
authorcyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 6 Jun 2013 09:53:19 +0000 (09:53 +0000)
committercyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 6 Jun 2013 09:53:19 +0000 (09:53 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@36866 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/ipv6-support/files/network-enable-ipv6.defaults

index 563d077..b21bb13 100755 (executable)
@@ -3,13 +3,9 @@
 # Don't override existing settings
 uci -q get network.globals && exit 0
 
-# Sometimes results are empty, therefore try until it works...          
-local r1 r2 r3
-while [ -z "$r1" -o -z "$r2" -o -z "$r3" ]; do
-       r1=$(printf "%02x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1 2>/dev/null) % 256)))
-       r2=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1 2>/dev/null) % 65536)))
-       r3=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1 2>/dev/null) % 65536)))
-done
+r1=$(dd if=/dev/urandom bs=1 count=1 |hexdump -e '1/1 "%02x"')
+r2=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"')
+r3=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"')
 
 uci -q batch <<-EOF >/dev/null
        set network.globals=globals