diff options
author | Stefan Fritsch <sf@apache.org> | 2011-11-07 21:57:02 +0100 |
---|---|---|
committer | Stefan Fritsch <sf@apache.org> | 2011-11-07 21:57:02 +0100 |
commit | b791885badd4b252a60a6eaa5fc7d12ceb833e93 (patch) | |
tree | e5c7cfb4f31476e141ed3ebdea92c71470a25ecf /server | |
parent | Also do length check if the last line is not LF terminated (diff) | |
download | apache2-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.c | 3 | ||||
-rw-r--r-- | server/main.c | 2 |
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. */ |