summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorSteven Barth <cyrus@openwrt.org>2013-06-06 09:52:00 +0000
committerSteven Barth <cyrus@openwrt.org>2013-06-06 09:52:00 +0000
commit3f6736001282b5d0f79d34a4c34e2790f3233c20 (patch)
tree364fe140d7a7ca3e2cb69fb2ef7fb89cecb7e06f /package
parent2befaa2f0d2547a61a87204e3f1c42cf46888edd (diff)
downloadmaster-31e0f0ae-3f6736001282b5d0f79d34a4c34e2790f3233c20.tar.gz
master-31e0f0ae-3f6736001282b5d0f79d34a4c34e2790f3233c20.tar.bz2
master-31e0f0ae-3f6736001282b5d0f79d34a4c34e2790f3233c20.zip
base-files: use less entropy when generating ULAs
SVN-Revision: 36865
Diffstat (limited to 'package')
-rw-r--r--package/base-files/Makefile2
-rw-r--r--package/base-files/files/etc/uci-defaults/12_network-generate-ula11
2 files changed, 5 insertions, 8 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 050cc77b51..ebce5fe958 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=base-files
-PKG_RELEASE:=138
+PKG_RELEASE:=139
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
PKG_BUILD_DEPENDS:=opkg/host
diff --git a/package/base-files/files/etc/uci-defaults/12_network-generate-ula b/package/base-files/files/etc/uci-defaults/12_network-generate-ula
index f3e493145f..56b7eb3574 100644
--- a/package/base-files/files/etc/uci-defaults/12_network-generate-ula
+++ b/package/base-files/files/etc/uci-defaults/12_network-generate-ula
@@ -1,13 +1,10 @@
#!/bin/sh
[ "$(uci get network.globals.ula_prefix)" != "auto" ] && 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) % 256)))
- r2=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 65536)))
- r3=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 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.ula_prefix=fd$r1:$r2:$r3::/48