21 lines
398 B
Plaintext
21 lines
398 B
Plaintext
|
#!/bin/sh
|
||
|
set -e
|
||
|
|
||
|
trap '[ "$?" -eq 0 ] || echo "An error occured" >&2' EXIT
|
||
|
|
||
|
save() {
|
||
|
touch "$1.tmp"
|
||
|
chown root:root "$1.tmp"
|
||
|
chmod 600 "$1.tmp"
|
||
|
getrandom 512 > "$1.tmp"
|
||
|
mv "$1.tmp" "$1"
|
||
|
echo "Seed saved ($1)"
|
||
|
}
|
||
|
|
||
|
SEED="$(uci -q get system.@system[0].urandom_seed || true)"
|
||
|
[ "${SEED:0:1}" == "/" ] && save "$SEED"
|
||
|
|
||
|
SEED=/etc/urandom.seed
|
||
|
[ ! -f $SEED ] && save "$SEED"
|
||
|
true
|