diff options
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r-- | src/lib/libssl/ssl_srvr.c | 13 |
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)) |