summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_srvr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r--src/lib/libssl/ssl_srvr.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c
index 01155a8d6d..be6bd7402c 100644
--- a/src/lib/libssl/ssl_srvr.c
+++ b/src/lib/libssl/ssl_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_srvr.c,v 1.163 2024/07/19 08:56:17 jsing Exp $ */ 1/* $OpenBSD: ssl_srvr.c,v 1.164 2024/07/20 04:04:23 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -651,7 +651,7 @@ ssl3_accept(SSL *s)
651 goto end; 651 goto end;
652 s->s3->hs.state = SSL3_ST_SW_FINISHED_A; 652 s->s3->hs.state = SSL3_ST_SW_FINISHED_A;
653 s->init_num = 0; 653 s->init_num = 0;
654 s->session->cipher = s->s3->hs.cipher; 654 s->session->cipher_id = s->s3->hs.cipher->id;
655 655
656 if (!tls1_setup_key_block(s)) { 656 if (!tls1_setup_key_block(s)) {
657 ret = -1; 657 ret = -1;
@@ -978,7 +978,7 @@ ssl3_get_client_hello(SSL *s)
978 /* XXX - CBS_len(&cipher_suites) will always be zero here... */ 978 /* XXX - CBS_len(&cipher_suites) will always be zero here... */
979 if (s->hit && CBS_len(&cipher_suites) > 0) { 979 if (s->hit && CBS_len(&cipher_suites) > 0) {
980 j = 0; 980 j = 0;
981 id = s->session->cipher->id; 981 id = s->session->cipher_id;
982 982
983 for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) { 983 for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) {
984 c = sk_SSL_CIPHER_value(ciphers, i); 984 c = sk_SSL_CIPHER_value(ciphers, i);
@@ -1098,7 +1098,7 @@ ssl3_get_client_hello(SSL *s)
1098 SSLerror(s, SSL_R_NO_SHARED_CIPHER); 1098 SSLerror(s, SSL_R_NO_SHARED_CIPHER);
1099 goto fatal_err; 1099 goto fatal_err;
1100 } 1100 }
1101 s->session->cipher = pref_cipher; 1101 s->s3->hs.cipher = pref_cipher;
1102 1102
1103 /* XXX - why? */ 1103 /* XXX - why? */
1104 sk_SSL_CIPHER_free(s->cipher_list); 1104 sk_SSL_CIPHER_free(s->cipher_list);
@@ -1127,8 +1127,11 @@ ssl3_get_client_hello(SSL *s)
1127 goto fatal_err; 1127 goto fatal_err;
1128 } 1128 }
1129 s->s3->hs.cipher = c; 1129 s->s3->hs.cipher = c;
1130 s->session->cipher_id = s->s3->hs.cipher->id;
1130 } else { 1131 } else {
1131 s->s3->hs.cipher = s->session->cipher; 1132 s->s3->hs.cipher = ssl3_get_cipher_by_id(s->session->cipher_id);
1133 if (s->s3->hs.cipher == NULL)
1134 goto fatal_err;
1132 } 1135 }
1133 1136
1134 if (!tls1_transcript_hash_init(s)) 1137 if (!tls1_transcript_hash_init(s))