urandom-seed: use seedrng for seeding the random number generator
[openwrt/staging/hauke.git] / package / system / urandom-seed / files / lib / preinit / 81_urandom_seed
index 2adc6c47f050b3aca0cc3ec44d43d4b010dc8390..b3014daeafb10d2537fe4551a5caad095ec76c95 100644 (file)
@@ -2,21 +2,11 @@ log_urandom_seed() {
     echo "urandom-seed: $1" > /dev/kmsg
 }
 
-_do_urandom_seed() {
-    [ -f "$1" ] || { log_urandom_seed "Seed file not found ($1)"; return; }
-    [ -O "$1" -a -G "$1" -a ! -x "$1" ] || { log_urandom_seed "Wrong owner / permissions for $1"; return; }
-
-    log_urandom_seed "Seeding with $1"
-    cat "$1" > /dev/urandom
-}
-
 do_urandom_seed() {
     [ -c /dev/urandom ] || { log_urandom_seed "Something is wrong with /dev/urandom"; return; }
-
-    _do_urandom_seed "/etc/urandom.seed"
-
-    SEED="$(uci -q get system.@system[0].urandom_seed)"
-    [ "${SEED:0:1}" = "/" -a "$SEED" != "/etc/urandom.seed" ] && _do_urandom_seed "$SEED"
+    seedrng 2>&1 | while read -r line; do
+        log_urandom_seed "$line"
+    done
 }
 
 boot_hook_add preinit_main do_urandom_seed