mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
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
This commit is contained in:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user