diff options
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
| -rw-r--r-- | src/lib/libssl/ssl_srvr.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index be6bd7402c..302b6bdf0f 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.164 2024/07/20 04:04:23 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.165 2024/07/22 14:47:15 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_id = s->s3->hs.cipher->id; | 654 | s->session->cipher_value = s->s3->hs.cipher->value; |
| 655 | 655 | ||
| 656 | if (!tls1_setup_key_block(s)) { | 656 | if (!tls1_setup_key_block(s)) { |
| 657 | ret = -1; | 657 | ret = -1; |
| @@ -781,7 +781,6 @@ ssl3_get_client_hello(SSL *s) | |||
| 781 | uint8_t comp_method; | 781 | uint8_t comp_method; |
| 782 | int comp_null; | 782 | int comp_null; |
| 783 | int i, j, al, ret, cookie_valid = 0; | 783 | int i, j, al, ret, cookie_valid = 0; |
| 784 | unsigned long id; | ||
| 785 | SSL_CIPHER *c; | 784 | SSL_CIPHER *c; |
| 786 | STACK_OF(SSL_CIPHER) *ciphers = NULL; | 785 | STACK_OF(SSL_CIPHER) *ciphers = NULL; |
| 787 | const SSL_METHOD *method; | 786 | const SSL_METHOD *method; |
| @@ -978,11 +977,10 @@ ssl3_get_client_hello(SSL *s) | |||
| 978 | /* XXX - CBS_len(&cipher_suites) will always be zero here... */ | 977 | /* XXX - CBS_len(&cipher_suites) will always be zero here... */ |
| 979 | if (s->hit && CBS_len(&cipher_suites) > 0) { | 978 | if (s->hit && CBS_len(&cipher_suites) > 0) { |
| 980 | j = 0; | 979 | j = 0; |
| 981 | id = s->session->cipher_id; | ||
| 982 | 980 | ||
| 983 | for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) { | 981 | for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) { |
| 984 | c = sk_SSL_CIPHER_value(ciphers, i); | 982 | c = sk_SSL_CIPHER_value(ciphers, i); |
| 985 | if (c->id == id) { | 983 | if (c->value == s->session->cipher_value) { |
| 986 | j = 1; | 984 | j = 1; |
| 987 | break; | 985 | break; |
| 988 | } | 986 | } |
| @@ -1127,9 +1125,9 @@ ssl3_get_client_hello(SSL *s) | |||
| 1127 | goto fatal_err; | 1125 | goto fatal_err; |
| 1128 | } | 1126 | } |
| 1129 | s->s3->hs.cipher = c; | 1127 | s->s3->hs.cipher = c; |
| 1130 | s->session->cipher_id = s->s3->hs.cipher->id; | 1128 | s->session->cipher_value = s->s3->hs.cipher->value; |
| 1131 | } else { | 1129 | } else { |
| 1132 | s->s3->hs.cipher = ssl3_get_cipher_by_id(s->session->cipher_id); | 1130 | s->s3->hs.cipher = ssl3_get_cipher_by_value(s->session->cipher_value); |
| 1133 | if (s->s3->hs.cipher == NULL) | 1131 | if (s->s3->hs.cipher == NULL) |
| 1134 | goto fatal_err; | 1132 | goto fatal_err; |
| 1135 | } | 1133 | } |
| @@ -1269,8 +1267,7 @@ ssl3_send_server_hello(SSL *s) | |||
| 1269 | goto err; | 1267 | goto err; |
| 1270 | 1268 | ||
| 1271 | /* Cipher suite. */ | 1269 | /* Cipher suite. */ |
| 1272 | if (!CBB_add_u16(&server_hello, | 1270 | if (!CBB_add_u16(&server_hello, s->s3->hs.cipher->value)) |
| 1273 | ssl3_cipher_get_value(s->s3->hs.cipher))) | ||
| 1274 | goto err; | 1271 | goto err; |
| 1275 | 1272 | ||
| 1276 | /* Compression method (null). */ | 1273 | /* Compression method (null). */ |
