From 5968cd3a3ecaa709b4f24cec7df0d4146e3fe35e Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Wed, 11 Apr 2018 16:11:21 +0000 Subject: [PATCH] COMPAT BREAK: This may change the hash keys used to cache privkeys across a reload so don't backport this to 2.4. Otherwise it's only user-visible in logging output. * modules/ssl/ssl_engine_init.c (ssl_init_Module): Derive the vhost_id *after* potentially setting sc->enabled to default-on, since the port used may change if not specified explicitly. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1828913 13f79535-47bb-0310-9956-ffa450edef68 --- modules/ssl/ssl_engine_init.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/ssl/ssl_engine_init.c b/modules/ssl/ssl_engine_init.c index 9dcfa42fbd..04a38da32c 100644 --- a/modules/ssl/ssl_engine_init.c +++ b/modules/ssl/ssl_engine_init.c @@ -250,9 +250,6 @@ apr_status_t ssl_init_Module(apr_pool_t *p, apr_pool_t *plog, sc->server->sc = sc; } - /* - * Create the server host:port string because we need it a lot - */ if (sc->vhost_id) { /* already set. This should only happen if this config rec is * shared with another server. Argh! */ @@ -260,8 +257,6 @@ apr_status_t ssl_init_Module(apr_pool_t *p, apr_pool_t *plog, "%s, SSLSrvConfigRec shared from %s", ssl_util_vhostid(p, s), sc->vhost_id); } - sc->vhost_id = ssl_util_vhostid(p, s); - sc->vhost_id_len = strlen(sc->vhost_id); /* Default to enabled if SSLEngine is not set explicitly, and * the protocol is https. */ @@ -271,6 +266,11 @@ apr_status_t ssl_init_Module(apr_pool_t *p, apr_pool_t *plog, sc->enabled = SSL_ENABLED_TRUE; } + /* Derive the vhost id only after potentially defaulting-on + * sc->enabled since the port used may change. */ + sc->vhost_id = ssl_util_vhostid(p, s); + sc->vhost_id_len = strlen(sc->vhost_id); + /* Fix up stuff that may not have been set. If sc->enabled is * UNSET, then SSL is disabled on this vhost. */ if (sc->enabled == SSL_ENABLED_UNSET) { -- 2.40.0