There is a typo in the commit message: > - not needed for 5.3 - we do it in here in the core for all processes
It should be "not needed in git master - we do it here in the core for all processes". Cheers, Henning -- Henning Westerholt - https://skalatan.de/blog/ Kamailio services - https://skalatan.de/services -----Original Message----- From: sr-dev <sr-dev-boun...@lists.kamailio.org> On Behalf Of Henning Westerholt Sent: Wednesday, October 9, 2019 5:01 PM To: sr-dev@lists.kamailio.org Subject: [sr-dev] git:5.3:21e0fba6: tls: add initial seeding to cryptorand generator, as we don't do it in core Module: kamailio Branch: 5.3 Commit: 21e0fba6adb9e77e91ea83ed79b13621df556e1e URL: https://github.com/kamailio/kamailio/commit/21e0fba6adb9e77e91ea83ed79b13621df556e1e Author: Henning Westerholt <h...@skalatan.de> Committer: Henning Westerholt <h...@skalatan.de> Date: 2019-10-09T16:56:31+02:00 tls: add initial seeding to cryptorand generator, as we don't do it in core - add initial seeding to cryptorand generator initialization to main proces - only as additional fallback in case of no access to system entropy sources - not needed for 5.3 - we do it in here in the core for all processes --- Modified: src/modules/tls/tls_mod.c Modified: src/modules/tls/tls_rand.c Modified: src/modules/tls/tls_rand.h --- Diff: https://github.com/kamailio/kamailio/commit/21e0fba6adb9e77e91ea83ed79b13621df556e1e.diff Patch: https://github.com/kamailio/kamailio/commit/21e0fba6adb9e77e91ea83ed79b13621df556e1e.patch --- diff --git a/src/modules/tls/tls_mod.c b/src/modules/tls/tls_mod.c index 424fad8a08..eaa9593a31 100644 --- a/src/modules/tls/tls_mod.c +++ b/src/modules/tls/tls_mod.c @@ -567,6 +567,7 @@ int mod_register(char *path, int *dlflags, void *p1, void *p2) #if OPENSSL_VERSION_NUMBER >= 0x10100000L LM_DBG("setting cryptorand random engine\n"); + ksr_cryptorand_seed_init(); RAND_set_rand_method(RAND_ksr_cryptorand_method()); #endif diff --git a/src/modules/tls/tls_rand.c b/src/modules/tls/tls_rand.c index 3cb2e8a712..14c0321c04 100644 --- a/src/modules/tls/tls_rand.c +++ b/src/modules/tls/tls_rand.c @@ -171,4 +171,19 @@ const RAND_METHOD *RAND_ksr_cryptorand_method(void) return &_ksr_cryptorand_method; } +/* seed the generator during startup, internally it will also use +system entropy */ void ksr_cryptorand_seed_init() { + u_int8_t bytes[4]; + unsigned int seed; + + seed = fastrand(); + bytes[0] = (seed >> 24) & 0xFF; + bytes[1] = (seed >> 16) & 0xFF; + bytes[2] = (seed >> 8) & 0xFF; + bytes[3] = seed & 0xFF; + + LM_DBG("seeding cryptorand generator with %u\n", seed); + sr_add_entropy(bytes, 4); +} + #endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ diff --git a/src/modules/tls/tls_rand.h b/src/modules/tls/tls_rand.h index c73d36b8d9..2b61e3b2ed 100644 --- a/src/modules/tls/tls_rand.h +++ b/src/modules/tls/tls_rand.h @@ -29,5 +29,7 @@ const RAND_METHOD *RAND_ksr_krand_method(void); const RAND_METHOD *RAND_ksr_fastrand_method(void); const RAND_METHOD *RAND_ksr_cryptorand_method(void); +void ksr_cryptorand_seed_init(); + #endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ #endif _______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev _______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev