diff options
author | Lutz Jänicke <jaenicke@openssl.org> | 2002-11-20 10:48:58 +0000 |
---|---|---|
committer | Lutz Jänicke <jaenicke@openssl.org> | 2002-11-20 10:48:58 +0000 |
commit | 6a8afe2201cd888e472e44225d3c9ca5fae1ca62 (patch) | |
tree | 30bcdd791fb2f15ad1a10da1a59c44e0c722c7fa /ssl | |
parent | 1e3a9b650f2504af1211275433867cface88a5de (diff) | |
download | openssl-6a8afe2201cd888e472e44225d3c9ca5fae1ca62.tar.gz |
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c index bc7523cdf1..45bea069f2 100644 --- a/ssl/s3_clnt.c +++ b/ssl/s3_clnt.c @@ -722,6 +722,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 & |