From: Eric Covener Date: Thu, 8 Sep 2011 17:37:46 +0000 (+0000) Subject: mod_ldap: Optional function uldap_ssl_supported(r) always returned false X-Git-Tag: 2.3.15~285 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81097d51904625021e7ffd5feb4c5328bbf3e8de;p=thirdparty%2Fapache%2Fhttpd.git mod_ldap: Optional function uldap_ssl_supported(r) always returned false if called from a virtual host with mod_ldap directives in it. Did not affect mod_authnz_ldap's usage of mod_ldap. [Eric Covener] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1166823 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index f43a3cb725a..c9e5c50fc32 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,10 @@ Changes with Apache 2.3.15 the original file, ignore the ranges and send the complete file. PR 51714. [Stefan Fritsch, Jim Jagielski, Ruediger Pluem, Eric Covener] + *) mod_ldap: Optional function uldap_ssl_supported(r) always returned false + if called from a virtual host with mod_ldap directives in it. Did not + affect mod_authnz_ldap's usage of mod_ldap. [Eric Covener] + *) mod_filter: Instead of dropping the Accept-Ranges header when a filter registered with AP_FILTER_PROTO_NO_BYTERANGE is present, set the header value to "none". [Eric Covener, Ruediger Pluem] diff --git a/modules/ldap/util_ldap.c b/modules/ldap/util_ldap.c index 075e9d8c870..d0b76a2b98a 100644 --- a/modules/ldap/util_ldap.c +++ b/modules/ldap/util_ldap.c @@ -2757,7 +2757,7 @@ static void *util_ldap_merge_config(apr_pool_t *p, void *basev, st->util_ldap_cache_lock = base->util_ldap_cache_lock; st->connections = NULL; - st->ssl_supported = 0; + st->ssl_supported = 0; /* not known until post-config and re-merged */ st->global_certs = apr_array_append(p, base->global_certs, overrides->global_certs); st->secure = (overrides->secure_set == 0) ? base->secure @@ -2938,6 +2938,16 @@ static int util_ldap_post_config(apr_pool_t *p, apr_pool_t *plog, result_err ? result_err->reason : ""); } + /* ssl_supported is really a global setting */ + s_vhost = s->next; + while (s_vhost) { + st_vhost = (util_ldap_state_t *) + ap_get_module_config(s_vhost->module_config, + &ldap_module); + + st_vhost->ssl_supported = st->ssl_supported; + } + /* Initialize the rebind callback's cross reference list. */ apr_ldap_rebind_init (p);