From: Jeff Trawick Date: Fri, 7 Jun 2002 12:51:49 +0000 (+0000) Subject: make some small steps towards getting the post config hook X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dfd14d2b335cc913a88a62b1764b8f808b7cdf80;p=apache make some small steps towards getting the post config hook to return an error rather than exiting directly git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95567 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_init.c b/modules/ssl/ssl_engine_init.c index 7116bea1cd..2203210db7 100644 --- a/modules/ssl/ssl_engine_init.c +++ b/modules/ssl/ssl_engine_init.c @@ -141,8 +141,8 @@ static void ssl_tmp_keys_free(server_rec *s) MODSSL_TMP_KEYS_FREE(mc, DH); } -static void ssl_tmp_key_init_rsa(server_rec *s, - int bits, int idx) +static int ssl_tmp_key_init_rsa(server_rec *s, + int bits, int idx) { SSLModConfigRec *mc = myModConfig(s); @@ -152,13 +152,14 @@ static void ssl_tmp_key_init_rsa(server_rec *s, ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "Init: Failed to generate temporary " "%d bit RSA private key", bits); - ssl_die(); + return !OK; } + return OK; } -static void ssl_tmp_key_init_dh(server_rec *s, - int bits, int idx) +static int ssl_tmp_key_init_dh(server_rec *s, + int bits, int idx) { SSLModConfigRec *mc = myModConfig(s); @@ -168,8 +169,10 @@ static void ssl_tmp_key_init_dh(server_rec *s, ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "Init: Failed to generate temporary " "%d bit DH parameters", bits); - ssl_die(); + return !OK; } + + return OK; } #define MODSSL_TMP_KEY_INIT_RSA(s, bits) \ @@ -178,19 +181,25 @@ static void ssl_tmp_key_init_dh(server_rec *s, #define MODSSL_TMP_KEY_INIT_DH(s, bits) \ ssl_tmp_key_init_dh(s, bits, SSL_TMP_KEY_DH_##bits) -static void ssl_tmp_keys_init(server_rec *s) +static int ssl_tmp_keys_init(server_rec *s) { ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, "Init: Generating temporary RSA private keys (512/1024 bits)"); - MODSSL_TMP_KEY_INIT_RSA(s, 512); - MODSSL_TMP_KEY_INIT_RSA(s, 1024); + if (MODSSL_TMP_KEY_INIT_RSA(s, 512) || + MODSSL_TMP_KEY_INIT_RSA(s, 1024)) { + return !OK; + } ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, "Init: Generating temporary DH parameters (512/1024 bits)"); - MODSSL_TMP_KEY_INIT_DH(s, 512); - MODSSL_TMP_KEY_INIT_DH(s, 1024); + if (MODSSL_TMP_KEY_INIT_DH(s, 512) || + MODSSL_TMP_KEY_INIT_DH(s, 1024)) { + return !OK; + } + + return OK; } /* @@ -278,7 +287,9 @@ int ssl_init_Module(apr_pool_t *p, apr_pool_t *plog, */ ssl_pphrase_Handle(base_server, ptemp); - ssl_tmp_keys_init(base_server); + if (ssl_tmp_keys_init(base_server)) { + return !OK; + } /* * SSL external crypto device ("engine") support