| 1006 | #endif |
| 1007 | |
| 1008 | static void ssl_init_ctx_callbacks(server_rec *s, |
| 1009 | apr_pool_t *p, |
| 1010 | apr_pool_t *ptemp, |
| 1011 | modssl_ctx_t *mctx) |
| 1012 | { |
| 1013 | SSL_CTX *ctx = mctx->ssl_ctx; |
| 1014 | |
| 1015 | #if MODSSL_USE_OPENSSL_PRE_1_1_API |
| 1016 | /* Note that for OpenSSL>=1.1, auto selection is enabled via |
| 1017 | * SSL_CTX_set_dh_auto(,1) if no parameter is configured. */ |
| 1018 | SSL_CTX_set_tmp_dh_callback(ctx, ssl_callback_TmpDH); |
| 1019 | #endif |
| 1020 | |
| 1021 | /* The info callback is used for debug-level tracing. For OpenSSL |
| 1022 | * versions where SSL_OP_NO_RENEGOTIATION is not available, the |
| 1023 | * callback is also used to prevent use of client-initiated |
| 1024 | * renegotiation. Enable it in either case. */ |
| 1025 | if (APLOGdebug(s) || MODSSL_BLOCKS_RENEG) { |
| 1026 | SSL_CTX_set_info_callback(ctx, ssl_callback_Info); |
| 1027 | } |
| 1028 | |
| 1029 | #ifdef HAVE_TLS_ALPN |
| 1030 | SSL_CTX_set_alpn_select_cb(ctx, ssl_callback_alpn_select, NULL); |
| 1031 | #endif |
| 1032 | } |
| 1033 | |
| 1034 | static APR_INLINE |
| 1035 | int modssl_CTX_load_verify_locations(SSL_CTX *ctx, |