]> granicus.if.org Git - apache/commitdiff
folding more duplication in ssl_tmp_keys_init
authorDoug MacEachern <dougm@apache.org>
Wed, 13 Mar 2002 00:50:13 +0000 (00:50 +0000)
committerDoug MacEachern <dougm@apache.org>
Wed, 13 Mar 2002 00:50:13 +0000 (00:50 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93886 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_init.c

index 24ca221ebdce42fe08a83bbd03a9e34379b3e4d3..61908aacbda1c83beeeee597540b9e1e3179b365 100644 (file)
@@ -141,60 +141,59 @@ static void ssl_tmp_keys_free(server_rec *s)
     MODSSL_TMP_KEYS_FREE(mc, DH);
 }
 
-static void ssl_tmp_keys_init(server_rec *s, apr_pool_t *p)
+static void ssl_tmp_key_init_rsa(server_rec *s,
+                                 int bits, int idx)
 {
     SSLModConfigRec *mc = myModConfig(s);
 
-    /* seed PRNG */
-    ssl_rand_seed(s, p, SSL_RSCTX_STARTUP, "Init: ");
-
-    /* generate 512 bit RSA key */
-    ssl_log(s, SSL_LOG_INFO,
-            "Init: Generating temporary RSA private keys (512/1024 bits)");
-
-    /* generate 512 bit RSA key */
-    if (!(mc->pTmpKeys[SSL_TMP_KEY_RSA_512] = 
-          RSA_generate_key(512, RSA_F4, NULL, NULL)))
+    if (!(mc->pTmpKeys[idx] =
+          RSA_generate_key(bits, RSA_F4, NULL, NULL)))
     {
         ssl_log(s, SSL_LOG_ERROR,
                 "Init: Failed to generate temporary "
-                "512 bit RSA private key");
+                "%d bit RSA private key", bits);
         ssl_die();
     }
 
-    /* generate 1024 bit RSA key */
-    if (!(mc->pTmpKeys[SSL_TMP_KEY_RSA_1024] = 
-          RSA_generate_key(1024, RSA_F4, NULL, NULL)))
+}
+
+static void ssl_tmp_key_init_dh(server_rec *s,
+                                int bits, int idx)
+{
+    SSLModConfigRec *mc = myModConfig(s);
+
+    if (!(mc->pTmpKeys[idx] =
+          ssl_dh_GetTmpParam(bits)))
     {
         ssl_log(s, SSL_LOG_ERROR,
                 "Init: Failed to generate temporary "
-                "1024 bit RSA private key");
+                "%d bit DH parameters", bits);
         ssl_die();
     }
+}
+
+#define MODSSL_TMP_KEY_INIT_RSA(s, bits) \
+    ssl_tmp_key_init_rsa(s, bits, SSL_TMP_KEY_RSA_##bits)
+
+#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, apr_pool_t *p)
+{
+    /* seed PRNG */
+    ssl_rand_seed(s, p, SSL_RSCTX_STARTUP, "Init: ");
 
     ssl_log(s, SSL_LOG_INFO,
-            "Init: Configuring temporary "
-            "DH parameters (512/1024 bits)");
+            "Init: Generating temporary RSA private keys (512/1024 bits)");
 
-    /* generate 512 bit DH param */
-    if (!(mc->pTmpKeys[SSL_TMP_KEY_DH_512] = 
-          ssl_dh_GetTmpParam(512)))
-    {
-        ssl_log(s, SSL_LOG_ERROR,
-                "Init: Failed to generate temporary "
-                "512 bit DH parameters");
-        ssl_die();
-    }
+    MODSSL_TMP_KEY_INIT_RSA(s, 512);
+    MODSSL_TMP_KEY_INIT_RSA(s, 1024);
 
-    /* generate 1024 bit DH param */
-    if (!(mc->pTmpKeys[SSL_TMP_KEY_DH_1024] = 
-          ssl_dh_GetTmpParam(1024)))
-    {
-        ssl_log(s, SSL_LOG_ERROR,
-                "Init: Failed to generate temporary "
-                "1024 bit DH parameters");
-        ssl_die();
-    }
+    ssl_log(s, SSL_LOG_INFO,
+            "Init: Configuring temporary DH parameters (512/1024 bits)");
+
+    MODSSL_TMP_KEY_INIT_DH(s, 512);
+    MODSSL_TMP_KEY_INIT_DH(s, 1024);
 }
 
 /*