From 8097066e906f9e8ac0569fc3f5b18a7d3fdf685f Mon Sep 17 00:00:00 2001 From: Cliff Woolley Date: Fri, 1 Mar 2002 04:35:17 +0000 Subject: [PATCH] Consensus is that we should not use the scoreboard as a source of entropy. Reviewed by: OtherBill, Justin, Madhu git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93652 13f79535-47bb-0310-9956-ffa450edef68 --- modules/ssl/mod_ssl.h | 1 - modules/ssl/ssl_engine_init.c | 4 ---- modules/ssl/ssl_engine_rand.c | 16 ---------------- 3 files changed, 21 deletions(-) diff --git a/modules/ssl/mod_ssl.h b/modules/ssl/mod_ssl.h index bbdf46ce06..a9157436fa 100644 --- a/modules/ssl/mod_ssl.h +++ b/modules/ssl/mod_ssl.h @@ -515,7 +515,6 @@ typedef struct { char *szMutexFile; apr_lock_t *pMutex; apr_array_header_t *aRandSeed; - int nScoreboardSize; /* used for builtin random seed */ apr_hash_t *tVHostKeys; apr_hash_t *tTmpKeys; void *pTmpKeys[SSL_TKPIDX_MAX]; diff --git a/modules/ssl/ssl_engine_init.c b/modules/ssl/ssl_engine_init.c index eb1ba3f833..681e9ba932 100644 --- a/modules/ssl/ssl_engine_init.c +++ b/modules/ssl/ssl_engine_init.c @@ -163,11 +163,7 @@ int ssl_init_Module(apr_pool_t *p, apr_pool_t *plog, /* * Seed the Pseudo Random Number Generator (PRNG) - * - * Note: scoreboard size must be fetched at init time because - * ap_calc_scoreboard_size() is not threadsafe */ - mc->nScoreboardSize = ap_calc_scoreboard_size(); ssl_rand_seed(s, p, SSL_RSCTX_STARTUP, "Init: "); /* diff --git a/modules/ssl/ssl_engine_rand.c b/modules/ssl/ssl_engine_rand.c index 230646d436..89e62f51b5 100644 --- a/modules/ssl/ssl_engine_rand.c +++ b/modules/ssl/ssl_engine_rand.c @@ -81,7 +81,6 @@ int ssl_rand_seed(server_rec *s, apr_pool_t *p, ssl_rsctx_t nCtx, char *prefix) int nReq, nDone; apr_file_t *fp; int i, n, l; - int m; mc = myModConfig(s); nReq = 0; @@ -155,21 +154,6 @@ int ssl_rand_seed(server_rec *s, apr_pool_t *p, ssl_rsctx_t nCtx, char *prefix) RAND_seed(stackdata+n, 128); nDone += 128; - /* - * seed in data extracted from the current scoreboard - * - * XXX: this assumes that the entire scoreboard is - * allocated in one big block of memory that begins at - * the location pointed to by ap_scoreboard_image->global - */ - if (ap_scoreboard_image != NULL && mc->nScoreboardSize > 16) - { - m = ((mc->nScoreboardSize / 2) - 1); - n = ssl_rand_choosenum(0, m); - RAND_seed( - ((unsigned char *)ap_scoreboard_image->global)+n, m); - nDone += m; - } } } } -- 2.50.1