From: Doug MacEachern Date: Fri, 29 Mar 2002 02:00:20 +0000 (+0000) Subject: add ssl_config_server_new function to fold some duplication in server X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=761375c6fdd0d4dc3ebc19eb87ac31137add1031;p=apache 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@94280 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_config.c b/modules/ssl/ssl_engine_config.c index 74b73720f7..0194e508e0 100644 --- a/modules/ssl/ssl_engine_config.c +++ b/modules/ssl/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);