blob: cb2eb444fce013427f7b662e4ae654c2d4f3f135 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/bin/sh /etc/rc.common
START=99
EXTRA_COMMANDS="save"
_log() {
logger -t urandom_seed "$1"
}
_save() {
touch $1.tmp || { _log "touch $1 failed"; return; }
chown root:root $1.tmp || { _log "chown $1 failed"; return; }
chmod 600 $1.tmp || { _log "chmod $1 failed"; return; }
getrandom 512 > $1.tmp || { _log "getrandom failed"; return; }
mv $1.tmp $1 || { _log "mv $1 failed"; return; }
}
save() {
SEED="$(uci -q get system.@system[0].urandom_seed)"
[ "${SEED:0:1}" == "/" ] && _save "$SEED" && _log "Seed saved ($SEED)"
SEED=/etc/urandom.seed
[ ! -f $SEED ] && _save "$SEED" && _log "Seed saved ($SEED)"
}
boot() {
save
}
|