Commit 9da5d79b authored by William A. Rowe Jr's avatar William A. Rowe Jr
Browse files

enables the use of the ssl_var_lookup functionality in the various source
files in modules/ssl. The ap_hook_* functions are still not yet ported to
Apache 2.0 style

Submitted by:	Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89819 13f79535-47bb-0310-9956-ffa450edef68
parent ca75ecd0
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -488,6 +488,7 @@ static void ssl_register_hooks(apr_pool_t *p)
    ap_hook_default_port  (ssl_hook_default_port,  NULL,NULL, APR_HOOK_MIDDLE);
    ap_hook_handler       (ssl_hook_Handler,       NULL,NULL, APR_HOOK_MIDDLE);
    ap_hook_pre_config    (ssl_hook_pre_config,    NULL,NULL, APR_HOOK_MIDDLE);
    ap_hook_fixups        (ssl_hook_Fixup,         NULL,NULL, APR_HOOK_MIDDLE);

#if 0 /* XXX - Work in progress */
    ap_hook_child_init    (ssl_init_Child,         NULL,NULL, APR_HOOK_MIDDLE);
@@ -508,10 +509,8 @@ static void ssl_register_hooks(apr_pool_t *p)
    ap_hook_type_checker  (ssl_hook_fixer_upper,   NULL,NULL, APR_HOOK_MIDDLE);
    ap_hook_insert_filter (ssl_hook_insert_filter, NULL,NULL, APR_HOOK_MIDDLE);
#endif
#if 0 /* XXX */
    ssl_var_register();
    ssl_io_register();
#endif
}

module AP_MODULE_DECLARE_DATA ssl_module = {
+6 −9
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ void ssl_init_Module(apr_pool_t *p, apr_pool_t *plog,
    SSLModConfigRec *mc = myModConfig(s);
    SSLSrvConfigRec *sc;
    server_rec *s2;
    char *cp;

    /*
     * Let us cleanup on restarts and exists
@@ -121,12 +122,10 @@ void ssl_init_Module(apr_pool_t *p, apr_pool_t *plog,
     * Identification
     */
    if (mc->nInitCount == 1) {
#if 0 /* XXX */
        ssl_log(s, SSL_LOG_INFO, "Server: %s, Interface: %s, Library: %s",
                AP_SERVER_BASEVERSION,
                ssl_var_lookup(p, NULL, NULL, NULL, "SSL_VERSION_INTERFACE"),
                ssl_var_lookup(p, NULL, NULL, NULL, "SSL_VERSION_LIBRARY"));
#endif
                ssl_var_lookup(p, s, NULL, NULL, "SSL_VERSION_INTERFACE"),
                ssl_var_lookup(p, s, NULL, NULL, "SSL_VERSION_LIBRARY"));
    }

    /*
@@ -257,12 +256,10 @@ void ssl_init_Module(apr_pool_t *p, apr_pool_t *plog,
     *  Announce mod_ssl and SSL library in HTTP Server field
     *  as ``mod_ssl/X.X.X OpenSSL/X.X.X''
     */
#if 0 /* XXX */
    if ((cp = ssl_var_lookup(p, NULL, NULL, NULL, "SSL_VERSION_PRODUCT")) != NULL && cp[0] != NUL)
    if ((cp = ssl_var_lookup(p, s, NULL, NULL, "SSL_VERSION_PRODUCT")) != NULL && cp[0] != NUL)
        ap_add_version_component(p, cp);
    ap_add_version_component(p, ssl_var_lookup(p, NULL, NULL, NULL, "SSL_VERSION_INTERFACE"));
    ap_add_version_component(p, ssl_var_lookup(p, NULL, NULL, NULL, "SSL_VERSION_LIBRARY"));
#endif
    ap_add_version_component(p, ssl_var_lookup(p, s, NULL, NULL, "SSL_VERSION_INTERFACE"));
    ap_add_version_component(p, ssl_var_lookup(p, s, NULL, NULL, "SSL_VERSION_LIBRARY"));

    return;
}
+0 −8
Original line number Diff line number Diff line
@@ -1298,9 +1298,7 @@ int ssl_hook_Fixup(request_rec *r)
    if (dc->nOptions & SSL_OPT_STDENVVARS) {
        for (i = 0; ssl_hook_Fixup_vars[i] != NULL; i++) {
            var = (char *)ssl_hook_Fixup_vars[i];
#if 0 /* XXX */
            val = ssl_var_lookup(r->pool, r->server, r->connection, r, var);
#endif
            if (!strIsEmpty(val))
                apr_table_set(e, var, val);
        }
@@ -1310,18 +1308,14 @@ int ssl_hook_Fixup(request_rec *r)
     * On-demand bloat up the SSI/CGI environment with certificate data
     */
    if (dc->nOptions & SSL_OPT_EXPORTCERTDATA) {
#if 0 /* XXX */
        val = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_SERVER_CERT");
        apr_table_set(e, "SSL_SERVER_CERT", val);
        val = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_CLIENT_CERT");
        apr_table_set(e, "SSL_CLIENT_CERT", val);
#endif
        if ((sk = SSL_get_peer_cert_chain(ssl)) != NULL) {
            for (i = 0; i < sk_X509_num(sk); i++) {
                var = apr_psprintf(r->pool, "SSL_CLIENT_CERT_CHAIN_%d", i);
#if 0 /* XXX */
                val = ssl_var_lookup(r->pool, r->server, r->connection, r, var);
#endif
                if (val != NULL)
                     apr_table_setn(e, var, val);
            }
@@ -1894,7 +1888,6 @@ void ssl_callback_LogTracingState(SSL *ssl, int where, int rc)
     * right after a finished handshake.
     */
    if (where & SSL_CB_HANDSHAKE_DONE) {
#if 0 /* XXX */
        ssl_log(s, SSL_LOG_INFO,
                "Connection: Client IP: %s, Protocol: %s, Cipher: %s (%s/%s bits)",
                ssl_var_lookup(NULL, s, c, NULL, "REMOTE_ADDR"),
@@ -1902,7 +1895,6 @@ void ssl_callback_LogTracingState(SSL *ssl, int where, int rc)
                ssl_var_lookup(NULL, s, c, NULL, "SSL_CIPHER"),
                ssl_var_lookup(NULL, s, c, NULL, "SSL_CIPHER_USEKEYSIZE"),
                ssl_var_lookup(NULL, s, c, NULL, "SSL_CIPHER_ALGKEYSIZE"));
#endif
    }

    return;