]> granicus.if.org Git - apache/commitdiff
add ssl_config_server_new function to fold some duplication in server
authorDoug MacEachern <dougm@apache.org>
Fri, 29 Mar 2002 02:00:20 +0000 (02:00 +0000)
committerDoug MacEachern <dougm@apache.org>
Fri, 29 Mar 2002 02:00:20 +0000 (02:00 +0000)
create/merge and to make sure merge config is fully inititialized

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94280 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_config.c

index 74b73720f72f58eee23aea6e01186c0d12bdd0d0..0194e508e0d72a44ec30695446cf6cb44ea5dcf8 100644 (file)
@@ -200,14 +200,11 @@ static void modssl_ctx_init_server(SSLSrvConfigRec *sc,
     memset(mctx->pks->keys, 0, sizeof(mctx->pks->keys));
 }
 
-/*
- *  Create per-server SSL configuration
- */
-void *ssl_config_server_create(apr_pool_t *p, server_rec *s)
+static SSLSrvConfigRec *ssl_config_server_new(apr_pool_t *p)
 {
     SSLSrvConfigRec *sc = apr_palloc(p, sizeof(*sc));
 
-    sc->mc                     = ssl_config_global_create(s);
+    sc->mc                     = NULL;
     sc->enabled                = UNSET;
     sc->vhost_id               = NULL;  /* set during module init */
     sc->vhost_id_len           = 0;     /* set during module init */
@@ -223,6 +220,18 @@ void *ssl_config_server_create(apr_pool_t *p, server_rec *s)
     return sc;
 }
 
+/*
+ *  Create per-server SSL configuration
+ */
+void *ssl_config_server_create(apr_pool_t *p, server_rec *s)
+{
+    SSLSrvConfigRec *sc = ssl_config_server_new(p);
+
+    sc->mc = ssl_config_global_create(s);
+
+    return sc;
+}
+
 #define cfgMerge(el,unset)  mrg->el = (add->el == (unset)) ? base->el : add->el
 #define cfgMergeArray(el)   mrg->el = apr_array_append(p, add->el, base->el)
 #define cfgMergeString(el)  cfgMerge(el, NULL)
@@ -281,11 +290,7 @@ void *ssl_config_server_merge(apr_pool_t *p, void *basev, void *addv)
 {
     SSLSrvConfigRec *base = (SSLSrvConfigRec *)basev;
     SSLSrvConfigRec *add  = (SSLSrvConfigRec *)addv;
-    SSLSrvConfigRec *mrg  = (SSLSrvConfigRec *)apr_palloc(p, sizeof(*mrg));
-
-    modssl_ctx_init_proxy(mrg, p);
-
-    modssl_ctx_init_server(mrg, p);
+    SSLSrvConfigRec *mrg  = ssl_config_server_new(p);
 
     cfgMerge(mc, NULL);
     cfgMergeBool(enabled);