DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=20462>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=20462

Potential fix in ssl_engine_init.c-->stopping or restarting Apache 2.0.46 under 
Windows causes a crash if a module logs in its cleanup routines

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[EMAIL PROTECTED],
                   |                            |[EMAIL PROTECTED]
            Summary|stopping or restarting      |Potential fix in
                   |Apache 2.0.46 under Windows |ssl_engine_init.c-->stopping
                   |causes a crash if a module  |or restarting Apache 2.0.46
                   |logs in its cleanup routines|under Windows causes a crash
                   |                            |if a module logs in its
                   |                            |cleanup routines



------- Additional Comments From [EMAIL PROTECTED]  2004-04-21 16:06 -------
In ssl_engine_init.c, move line  ssl_scache_kill(base_server);
a few lines down as shown below, the probelm seems go away. You can try it out. 
Please let me know if this fixes the problem you've seen, and also if you know 
of any bad side effect of this change.

It looks like from Apache 2.0.44 to 2.0.49, the ssl_init_ModuleKill() function 
itself has not been changed. But I am sure that there are underline code 
changes (which I don't know where) causing later Apache to have this crash 
problem. Without throughly looking into the change history in Apache, I am not 
sure this change will have any bad side effect(e.g. memory leak, etc..). So 
anybody who have opinon on this, please let me know.

Change made in ssl_engine_init.c to fix the crash: 

apr_status_t ssl_init_ModuleKill(void *data)
{
    SSLSrvConfigRec *sc;
    server_rec *base_server = (server_rec *)data;
    server_rec *s;

    
    /* 
     * Destroy the temporary keys and params
     */
    ssl_tmp_keys_free(base_server);

    /*
     * Free the non-pool allocated structures
     * in the per-server configurations
     */
    for (s = base_server; s; s = s->next) {
        sc = mySrvConfig(s);

        ssl_init_ctx_cleanup_proxy(sc->proxy);

        ssl_init_ctx_cleanup_server(sc->server);
    }

    /*
     * Drop the session cache and mutex
     */
    ssl_scache_kill(base_server);

    /*
     * Try to kill the internals of the SSL library.
     */
    ERR_remove_state(0);
    EVP_cleanup();

    return APR_SUCCESS;
}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to