| 1373 | } |
| 1374 | |
| 1375 | static apr_status_t ssl_init_ctx(server_rec *s, |
| 1376 | apr_pool_t *p, |
| 1377 | apr_pool_t *ptemp, |
| 1378 | modssl_ctx_t *mctx) |
| 1379 | { |
| 1380 | apr_status_t rv; |
| 1381 | |
| 1382 | if ((rv = ssl_init_ctx_protocol(s, p, ptemp, mctx)) != APR_SUCCESS) { |
| 1383 | return rv; |
| 1384 | } |
| 1385 | |
| 1386 | ssl_init_ctx_session_cache(s, p, ptemp, mctx); |
| 1387 | |
| 1388 | ssl_init_ctx_callbacks(s, p, ptemp, mctx); |
| 1389 | |
| 1390 | if ((rv = ssl_init_ctx_verify(s, p, ptemp, mctx)) != APR_SUCCESS) { |
| 1391 | return rv; |
| 1392 | } |
| 1393 | |
| 1394 | if ((rv = ssl_init_ctx_cipher_suite(s, p, ptemp, mctx)) != APR_SUCCESS) { |
| 1395 | return rv; |
| 1396 | } |
| 1397 | |
| 1398 | if ((rv = ssl_init_ctx_crl(s, p, ptemp, mctx)) != APR_SUCCESS) { |
| 1399 | return rv; |
| 1400 | } |
| 1401 | |
| 1402 | if (mctx->pks) { |
| 1403 | /* XXX: proxy support? */ |
| 1404 | if ((rv = ssl_init_ctx_cert_chain(s, p, ptemp, mctx)) != APR_SUCCESS) { |
| 1405 | return rv; |
| 1406 | } |
| 1407 | #ifdef HAVE_TLSEXT |
| 1408 | if ((rv = ssl_init_ctx_tls_extensions(s, p, ptemp, mctx)) != |
| 1409 | APR_SUCCESS) { |
| 1410 | return rv; |
| 1411 | } |
| 1412 | #endif |
| 1413 | } |
| 1414 | |
| 1415 | return APR_SUCCESS; |
| 1416 | } |
| 1417 | |
| 1418 | static void ssl_check_public_cert(server_rec *s, |
| 1419 | apr_pool_t *ptemp, |
no test coverage detected