summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorStefan Fritsch <sf@apache.org>2011-11-07 21:57:02 +0100
committerStefan Fritsch <sf@apache.org>2011-11-07 21:57:02 +0100
commitb791885badd4b252a60a6eaa5fc7d12ceb833e93 (patch)
treee5c7cfb4f31476e141ed3ebdea92c71470a25ecf /server
parentAlso do length check if the last line is not LF terminated (diff)
downloadapache2-b791885badd4b252a60a6eaa5fc7d12ceb833e93.tar.xz
apache2-b791885badd4b252a60a6eaa5fc7d12ceb833e93.zip
Only init the RNG once at startup. This saves some entropy and works around the APR bug
fixed in r1198921 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1198930 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server')
-rw-r--r--server/core.c3
-rw-r--r--server/main.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/server/core.c b/server/core.c
index 56e48d3215..d5eadf3c90 100644
--- a/server/core.c
+++ b/server/core.c
@@ -4632,7 +4632,7 @@ AP_CORE_DECLARE(void) ap_random_parent_after_fork(void)
apr_random_insecure_bytes(rng, &data, sizeof(data));
}
-static void rng_init(apr_pool_t *p)
+AP_CORE_DECLARE(void) ap_init_rng(apr_pool_t *p)
{
unsigned char seed[8];
apr_status_t rv;
@@ -4741,7 +4741,6 @@ static void register_hooks(apr_pool_t *p)
ap_register_log_hooks(p);
ap_register_config_hooks(p);
ap_expr_init(p);
- rng_init(p);
/* create_connection and pre_connection should always be hooked
* APR_HOOK_REALLY_LAST by core to give other modules the opportunity
diff --git a/server/main.c b/server/main.c
index 70e698b428..6c2685dbee 100644
--- a/server/main.c
+++ b/server/main.c
@@ -34,6 +34,7 @@
#include "http_log.h"
#include "http_config.h"
#include "http_core.h"
+#include "mod_core.h"
#include "http_request.h"
#include "http_vhost.h"
#include "apr_uri.h"
@@ -459,6 +460,7 @@ int main(int argc, const char * const argv[])
ap_pglobal = process->pool;
pconf = process->pconf;
ap_server_argv0 = process->short_name;
+ ap_init_rng(ap_pglobal);
/* Set up the OOM callback in the global pool, so all pools should
* by default inherit it. */