From cfc656294ee8f704bcfda96a23232e93e6c7bd6a Mon Sep 17 00:00:00 2001 From: ryndia <68096721+ryndia@users.noreply.github.com> Date: Wed, 7 Sep 2022 20:16:20 +0400 Subject: [PATCH] Update arc4random.c --- compat/arc4random.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/compat/arc4random.c b/compat/arc4random.c index b536d3143..ae342d3a4 100644 --- a/compat/arc4random.c +++ b/compat/arc4random.c @@ -22,7 +22,7 @@ /* * ChaCha based random number generator for OpenBSD. */ - +#define REKEY_BASE (1024*1024) //base 2 #include #include #include @@ -179,7 +179,7 @@ static void _rs_stir(void) { u_char rnd[KEYSZ + IVSZ]; - + uint32_t rekey_fuzz = 0; if (getentropy(rnd, sizeof rnd) == -1) { if(errno != ENOSYS || fallback_getentropy_urandom(rnd, sizeof rnd) == -1) { @@ -201,7 +201,9 @@ _rs_stir(void) rs->rs_have = 0; memset(rsx->rs_buf, 0, sizeof(rsx->rs_buf)); - rs->rs_count = 1600000; + /*rs->rs_count = 1600000;*/ + chacha_encrypt_bytes(&rsx->rs_chacha, (uint8_t *)&rekey_fuzz,(uint8_t *)&rekey_fuzz, sizeof(rekey_fuzz)); + rs->rs_count = REKEY_BASE + (rekey_fuzz % REKEY_BASE); } static inline void -- 2.39.5