#!/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
