quic: seed random generator during init
Quic does not seed random value, so if the plugin is loaded separately RAND_bytes will fail. Type: fix Change-Id: If600cbde1fef30afb6316fc1a355261b008c3191 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
This commit is contained in:

committed by
Florin Coras

parent
b1454f89b5
commit
7e452ba15c
@ -14,6 +14,9 @@
|
||||
*/
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include <openssl/rand.h>
|
||||
|
||||
#include <vnet/session/application.h>
|
||||
#include <vnet/session/transport.h>
|
||||
@ -2507,6 +2510,11 @@ quic_init (vlib_main_t * vm)
|
||||
u64 options[APP_OPTIONS_N_OPTIONS];
|
||||
quic_main_t *qm = &quic_main;
|
||||
u32 num_threads, i;
|
||||
u8 seed[32];
|
||||
|
||||
if (syscall (SYS_getrandom, &seed, sizeof (seed), 0) != sizeof (seed))
|
||||
return clib_error_return_unix (0, "getrandom() failed");
|
||||
RAND_seed (seed, sizeof (seed));
|
||||
|
||||
num_threads = 1 /* main thread */ + vtm->n_threads;
|
||||
|
||||
|
Reference in New Issue
Block a user