# ./pullrev.sh 1537535 http://svn.apache.org/viewvc?view=revision&revision=1537535 --- httpd-2.4.6/modules/ssl/ssl_engine_config.c.r1537535 +++ httpd-2.4.6/modules/ssl/ssl_engine_config.c @@ -198,7 +198,7 @@ static SSLSrvConfigRec *ssl_config_serve SSLSrvConfigRec *sc = apr_palloc(p, sizeof(*sc)); sc->mc = NULL; - sc->enabled = SSL_ENABLED_FALSE; + sc->enabled = SSL_ENABLED_UNSET; sc->proxy_enabled = UNSET; sc->vhost_id = NULL; /* set during module init */ sc->vhost_id_len = 0; /* set during module init */ --- httpd-2.4.6/modules/ssl/ssl_engine_init.c.r1537535 +++ httpd-2.4.6/modules/ssl/ssl_engine_init.c @@ -289,13 +289,16 @@ int ssl_init_Module(apr_pool_t *p, apr_p sc->vhost_id = ssl_util_vhostid(p, s); sc->vhost_id_len = strlen(sc->vhost_id); - if (ap_get_server_protocol(s) && - strcmp("https", ap_get_server_protocol(s)) == 0) { + /* Default to enabled if SSLEngine is not set explicitly, and + * the protocol is https. */ + if (ap_get_server_protocol(s) + && strcmp("https", ap_get_server_protocol(s)) == 0 + && sc->enabled == SSL_ENABLED_UNSET) { sc->enabled = SSL_ENABLED_TRUE; } - /* If sc->enabled is UNSET, then SSL is optional on this vhost */ - /* Fix up stuff that may not have been set */ + /* 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) { sc->enabled = SSL_ENABLED_FALSE; }