Commit 80ee7582 authored by Doug MacEachern's avatar Doug MacEachern
Browse files

break out cipher suite initialization into ssl_init_cipher_suite function


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@94245 13f79535-47bb-0310-9956-ffa450edef68
parent 26426a25
Loading
Loading
Loading
Loading
+30 −17
Changes for ssl_engine_init.c: 30 added lines, 17 removed lines.
Original line number Diff line number Diff line
@@ -529,6 +529,34 @@ static void ssl_init_verify(server_rec *s,
    }
}

static void ssl_init_cipher_suite(server_rec *s,
                                  apr_pool_t *p,
                                  apr_pool_t *ptemp,
                                  SSLSrvConfigRec *sc)
{
    SSL_CTX *ctx = sc->pSSLCtx;
    const char *vhost_id = sc->szVHostID;
    const char *suite = sc->szCipherSuite;

    /*
     *  Configure SSL Cipher Suite
     */
    if (!suite) {
        return;
    }

    ssl_log(s, SSL_LOG_TRACE,
            "Init: (%s) Configuring permitted SSL ciphers [%s]", 
            vhost_id, suite);

    if (!SSL_CTX_set_cipher_list(ctx, suite)) {
        ssl_log(s, SSL_LOG_ERROR|SSL_ADD_SSLERR,
                "Init: (%s) Unable to configure permitted SSL ciphers",
                vhost_id);
        ssl_die();
    }
}

/*
 * Configure a particular server
 */
@@ -583,6 +611,8 @@ void ssl_init_ConfigureServer(server_rec *s,

    ssl_init_verify(s, p, ptemp, sc);

    ssl_init_cipher_suite(s, p, ptemp, sc);

    SSL_CTX_set_tmp_rsa_callback(ctx, ssl_callback_TmpRSA);
    SSL_CTX_set_tmp_dh_callback(ctx,  ssl_callback_TmpDH);

@@ -591,23 +621,6 @@ void ssl_init_ConfigureServer(server_rec *s,
        SSL_CTX_set_info_callback(ctx, ssl_callback_LogTracingState);
    }

    /*
     *  Configure SSL Cipher Suite
     */
    if (sc->szCipherSuite) {
        ssl_log(s, SSL_LOG_TRACE,
                "Init: (%s) Configuring permitted SSL ciphers [%s]", 
                vhost_id, sc->szCipherSuite);

        if (!SSL_CTX_set_cipher_list(ctx, sc->szCipherSuite)) {
            ssl_log(s, SSL_LOG_ERROR|SSL_ADD_SSLERR,
                    "Init: (%s) Unable to configure permitted SSL ciphers",
                    vhost_id);
            ssl_die();
        }
    }


    /*
     * Configure Certificate Revocation List (CRL) Details
     */