diff options
Diffstat (limited to 'src')
| -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) |
