"protocol (%s support secure renegotiation)",
reneg_support);
- SSL_set_session_id_context(ssl,
+ if(!SSL_set_session_id_context(ssl,
(unsigned char *)&id,
- sizeof(id));
+ sizeof(id))) {
+
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(10422)
+ "error setting SSL session context");
+ ssl_log_ssl_error(SSLLOG_MARK, APLOG_ERR, r->server);
+
+ r->connection->keepalive = AP_CONN_CLOSE;
+ return HTTP_FORBIDDEN;
+ }
/* Toggle the renegotiation state to allow the new
* handshake to proceed. */
* a renegotiation.
*/
if (SSL_num_renegotiations(ssl) == 0) {
- SSL_set_session_id_context(ssl, sc->vhost_md5, APR_MD5_DIGESTSIZE*2);
+ if(!SSL_set_session_id_context(ssl, sc->vhost_md5, APR_MD5_DIGESTSIZE*2)) {
+ return 0;
+ }
}
/*