diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2022-03-28 00:25:56 -0400 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2022-03-28 09:27:56 +0200 |
commit | 2edc017a6e0cb92b72b768aaa46c6d336ad84eff (patch) | |
tree | c8084c6f07eef05a157ef811e9af979098d3b550 /package/system/urandom-seed/files/etc | |
parent | 9d8f620679df7f6f58ba1452311400da088a404b (diff) | |
download | upstream-2edc017a6e0cb92b72b768aaa46c6d336ad84eff.tar.gz upstream-2edc017a6e0cb92b72b768aaa46c6d336ad84eff.tar.bz2 upstream-2edc017a6e0cb92b72b768aaa46c6d336ad84eff.zip |
urandom-seed: use seedrng for seeding the random number generator
The RNG can't actually be seeded from a shell script, due to the
reliance on ioctls. For this reason, the seedrng project provides a
basic script meant to be copy and pasted into projects like OpenWRT
and tweaked as needed: <https://git.zx2c4.com/seedrng/about/>.
This commit imports it into the urandom-seed package and wires up the
init scripts to call it. This also is a significant improvement over the
current init script, which does not robustly handle cleaning up of seeds
and syncing to prevent reuse. Additionally, the existing script creates
a new seed immediately after writing an old one, which means that the
amount of entropy might actually regress, due to failing to credit the
old seed.
Closes: https://github.com/openwrt/openwrt/issues/9570
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [fixed missing INSTALL_DIR]
Diffstat (limited to 'package/system/urandom-seed/files/etc')
-rwxr-xr-x | package/system/urandom-seed/files/etc/init.d/urandom_seed | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/package/system/urandom-seed/files/etc/init.d/urandom_seed b/package/system/urandom-seed/files/etc/init.d/urandom_seed index 17d9c13400..d6e81c6079 100755 --- a/package/system/urandom-seed/files/etc/init.d/urandom_seed +++ b/package/system/urandom-seed/files/etc/init.d/urandom_seed @@ -5,7 +5,7 @@ USE_PROCD=1 start_service() { procd_open_instance "urandom_seed" - procd_set_param command "/sbin/urandom_seed" + procd_set_param command "/sbin/seedrng" procd_set_param stdout 1 procd_set_param stderr 1 procd_close_instance |