/* Used for multipart/byteranges boundary string */
extern AP_DECLARE_DATA const char *ap_multipart_boundary;
+/* Init RNG at startup */
+AP_CORE_DECLARE(void) ap_init_rng(apr_pool_t *p);
/* Update RNG state in parent after fork */
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;
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
#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"
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. */