mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
10 years after r567503 , fix this properly.
The lock is created in post_config, so we can't copy it around in a merge_server_config() callback. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1824811 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
4
CHANGES
4
CHANGES
@@ -1,6 +1,10 @@
|
|||||||
-*- coding: utf-8 -*-
|
-*- coding: utf-8 -*-
|
||||||
Changes with Apache 2.5.1
|
Changes with Apache 2.5.1
|
||||||
|
|
||||||
|
*) mod_ldap: Avoid possible crashes, hangs, and busy loops due to
|
||||||
|
improper merging of the cache lock in vhost config.
|
||||||
|
PR 43164 [Eric Covener]
|
||||||
|
|
||||||
*) core: Create a conn_config_t structure to hold an extendable core config rather
|
*) core: Create a conn_config_t structure to hold an extendable core config rather
|
||||||
than consuming the whole pointer with the connection socket. [Graham Leggett]
|
than consuming the whole pointer with the connection socket. [Graham Leggett]
|
||||||
|
|
||||||
|
@@ -2859,7 +2859,6 @@ static void *util_ldap_merge_config(apr_pool_t *p, void *basev,
|
|||||||
st->search_cache_size = base->search_cache_size;
|
st->search_cache_size = base->search_cache_size;
|
||||||
st->compare_cache_ttl = base->compare_cache_ttl;
|
st->compare_cache_ttl = base->compare_cache_ttl;
|
||||||
st->compare_cache_size = base->compare_cache_size;
|
st->compare_cache_size = base->compare_cache_size;
|
||||||
st->util_ldap_cache_lock = base->util_ldap_cache_lock;
|
|
||||||
|
|
||||||
st->connections = NULL;
|
st->connections = NULL;
|
||||||
st->ssl_supported = 0; /* not known until post-config and re-merged */
|
st->ssl_supported = 0; /* not known until post-config and re-merged */
|
||||||
@@ -2978,12 +2977,12 @@ static int util_ldap_post_config(apr_pool_t *p, apr_pool_t *plog,
|
|||||||
st_vhost = (util_ldap_state_t *)
|
st_vhost = (util_ldap_state_t *)
|
||||||
ap_get_module_config(s_vhost->module_config,
|
ap_get_module_config(s_vhost->module_config,
|
||||||
&ldap_module);
|
&ldap_module);
|
||||||
|
st_vhost->util_ldap_cache = st->util_ldap_cache;
|
||||||
|
st_vhost->util_ldap_cache_lock = st->util_ldap_cache_lock;
|
||||||
#if APR_HAS_SHARED_MEMORY
|
#if APR_HAS_SHARED_MEMORY
|
||||||
st_vhost->cache_shm = st->cache_shm;
|
st_vhost->cache_shm = st->cache_shm;
|
||||||
st_vhost->cache_rmm = st->cache_rmm;
|
st_vhost->cache_rmm = st->cache_rmm;
|
||||||
st_vhost->cache_file = st->cache_file;
|
st_vhost->cache_file = st->cache_file;
|
||||||
st_vhost->util_ldap_cache = st->util_ldap_cache;
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_DEBUG, result, s, APLOGNO(01316)
|
ap_log_error(APLOG_MARK, APLOG_DEBUG, result, s, APLOGNO(01316)
|
||||||
"LDAP merging Shared Cache conf: shm=0x%pp rmm=0x%pp "
|
"LDAP merging Shared Cache conf: shm=0x%pp rmm=0x%pp "
|
||||||
"for VHOST: %s", st->cache_shm, st->cache_rmm,
|
"for VHOST: %s", st->cache_shm, st->cache_rmm,
|
||||||
|
Reference in New Issue
Block a user