Commit 6e3067d5 authored by Doug MacEachern's avatar Doug MacEachern
Browse files

fix for last change that removed ssl_util_getmodconfig():

go back to using s->process->pool userdata, but just to store the
global module config during startup so we only create _one_ SSLModConfigRec.
(didn't realize this function was called in both ssl_init_Module and
ssl_config_server_create)
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@92235 13f79535-47bb-0310-9956-ffa450edef68
parent 77a962b3
Loading
Loading
Loading
Loading
+1 −1
Changes for mod_ssl.h: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -567,7 +567,7 @@ typedef struct {
extern module AP_MODULE_DECLARE_DATA ssl_module;

/*  configuration handling   */
void         ssl_config_global_create(server_rec *);
SSLModConfigRec *ssl_config_global_create(server_rec *);
void         ssl_config_global_fix(SSLModConfigRec *);
BOOL         ssl_config_global_isfixed(SSLModConfigRec *);
void        *ssl_config_server_create(apr_pool_t *, server_rec *);
+13 −13
Changes for ssl_engine_config.c: 13 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -68,10 +68,15 @@
**  _________________________________________________________________
*/

void ssl_config_global_create(server_rec *s)
#define SSL_MOD_CONFIG_KEY "ssl_module"

SSLModConfigRec *ssl_config_global_create(server_rec *s)
{
    apr_pool_t *pPool;
    SSLModConfigRec *mc = myModConfig(s);
    SSLModConfigRec *mc;

    apr_pool_userdata_get((void **)&mc, SSL_MOD_CONFIG_KEY,
                          s->process->pool);

    if (mc == NULL) {
        /*
@@ -106,16 +111,11 @@ void ssl_config_global_create(server_rec *s)

        (void)memset(mc->pTmpKeys, 0, SSL_TKPIDX_MAX*sizeof(void *));

        /*
         * And push it into Apache's server config recs
         */
        while (s) {
            SSLSrvConfigRec *sc = mySrvConfig(s);
            sc->mc = mc;
            s = s->next;
        apr_pool_userdata_set((void *)mc, SSL_MOD_CONFIG_KEY,
                              apr_pool_cleanup_null,
                              s->process->pool);
    }
    }
    return;
    return mc;
}

void ssl_config_global_fix(SSLModConfigRec *mc)
@@ -142,9 +142,8 @@ void *ssl_config_server_create(apr_pool_t *p, server_rec *s)
{
    SSLSrvConfigRec *sc;

    ssl_config_global_create(s);

    sc = apr_palloc(p, sizeof(SSLSrvConfigRec));
    sc->mc                     = ssl_config_global_create(s);
    sc->bEnabled               = UNSET;
    sc->szCACertificatePath    = NULL;
    sc->szCACertificateFile    = NULL;
@@ -194,6 +193,7 @@ void *ssl_config_server_merge(apr_pool_t *p, void *basev, void *addv)
    SSLSrvConfigRec *add  = (SSLSrvConfigRec *)addv;
    SSLSrvConfigRec *new  = (SSLSrvConfigRec *)apr_palloc(p, sizeof(SSLSrvConfigRec));

    cfgMerge(mc, NULL);
    cfgMergeString(szVHostID);
    cfgMergeBool(bEnabled);
    cfgMergeString(szCACertificatePath);