Commit 0dd2254d authored by Lutz Jänicke's avatar Lutz Jänicke
Browse files

Store verify_result with sessions to avoid potential security hole.

For the server side this was already done one year ago :-(
parent 03a08489
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -921,6 +921,7 @@ int ssl2_set_certificate(SSL *s, int type, int len, unsigned char *data)
		goto err;
		}
	ERR_clear_error(); /* but we keep s->verify_result */
	s->session->verify_result = s->verify_result;

	/* server's cert for this session */
	sc=ssl_sess_cert_new();
+1 −0
Original line number Diff line number Diff line
@@ -815,6 +815,7 @@ static int ssl3_get_server_certificate(SSL *s)
		X509_free(s->session->peer);
	CRYPTO_add(&x->references,1,CRYPTO_LOCK_X509);
	s->session->peer=x;
	s->session->verify_result = s->verify_result;

	x=NULL;
	ret=1;
+1 −0
Original line number Diff line number Diff line
@@ -508,6 +508,7 @@ int SSL_set_session(SSL *s, SSL_SESSION *session)
		if (s->session != NULL)
			SSL_SESSION_free(s->session);
		s->session=session;
		s->verify_result = s->session->verify_result;
		/* CRYPTO_w_unlock(CRYPTO_LOCK_SSL);*/
		ret=1;
		}