On 3/17/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Author: bnicholes
> Date: Fri Mar 17 11:26:27 2006
> New Revision: 386698
>
> URL: http://svn.apache.org/viewcvs?rev=386698&view=rev
> Log:
> Fix the server_merge so that the memory pools and mutexes that were created 
> during the server_create, are used.  Allow the settings that can be 
> overwritten in a vhost to use the vhost values
>
> Modified:
>     httpd/httpd/trunk/modules/ldap/util_ldap.c
>
> Modified: httpd/httpd/trunk/modules/ldap/util_ldap.c
> URL: 
> http://svn.apache.org/viewcvs/httpd/httpd/trunk/modules/ldap/util_ldap.c?rev=386698&r1=386697&r2=386698&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/ldap/util_ldap.c (original)
> +++ httpd/httpd/trunk/modules/ldap/util_ldap.c Fri Mar 17 11:26:27 2006
> @@ -1753,24 +1753,36 @@
>      util_ldap_state_t *base = (util_ldap_state_t *) basev;
>      util_ldap_state_t *overrides = (util_ldap_state_t *) overridesv;
>
> -    st->pool = base->pool;
> +    st->pool = overrides->pool;
>  #if APR_HAS_THREADS
> -    st->mutex = base->mutex;
> +    st->mutex = overrides->mutex;
>  #endif
>
> +    /* The cache settings can not be modified in a
> +        virtual host since all server use the same
> +        shared memory cache. */
>      st->cache_bytes = base->cache_bytes;
>      st->search_cache_ttl = base->search_cache_ttl;
>      st->search_cache_size = base->search_cache_size;
>      st->compare_cache_ttl = base->compare_cache_ttl;
>      st->compare_cache_size = base->compare_cache_size;
> -    st->connections = base->connections;
> -    st->ssl_supported = base->ssl_supported;
> +
> +    st->connections = NULL;
> +    st->ssl_supported = 0;
>      st->global_certs = apr_array_append(p, base->global_certs,
>                                             overrides->global_certs);
>      st->client_certs = apr_array_append(p, base->client_certs,
>                                             overrides->client_certs);
>      st->secure = (overrides->secure_set == 0) ? base->secure
>                                                : overrides->secure;
> +
> +    /* LDAP connection settings can be overwritten in a virtual host */
> +    st->connectionTimeout = (overrides->connectionTimeout == 10)
> +                                ? base->connectionTimeout
> +                                : overrides->connectionTimeout;

actually, it can't...

util_ldap_set_connection_timeout() has
  err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
  if (err != NULL) {
    return err;
  }

should I remove that check for GLOBAL_ONLY?

I can a check for GLOBAL_ONLY and try to update the docs for
directives that aren't appropriate in a vhost, according to your notes
in the merge function.

Reply via email to