From d89cb0ba2bbd18d9cb61997dc0e364ce97fb6fdc Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Fri, 29 Mar 2002 02:00:20 +0000 Subject: [PATCH] add ssl_config_server_new function to fold some duplication in server create/merge and to make sure merge config is fully inititialized git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@94280 13f79535-47bb-0310-9956-ffa450edef68 --- ssl_engine_config.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/ssl_engine_config.c b/ssl_engine_config.c index 74b73720f72..0194e508e0d 100644 --- a/ssl_engine_config.c +++ b/ssl_engine_config.c @@ -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); -- 2.47.2