Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openssl/openssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/ssl
diff options
context:
space:
mode:
authorLutz Jänicke <jaenicke@openssl.org>2002-11-20 13:46:35 +0300
committerLutz Jänicke <jaenicke@openssl.org>2002-11-20 13:46:35 +0300
commita153c46d7f8a968ee8e8dce2d1f9aff5cc084234 (patch)
tree6fd6a8138dc55028d348c6d578d4896a6b258d13 /ssl
parent8faad520ae323c1fa2a49aa69b4decfbe3452e71 (diff)
Fix bug introduced by the attempt to fix client side external session
caching (#288): now internal caching failed (#351): Make sure, that cipher_id is set before comparing. Submitted by: Reviewed by: PR: 288 (and 351)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_clnt.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index 44ad368d0e..9425ec6728 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -696,6 +696,11 @@ static int ssl3_get_server_hello(SSL *s)
goto f_err;
}
+ /* Depending on the session caching (internal/external), the cipher
+ and/or cipher_id values may not be set. Make sure that
+ cipher_id is set and use it for comparison. */
+ if (s->session->cipher)
+ s->session->cipher_id = s->session->cipher->id;
if (s->hit && (s->session->cipher_id != c->id))
{
if (!(s->options &