Commit 14c88786 authored by Doug MacEachern's avatar Doug MacEachern
Browse files

change existing ssl_init_ctx() to ssl_init_ctx_protocol()

new ssl_init_ctx() inits the lot: protocol, session_cache, callbacks,
verify, cipher suite, crl, cert_chain

new ssl_init_server_ctx function inits everything for sc->server


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@94285 13f79535-47bb-0310-9956-ffa450edef68
parent f8c45bef
Loading
Loading
Loading
Loading
+36 −17
Changes for ssl_engine_init.c: 36 added lines, 17 removed lines.
Original line number Diff line number Diff line
@@ -401,7 +401,7 @@ static void ssl_init_server_check(server_rec *s,
    }
}

static void ssl_init_ctx(server_rec *s,
static void ssl_init_ctx_protocol(server_rec *s,
                                  apr_pool_t *p,
                                  apr_pool_t *ptemp,
                                  modssl_ctx_t *mctx)
@@ -694,6 +694,29 @@ static void ssl_init_ctx_cert_chain(server_rec *s,
            n, n == 1 ? "" : "s");
}

static void ssl_init_ctx(server_rec *s,
                         apr_pool_t *p,
                         apr_pool_t *ptemp,
                         modssl_ctx_t *mctx)
{
    ssl_init_ctx_protocol(s, p, ptemp, mctx);

    ssl_init_ctx_session_cache(s, p, ptemp, mctx);

    ssl_init_ctx_callbacks(s, p, ptemp, mctx);

    ssl_init_ctx_verify(s, p, ptemp, mctx);

    ssl_init_ctx_cipher_suite(s, p, ptemp, mctx);

    ssl_init_ctx_crl(s, p, ptemp, mctx);

    if (mctx->pks) {
        /* XXX: proxy support? */
        ssl_init_ctx_cert_chain(s, p, ptemp, mctx);
    }
}

static int ssl_server_import_cert(server_rec *s,
                                  modssl_ctx_t *mctx,
                                  const char *id,
@@ -878,10 +901,7 @@ static void ssl_init_server_certs(server_rec *s,
    }
}

/*
 * Configure a particular server
 */
void ssl_init_ConfigureServer(server_rec *s,
static void ssl_init_server_ctx(server_rec *s,
                                apr_pool_t *p,
                                apr_pool_t *ptemp,
                                SSLSrvConfigRec *sc)
@@ -890,21 +910,20 @@ void ssl_init_ConfigureServer(server_rec *s,

    ssl_init_ctx(s, p, ptemp, sc->server);

    ssl_init_ctx_session_cache(s, p, ptemp, sc->server);

    ssl_init_ctx_callbacks(s, p, ptemp, sc->server);

    ssl_init_ctx_verify(s, p, ptemp, sc->server);

    ssl_init_ctx_cipher_suite(s, p, ptemp, sc->server);

    ssl_init_ctx_crl(s, p, ptemp, sc->server);

    ssl_init_ctx_cert_chain(s, p, ptemp, sc->server);

    ssl_init_server_certs(s, p, ptemp, sc->server);
}

/*
 * Configure a particular server
 */
void ssl_init_ConfigureServer(server_rec *s,
                              apr_pool_t *p,
                              apr_pool_t *ptemp,
                              SSLSrvConfigRec *sc)
{
    ssl_init_server_ctx(s, p, ptemp, sc);
}

void ssl_init_CheckServers(server_rec *base_server, apr_pool_t *p)
{
    server_rec *s, *ps;