diff options
-rw-r--r-- | src/lib/libssl/s3_lib.c | 4 | ||||
-rw-r--r-- | src/lib/libssl/ssl_both.c | 4 | ||||
-rw-r--r-- | src/lib/libssl/ssl_ciph.c | 6 | ||||
-rw-r--r-- | src/lib/libssl/ssl_clnt.c | 28 | ||||
-rw-r--r-- | src/lib/libssl/ssl_lib.c | 16 | ||||
-rw-r--r-- | src/lib/libssl/ssl_locl.h | 4 | ||||
-rw-r--r-- | src/lib/libssl/ssl_pkt.c | 6 | ||||
-rw-r--r-- | src/lib/libssl/ssl_srvr.c | 34 | ||||
-rw-r--r-- | src/lib/libssl/t1_enc.c | 4 | ||||
-rw-r--r-- | src/lib/libssl/tls13_client.c | 10 | ||||
-rw-r--r-- | src/lib/libssl/tls13_server.c | 12 |
11 files changed, 64 insertions, 64 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 5e39907d9c..9df06c51be 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_lib.c,v 1.205 2021/03/21 18:36:34 jsing Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.206 2021/03/24 18:43:59 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 | * |
@@ -2548,7 +2548,7 @@ ssl3_get_req_cert_types(SSL *s, CBB *cbb) | |||
2548 | { | 2548 | { |
2549 | unsigned long alg_k; | 2549 | unsigned long alg_k; |
2550 | 2550 | ||
2551 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 2551 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
2552 | 2552 | ||
2553 | #ifndef OPENSSL_NO_GOST | 2553 | #ifndef OPENSSL_NO_GOST |
2554 | if ((alg_k & SSL_kGOST) != 0) { | 2554 | if ((alg_k & SSL_kGOST) != 0) { |
diff --git a/src/lib/libssl/ssl_both.c b/src/lib/libssl/ssl_both.c index 6ce127fb0b..6625286daf 100644 --- a/src/lib/libssl/ssl_both.c +++ b/src/lib/libssl/ssl_both.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_both.c,v 1.24 2021/02/20 14:14:16 tb Exp $ */ | 1 | /* $OpenBSD: ssl_both.c,v 1.25 2021/03/24 18:44:00 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 | * |
@@ -224,7 +224,7 @@ ssl3_take_mac(SSL *s) | |||
224 | * If no new cipher setup return immediately: other functions will | 224 | * If no new cipher setup return immediately: other functions will |
225 | * set the appropriate error. | 225 | * set the appropriate error. |
226 | */ | 226 | */ |
227 | if (S3I(s)->hs.new_cipher == NULL) | 227 | if (S3I(s)->hs.cipher == NULL) |
228 | return; | 228 | return; |
229 | 229 | ||
230 | if (S3I(s)->hs.state & SSL_ST_CONNECT) { | 230 | if (S3I(s)->hs.state & SSL_ST_CONNECT) { |
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c index 1ffd90dc16..ee627a8c1e 100644 --- a/src/lib/libssl/ssl_ciph.c +++ b/src/lib/libssl/ssl_ciph.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_ciph.c,v 1.120 2021/02/07 15:26:32 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_ciph.c,v 1.121 2021/03/24 18:44:00 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 | * |
@@ -563,10 +563,10 @@ ssl_get_handshake_evp_md(SSL *s, const EVP_MD **md) | |||
563 | 563 | ||
564 | *md = NULL; | 564 | *md = NULL; |
565 | 565 | ||
566 | if (S3I(s)->hs.new_cipher == NULL) | 566 | if (S3I(s)->hs.cipher == NULL) |
567 | return 0; | 567 | return 0; |
568 | 568 | ||
569 | handshake_mac = S3I(s)->hs.new_cipher->algorithm2 & | 569 | handshake_mac = S3I(s)->hs.cipher->algorithm2 & |
570 | SSL_HANDSHAKE_MAC_MASK; | 570 | SSL_HANDSHAKE_MAC_MASK; |
571 | 571 | ||
572 | /* For TLSv1.2 we upgrade the default MD5+SHA1 MAC to SHA256. */ | 572 | /* For TLSv1.2 we upgrade the default MD5+SHA1 MAC to SHA256. */ |
diff --git a/src/lib/libssl/ssl_clnt.c b/src/lib/libssl/ssl_clnt.c index 0f602bef7e..984ade0957 100644 --- a/src/lib/libssl/ssl_clnt.c +++ b/src/lib/libssl/ssl_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_clnt.c,v 1.87 2021/03/24 18:40:03 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_clnt.c,v 1.88 2021/03/24 18:44:00 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 | * |
@@ -343,7 +343,7 @@ ssl3_connect(SSL *s) | |||
343 | break; | 343 | break; |
344 | } | 344 | } |
345 | /* Check if it is anon DH/ECDH. */ | 345 | /* Check if it is anon DH/ECDH. */ |
346 | if (!(S3I(s)->hs.new_cipher->algorithm_auth & | 346 | if (!(S3I(s)->hs.cipher->algorithm_auth & |
347 | SSL_aNULL)) { | 347 | SSL_aNULL)) { |
348 | ret = ssl3_get_server_certificate(s); | 348 | ret = ssl3_get_server_certificate(s); |
349 | if (ret <= 0) | 349 | if (ret <= 0) |
@@ -477,7 +477,7 @@ ssl3_connect(SSL *s) | |||
477 | S3I(s)->hs.state = SSL3_ST_CW_FINISHED_A; | 477 | S3I(s)->hs.state = SSL3_ST_CW_FINISHED_A; |
478 | s->internal->init_num = 0; | 478 | s->internal->init_num = 0; |
479 | 479 | ||
480 | s->session->cipher = S3I(s)->hs.new_cipher; | 480 | s->session->cipher = S3I(s)->hs.cipher; |
481 | if (!tls1_setup_key_block(s)) { | 481 | if (!tls1_setup_key_block(s)) { |
482 | ret = -1; | 482 | ret = -1; |
483 | goto end; | 483 | goto end; |
@@ -1054,7 +1054,7 @@ ssl3_get_server_hello(SSL *s) | |||
1054 | SSLerror(s, SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED); | 1054 | SSLerror(s, SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED); |
1055 | goto fatal_err; | 1055 | goto fatal_err; |
1056 | } | 1056 | } |
1057 | S3I(s)->hs.new_cipher = cipher; | 1057 | S3I(s)->hs.cipher = cipher; |
1058 | 1058 | ||
1059 | if (!tls1_transcript_hash_init(s)) | 1059 | if (!tls1_transcript_hash_init(s)) |
1060 | goto err; | 1060 | goto err; |
@@ -1063,7 +1063,7 @@ ssl3_get_server_hello(SSL *s) | |||
1063 | * Don't digest cached records if no sigalgs: we may need them for | 1063 | * Don't digest cached records if no sigalgs: we may need them for |
1064 | * client authentication. | 1064 | * client authentication. |
1065 | */ | 1065 | */ |
1066 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 1066 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
1067 | if (!(SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST))) | 1067 | if (!(SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST))) |
1068 | tls1_transcript_free(s); | 1068 | tls1_transcript_free(s); |
1069 | 1069 | ||
@@ -1276,7 +1276,7 @@ ssl3_get_server_kex_dhe(SSL *s, EVP_PKEY **pkey, CBS *cbs) | |||
1276 | long alg_a; | 1276 | long alg_a; |
1277 | int al; | 1277 | int al; |
1278 | 1278 | ||
1279 | alg_a = S3I(s)->hs.new_cipher->algorithm_auth; | 1279 | alg_a = S3I(s)->hs.cipher->algorithm_auth; |
1280 | sc = SSI(s)->sess_cert; | 1280 | sc = SSI(s)->sess_cert; |
1281 | 1281 | ||
1282 | if ((dh = DH_new()) == NULL) { | 1282 | if ((dh = DH_new()) == NULL) { |
@@ -1404,7 +1404,7 @@ ssl3_get_server_kex_ecdhe(SSL *s, EVP_PKEY **pkey, CBS *cbs) | |||
1404 | int nid; | 1404 | int nid; |
1405 | int al; | 1405 | int al; |
1406 | 1406 | ||
1407 | alg_a = S3I(s)->hs.new_cipher->algorithm_auth; | 1407 | alg_a = S3I(s)->hs.cipher->algorithm_auth; |
1408 | sc = SSI(s)->sess_cert; | 1408 | sc = SSI(s)->sess_cert; |
1409 | 1409 | ||
1410 | /* Only named curves are supported. */ | 1410 | /* Only named curves are supported. */ |
@@ -1483,8 +1483,8 @@ ssl3_get_server_key_exchange(SSL *s) | |||
1483 | 1483 | ||
1484 | EVP_MD_CTX_init(&md_ctx); | 1484 | EVP_MD_CTX_init(&md_ctx); |
1485 | 1485 | ||
1486 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 1486 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
1487 | alg_a = S3I(s)->hs.new_cipher->algorithm_auth; | 1487 | alg_a = S3I(s)->hs.cipher->algorithm_auth; |
1488 | 1488 | ||
1489 | /* | 1489 | /* |
1490 | * Use same message size as in ssl3_get_certificate_request() | 1490 | * Use same message size as in ssl3_get_certificate_request() |
@@ -1682,7 +1682,7 @@ ssl3_get_certificate_request(SSL *s) | |||
1682 | } | 1682 | } |
1683 | 1683 | ||
1684 | /* TLS does not like anon-DH with client cert */ | 1684 | /* TLS does not like anon-DH with client cert */ |
1685 | if (S3I(s)->hs.new_cipher->algorithm_auth & SSL_aNULL) { | 1685 | if (S3I(s)->hs.cipher->algorithm_auth & SSL_aNULL) { |
1686 | ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_UNEXPECTED_MESSAGE); | 1686 | ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_UNEXPECTED_MESSAGE); |
1687 | SSLerror(s, SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER); | 1687 | SSLerror(s, SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER); |
1688 | goto err; | 1688 | goto err; |
@@ -2251,7 +2251,7 @@ ssl3_send_client_kex_gost(SSL *s, SESS_CERT *sess_cert, CBB *cbb) | |||
2251 | } | 2251 | } |
2252 | 2252 | ||
2253 | /* XXX check handshake hash instead. */ | 2253 | /* XXX check handshake hash instead. */ |
2254 | if (S3I(s)->hs.new_cipher->algorithm2 & SSL_HANDSHAKE_MAC_GOST94) | 2254 | if (S3I(s)->hs.cipher->algorithm2 & SSL_HANDSHAKE_MAC_GOST94) |
2255 | nid = NID_id_GostR3411_94; | 2255 | nid = NID_id_GostR3411_94; |
2256 | else | 2256 | else |
2257 | nid = NID_id_tc26_gost3411_2012_256; | 2257 | nid = NID_id_tc26_gost3411_2012_256; |
@@ -2314,7 +2314,7 @@ ssl3_send_client_key_exchange(SSL *s) | |||
2314 | memset(&cbb, 0, sizeof(cbb)); | 2314 | memset(&cbb, 0, sizeof(cbb)); |
2315 | 2315 | ||
2316 | if (S3I(s)->hs.state == SSL3_ST_CW_KEY_EXCH_A) { | 2316 | if (S3I(s)->hs.state == SSL3_ST_CW_KEY_EXCH_A) { |
2317 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 2317 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
2318 | 2318 | ||
2319 | if ((sess_cert = SSI(s)->sess_cert) == NULL) { | 2319 | if ((sess_cert = SSI(s)->sess_cert) == NULL) { |
2320 | ssl3_send_alert(s, SSL3_AL_FATAL, | 2320 | ssl3_send_alert(s, SSL3_AL_FATAL, |
@@ -2726,8 +2726,8 @@ ssl3_check_cert_and_algorithm(SSL *s) | |||
2726 | SESS_CERT *sc; | 2726 | SESS_CERT *sc; |
2727 | DH *dh; | 2727 | DH *dh; |
2728 | 2728 | ||
2729 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 2729 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
2730 | alg_a = S3I(s)->hs.new_cipher->algorithm_auth; | 2730 | alg_a = S3I(s)->hs.cipher->algorithm_auth; |
2731 | 2731 | ||
2732 | /* We don't have a certificate. */ | 2732 | /* We don't have a certificate. */ |
2733 | if (alg_a & SSL_aNULL) | 2733 | if (alg_a & SSL_aNULL) |
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 4b215a786d..e3e0c974af 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_lib.c,v 1.251 2021/03/02 15:43:12 tb Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.252 2021/03/24 18:44:00 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 | * |
@@ -2111,8 +2111,8 @@ ssl_using_ecc_cipher(SSL *s) | |||
2111 | { | 2111 | { |
2112 | unsigned long alg_a, alg_k; | 2112 | unsigned long alg_a, alg_k; |
2113 | 2113 | ||
2114 | alg_a = S3I(s)->hs.new_cipher->algorithm_auth; | 2114 | alg_a = S3I(s)->hs.cipher->algorithm_auth; |
2115 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 2115 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
2116 | 2116 | ||
2117 | return SSI(s)->tlsext_ecpointformatlist != NULL && | 2117 | return SSI(s)->tlsext_ecpointformatlist != NULL && |
2118 | SSI(s)->tlsext_ecpointformatlist_length > 0 && | 2118 | SSI(s)->tlsext_ecpointformatlist_length > 0 && |
@@ -2122,7 +2122,7 @@ ssl_using_ecc_cipher(SSL *s) | |||
2122 | int | 2122 | int |
2123 | ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s) | 2123 | ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s) |
2124 | { | 2124 | { |
2125 | const SSL_CIPHER *cs = S3I(s)->hs.new_cipher; | 2125 | const SSL_CIPHER *cs = S3I(s)->hs.cipher; |
2126 | unsigned long alg_a; | 2126 | unsigned long alg_a; |
2127 | 2127 | ||
2128 | alg_a = cs->algorithm_auth; | 2128 | alg_a = cs->algorithm_auth; |
@@ -2150,9 +2150,9 @@ ssl_get_server_send_pkey(const SSL *s) | |||
2150 | int i; | 2150 | int i; |
2151 | 2151 | ||
2152 | c = s->cert; | 2152 | c = s->cert; |
2153 | ssl_set_cert_masks(c, S3I(s)->hs.new_cipher); | 2153 | ssl_set_cert_masks(c, S3I(s)->hs.cipher); |
2154 | 2154 | ||
2155 | alg_a = S3I(s)->hs.new_cipher->algorithm_auth; | 2155 | alg_a = S3I(s)->hs.cipher->algorithm_auth; |
2156 | 2156 | ||
2157 | if (alg_a & SSL_aECDSA) { | 2157 | if (alg_a & SSL_aECDSA) { |
2158 | i = SSL_PKEY_ECC; | 2158 | i = SSL_PKEY_ECC; |
@@ -2211,9 +2211,9 @@ ssl_get_auto_dh(SSL *s) | |||
2211 | 2211 | ||
2212 | if (s->cert->dh_tmp_auto == 2) { | 2212 | if (s->cert->dh_tmp_auto == 2) { |
2213 | keylen = 1024; | 2213 | keylen = 1024; |
2214 | } else if (S3I(s)->hs.new_cipher->algorithm_auth & SSL_aNULL) { | 2214 | } else if (S3I(s)->hs.cipher->algorithm_auth & SSL_aNULL) { |
2215 | keylen = 1024; | 2215 | keylen = 1024; |
2216 | if (S3I(s)->hs.new_cipher->strength_bits == 256) | 2216 | if (S3I(s)->hs.cipher->strength_bits == 256) |
2217 | keylen = 3072; | 2217 | keylen = 3072; |
2218 | } else { | 2218 | } else { |
2219 | if ((cpk = ssl_get_server_send_pkey(s)) == NULL) | 2219 | if ((cpk = ssl_get_server_send_pkey(s)) == NULL) |
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index 5f953b8e64..c8c7ca5472 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_locl.h,v 1.329 2021/03/24 18:40:03 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.330 2021/03/24 18:44:00 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 | * |
@@ -483,7 +483,7 @@ typedef struct ssl_handshake_st { | |||
483 | int state; | 483 | int state; |
484 | 484 | ||
485 | /* Cipher being negotiated in this handshake. */ | 485 | /* Cipher being negotiated in this handshake. */ |
486 | const SSL_CIPHER *new_cipher; | 486 | const SSL_CIPHER *cipher; |
487 | 487 | ||
488 | /* Extensions seen in this handshake. */ | 488 | /* Extensions seen in this handshake. */ |
489 | uint32_t extensions_seen; | 489 | uint32_t extensions_seen; |
diff --git a/src/lib/libssl/ssl_pkt.c b/src/lib/libssl/ssl_pkt.c index 37bee9e69f..a93acdfa7f 100644 --- a/src/lib/libssl/ssl_pkt.c +++ b/src/lib/libssl/ssl_pkt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_pkt.c,v 1.38 2021/03/24 18:40:03 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_pkt.c,v 1.39 2021/03/24 18:44:00 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 | * |
@@ -1038,7 +1038,7 @@ ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) | |||
1038 | } | 1038 | } |
1039 | 1039 | ||
1040 | /* Check we have a cipher to change to */ | 1040 | /* Check we have a cipher to change to */ |
1041 | if (S3I(s)->hs.new_cipher == NULL) { | 1041 | if (S3I(s)->hs.cipher == NULL) { |
1042 | al = SSL_AD_UNEXPECTED_MESSAGE; | 1042 | al = SSL_AD_UNEXPECTED_MESSAGE; |
1043 | SSLerror(s, SSL_R_CCS_RECEIVED_EARLY); | 1043 | SSLerror(s, SSL_R_CCS_RECEIVED_EARLY); |
1044 | goto fatal_err; | 1044 | goto fatal_err; |
@@ -1170,7 +1170,7 @@ ssl3_do_change_cipher_spec(SSL *s) | |||
1170 | return (0); | 1170 | return (0); |
1171 | } | 1171 | } |
1172 | 1172 | ||
1173 | s->session->cipher = S3I(s)->hs.new_cipher; | 1173 | s->session->cipher = S3I(s)->hs.cipher; |
1174 | if (!tls1_setup_key_block(s)) | 1174 | if (!tls1_setup_key_block(s)) |
1175 | return (0); | 1175 | return (0); |
1176 | } | 1176 | } |
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index 3dc87a00c8..047087c1c9 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.98 2021/03/24 18:40:03 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.99 2021/03/24 18:44:00 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 | * |
@@ -394,7 +394,7 @@ ssl3_accept(SSL *s) | |||
394 | case SSL3_ST_SW_CERT_A: | 394 | case SSL3_ST_SW_CERT_A: |
395 | case SSL3_ST_SW_CERT_B: | 395 | case SSL3_ST_SW_CERT_B: |
396 | /* Check if it is anon DH or anon ECDH. */ | 396 | /* Check if it is anon DH or anon ECDH. */ |
397 | if (!(S3I(s)->hs.new_cipher->algorithm_auth & | 397 | if (!(S3I(s)->hs.cipher->algorithm_auth & |
398 | SSL_aNULL)) { | 398 | SSL_aNULL)) { |
399 | if (SSL_is_dtls(s)) | 399 | if (SSL_is_dtls(s)) |
400 | dtls1_start_timer(s); | 400 | dtls1_start_timer(s); |
@@ -414,7 +414,7 @@ ssl3_accept(SSL *s) | |||
414 | 414 | ||
415 | case SSL3_ST_SW_KEY_EXCH_A: | 415 | case SSL3_ST_SW_KEY_EXCH_A: |
416 | case SSL3_ST_SW_KEY_EXCH_B: | 416 | case SSL3_ST_SW_KEY_EXCH_B: |
417 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 417 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
418 | 418 | ||
419 | /* | 419 | /* |
420 | * Only send if using a DH key exchange. | 420 | * Only send if using a DH key exchange. |
@@ -459,7 +459,7 @@ ssl3_accept(SSL *s) | |||
459 | if (!(s->verify_mode & SSL_VERIFY_PEER) || | 459 | if (!(s->verify_mode & SSL_VERIFY_PEER) || |
460 | ((s->session->peer != NULL) && | 460 | ((s->session->peer != NULL) && |
461 | (s->verify_mode & SSL_VERIFY_CLIENT_ONCE)) || | 461 | (s->verify_mode & SSL_VERIFY_CLIENT_ONCE)) || |
462 | ((S3I(s)->hs.new_cipher->algorithm_auth & | 462 | ((S3I(s)->hs.cipher->algorithm_auth & |
463 | SSL_aNULL) && !(s->verify_mode & | 463 | SSL_aNULL) && !(s->verify_mode & |
464 | SSL_VERIFY_FAIL_IF_NO_PEER_CERT))) { | 464 | SSL_VERIFY_FAIL_IF_NO_PEER_CERT))) { |
465 | /* No cert request. */ | 465 | /* No cert request. */ |
@@ -542,7 +542,7 @@ ssl3_accept(SSL *s) | |||
542 | s->internal->init_num = 0; | 542 | s->internal->init_num = 0; |
543 | } | 543 | } |
544 | 544 | ||
545 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 545 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
546 | if (ret == 2) { | 546 | if (ret == 2) { |
547 | /* | 547 | /* |
548 | * For the ECDH ciphersuites when | 548 | * For the ECDH ciphersuites when |
@@ -641,7 +641,7 @@ ssl3_accept(SSL *s) | |||
641 | 641 | ||
642 | case SSL3_ST_SW_CHANGE_A: | 642 | case SSL3_ST_SW_CHANGE_A: |
643 | case SSL3_ST_SW_CHANGE_B: | 643 | case SSL3_ST_SW_CHANGE_B: |
644 | s->session->cipher = S3I(s)->hs.new_cipher; | 644 | s->session->cipher = S3I(s)->hs.cipher; |
645 | if (!tls1_setup_key_block(s)) { | 645 | if (!tls1_setup_key_block(s)) { |
646 | ret = -1; | 646 | ret = -1; |
647 | goto end; | 647 | goto end; |
@@ -1122,15 +1122,15 @@ ssl3_get_client_hello(SSL *s) | |||
1122 | SSLerror(s, SSL_R_NO_SHARED_CIPHER); | 1122 | SSLerror(s, SSL_R_NO_SHARED_CIPHER); |
1123 | goto fatal_err; | 1123 | goto fatal_err; |
1124 | } | 1124 | } |
1125 | S3I(s)->hs.new_cipher = c; | 1125 | S3I(s)->hs.cipher = c; |
1126 | } else { | 1126 | } else { |
1127 | S3I(s)->hs.new_cipher = s->session->cipher; | 1127 | S3I(s)->hs.cipher = s->session->cipher; |
1128 | } | 1128 | } |
1129 | 1129 | ||
1130 | if (!tls1_transcript_hash_init(s)) | 1130 | if (!tls1_transcript_hash_init(s)) |
1131 | goto err; | 1131 | goto err; |
1132 | 1132 | ||
1133 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 1133 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
1134 | if (!(SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST)) || | 1134 | if (!(SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST)) || |
1135 | !(s->verify_mode & SSL_VERIFY_PEER)) | 1135 | !(s->verify_mode & SSL_VERIFY_PEER)) |
1136 | tls1_transcript_free(s); | 1136 | tls1_transcript_free(s); |
@@ -1144,7 +1144,7 @@ ssl3_get_client_hello(SSL *s) | |||
1144 | * ssl version is set - sslv3 | 1144 | * ssl version is set - sslv3 |
1145 | * s->session - The ssl session has been setup. | 1145 | * s->session - The ssl session has been setup. |
1146 | * s->internal->hit - session reuse flag | 1146 | * s->internal->hit - session reuse flag |
1147 | * s->hs.new_cipher - the new cipher to use. | 1147 | * s->hs.cipher - the new cipher to use. |
1148 | */ | 1148 | */ |
1149 | 1149 | ||
1150 | /* Handles TLS extensions that we couldn't check earlier */ | 1150 | /* Handles TLS extensions that we couldn't check earlier */ |
@@ -1265,7 +1265,7 @@ ssl3_send_server_hello(SSL *s) | |||
1265 | 1265 | ||
1266 | /* Cipher suite. */ | 1266 | /* Cipher suite. */ |
1267 | if (!CBB_add_u16(&server_hello, | 1267 | if (!CBB_add_u16(&server_hello, |
1268 | ssl3_cipher_get_value(S3I(s)->hs.new_cipher))) | 1268 | ssl3_cipher_get_value(S3I(s)->hs.cipher))) |
1269 | goto err; | 1269 | goto err; |
1270 | 1270 | ||
1271 | /* Compression method (null). */ | 1271 | /* Compression method (null). */ |
@@ -1336,7 +1336,7 @@ ssl3_send_server_kex_dhe(SSL *s, CBB *cbb) | |||
1336 | 1336 | ||
1337 | if (dhp == NULL && s->cert->dh_tmp_cb != NULL) | 1337 | if (dhp == NULL && s->cert->dh_tmp_cb != NULL) |
1338 | dhp = s->cert->dh_tmp_cb(s, 0, | 1338 | dhp = s->cert->dh_tmp_cb(s, 0, |
1339 | SSL_C_PKEYLENGTH(S3I(s)->hs.new_cipher)); | 1339 | SSL_C_PKEYLENGTH(S3I(s)->hs.cipher)); |
1340 | 1340 | ||
1341 | if (dhp == NULL) { | 1341 | if (dhp == NULL) { |
1342 | al = SSL_AD_HANDSHAKE_FAILURE; | 1342 | al = SSL_AD_HANDSHAKE_FAILURE; |
@@ -1544,7 +1544,7 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1544 | if (!CBB_init(&cbb_params, 0)) | 1544 | if (!CBB_init(&cbb_params, 0)) |
1545 | goto err; | 1545 | goto err; |
1546 | 1546 | ||
1547 | type = S3I(s)->hs.new_cipher->algorithm_mkey; | 1547 | type = S3I(s)->hs.cipher->algorithm_mkey; |
1548 | if (type & SSL_kDHE) { | 1548 | if (type & SSL_kDHE) { |
1549 | if (ssl3_send_server_kex_dhe(s, &cbb_params) != 1) | 1549 | if (ssl3_send_server_kex_dhe(s, &cbb_params) != 1) |
1550 | goto err; | 1550 | goto err; |
@@ -1564,8 +1564,8 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1564 | goto err; | 1564 | goto err; |
1565 | 1565 | ||
1566 | /* Add signature unless anonymous. */ | 1566 | /* Add signature unless anonymous. */ |
1567 | if (!(S3I(s)->hs.new_cipher->algorithm_auth & SSL_aNULL)) { | 1567 | if (!(S3I(s)->hs.cipher->algorithm_auth & SSL_aNULL)) { |
1568 | if ((pkey = ssl_get_sign_pkey(s, S3I(s)->hs.new_cipher, | 1568 | if ((pkey = ssl_get_sign_pkey(s, S3I(s)->hs.cipher, |
1569 | &md, &sigalg)) == NULL) { | 1569 | &md, &sigalg)) == NULL) { |
1570 | al = SSL_AD_DECODE_ERROR; | 1570 | al = SSL_AD_DECODE_ERROR; |
1571 | goto fatal_err; | 1571 | goto fatal_err; |
@@ -2002,7 +2002,7 @@ ssl3_get_client_kex_gost(SSL *s, CBS *cbs) | |||
2002 | int ret = 0; | 2002 | int ret = 0; |
2003 | 2003 | ||
2004 | /* Get our certificate private key*/ | 2004 | /* Get our certificate private key*/ |
2005 | alg_a = S3I(s)->hs.new_cipher->algorithm_auth; | 2005 | alg_a = S3I(s)->hs.cipher->algorithm_auth; |
2006 | if (alg_a & SSL_aGOST01) | 2006 | if (alg_a & SSL_aGOST01) |
2007 | pk = s->cert->pkeys[SSL_PKEY_GOST01].privatekey; | 2007 | pk = s->cert->pkeys[SSL_PKEY_GOST01].privatekey; |
2008 | 2008 | ||
@@ -2081,7 +2081,7 @@ ssl3_get_client_key_exchange(SSL *s) | |||
2081 | 2081 | ||
2082 | CBS_init(&cbs, s->internal->init_msg, n); | 2082 | CBS_init(&cbs, s->internal->init_msg, n); |
2083 | 2083 | ||
2084 | alg_k = S3I(s)->hs.new_cipher->algorithm_mkey; | 2084 | alg_k = S3I(s)->hs.cipher->algorithm_mkey; |
2085 | 2085 | ||
2086 | if (alg_k & SSL_kRSA) { | 2086 | if (alg_k & SSL_kRSA) { |
2087 | if (ssl3_get_client_kex_rsa(s, &cbs) != 1) | 2087 | if (ssl3_get_client_kex_rsa(s, &cbs) != 1) |
diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c index 5d889fa665..b9dcbac661 100644 --- a/src/lib/libssl/t1_enc.c +++ b/src/lib/libssl/t1_enc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: t1_enc.c,v 1.134 2021/03/24 18:40:03 jsing Exp $ */ | 1 | /* $OpenBSD: t1_enc.c,v 1.135 2021/03/24 18:44:00 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 | * |
@@ -343,7 +343,7 @@ tls1_change_cipher_state(SSL *s, int which) | |||
343 | 343 | ||
344 | if (aead != NULL) { | 344 | if (aead != NULL) { |
345 | key_len = EVP_AEAD_key_length(aead); | 345 | key_len = EVP_AEAD_key_length(aead); |
346 | iv_len = SSL_CIPHER_AEAD_FIXED_NONCE_LEN(S3I(s)->hs.new_cipher); | 346 | iv_len = SSL_CIPHER_AEAD_FIXED_NONCE_LEN(S3I(s)->hs.cipher); |
347 | } else { | 347 | } else { |
348 | key_len = EVP_CIPHER_key_length(cipher); | 348 | key_len = EVP_CIPHER_key_length(cipher); |
349 | iv_len = EVP_CIPHER_iv_length(cipher); | 349 | iv_len = EVP_CIPHER_iv_length(cipher); |
diff --git a/src/lib/libssl/tls13_client.c b/src/lib/libssl/tls13_client.c index 0f3d435c94..78bf15ec59 100644 --- a/src/lib/libssl/tls13_client.c +++ b/src/lib/libssl/tls13_client.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_client.c,v 1.75 2021/03/21 18:36:34 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_client.c,v 1.76 2021/03/24 18:44:00 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -304,7 +304,7 @@ tls13_server_hello_process(struct tls13_ctx *ctx, CBS *cbs) | |||
304 | goto err; | 304 | goto err; |
305 | } | 305 | } |
306 | /* XXX - move this to hs.tls13? */ | 306 | /* XXX - move this to hs.tls13? */ |
307 | ctx->hs->new_cipher = cipher; | 307 | ctx->hs->cipher = cipher; |
308 | 308 | ||
309 | if (compression_method != 0) { | 309 | if (compression_method != 0) { |
310 | ctx->alert = TLS13_ALERT_ILLEGAL_PARAMETER; | 310 | ctx->alert = TLS13_ALERT_ILLEGAL_PARAMETER; |
@@ -338,12 +338,12 @@ tls13_client_engage_record_protection(struct tls13_ctx *ctx) | |||
338 | &shared_key_len)) | 338 | &shared_key_len)) |
339 | goto err; | 339 | goto err; |
340 | 340 | ||
341 | s->session->cipher = ctx->hs->new_cipher; | 341 | s->session->cipher = ctx->hs->cipher; |
342 | s->session->ssl_version = ctx->hs->tls13.server_version; | 342 | s->session->ssl_version = ctx->hs->tls13.server_version; |
343 | 343 | ||
344 | if ((ctx->aead = tls13_cipher_aead(ctx->hs->new_cipher)) == NULL) | 344 | if ((ctx->aead = tls13_cipher_aead(ctx->hs->cipher)) == NULL) |
345 | goto err; | 345 | goto err; |
346 | if ((ctx->hash = tls13_cipher_hash(ctx->hs->new_cipher)) == NULL) | 346 | if ((ctx->hash = tls13_cipher_hash(ctx->hs->cipher)) == NULL) |
347 | goto err; | 347 | goto err; |
348 | 348 | ||
349 | if ((secrets = tls13_secrets_create(ctx->hash, 0)) == NULL) | 349 | if ((secrets = tls13_secrets_create(ctx->hash, 0)) == NULL) |
diff --git a/src/lib/libssl/tls13_server.c b/src/lib/libssl/tls13_server.c index 658aef2cfe..bac9623a15 100644 --- a/src/lib/libssl/tls13_server.c +++ b/src/lib/libssl/tls13_server.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_server.c,v 1.72 2021/03/21 18:36:34 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_server.c,v 1.73 2021/03/24 18:44:00 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org> |
4 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> | 4 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> |
@@ -249,7 +249,7 @@ tls13_client_hello_process(struct tls13_ctx *ctx, CBS *cbs) | |||
249 | ctx->alert = TLS13_ALERT_HANDSHAKE_FAILURE; | 249 | ctx->alert = TLS13_ALERT_HANDSHAKE_FAILURE; |
250 | goto err; | 250 | goto err; |
251 | } | 251 | } |
252 | ctx->hs->new_cipher = cipher; | 252 | ctx->hs->cipher = cipher; |
253 | 253 | ||
254 | sk_SSL_CIPHER_free(s->session->ciphers); | 254 | sk_SSL_CIPHER_free(s->session->ciphers); |
255 | s->session->ciphers = ciphers; | 255 | s->session->ciphers = ciphers; |
@@ -314,7 +314,7 @@ tls13_server_hello_build(struct tls13_ctx *ctx, CBB *cbb, int hrr) | |||
314 | SSL *s = ctx->ssl; | 314 | SSL *s = ctx->ssl; |
315 | uint16_t cipher; | 315 | uint16_t cipher; |
316 | 316 | ||
317 | cipher = SSL_CIPHER_get_value(ctx->hs->new_cipher); | 317 | cipher = SSL_CIPHER_get_value(ctx->hs->cipher); |
318 | server_random = s->s3->server_random; | 318 | server_random = s->s3->server_random; |
319 | 319 | ||
320 | if (hrr) { | 320 | if (hrr) { |
@@ -362,11 +362,11 @@ tls13_server_engage_record_protection(struct tls13_ctx *ctx) | |||
362 | &shared_key, &shared_key_len)) | 362 | &shared_key, &shared_key_len)) |
363 | goto err; | 363 | goto err; |
364 | 364 | ||
365 | s->session->cipher = ctx->hs->new_cipher; | 365 | s->session->cipher = ctx->hs->cipher; |
366 | 366 | ||
367 | if ((ctx->aead = tls13_cipher_aead(ctx->hs->new_cipher)) == NULL) | 367 | if ((ctx->aead = tls13_cipher_aead(ctx->hs->cipher)) == NULL) |
368 | goto err; | 368 | goto err; |
369 | if ((ctx->hash = tls13_cipher_hash(ctx->hs->new_cipher)) == NULL) | 369 | if ((ctx->hash = tls13_cipher_hash(ctx->hs->cipher)) == NULL) |
370 | goto err; | 370 | goto err; |
371 | 371 | ||
372 | if ((secrets = tls13_secrets_create(ctx->hash, 0)) == NULL) | 372 | if ((secrets = tls13_secrets_create(ctx->hash, 0)) == NULL) |