diff options
Diffstat (limited to 'src/lib/libssl/s3_clnt.c')
| -rw-r--r-- | src/lib/libssl/s3_clnt.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c index a6feb68e91..055f8d1f3a 100644 --- a/src/lib/libssl/s3_clnt.c +++ b/src/lib/libssl/s3_clnt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s3_clnt.c,v 1.169 2017/01/23 08:48:44 beck Exp $ */ | 1 | /* $OpenBSD: s3_clnt.c,v 1.170 2017/01/23 13:36:13 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 | * |
| @@ -419,12 +419,12 @@ ssl3_connect(SSL *s) | |||
| 419 | s->internal->init_num = 0; | 419 | s->internal->init_num = 0; |
| 420 | 420 | ||
| 421 | s->session->cipher = S3I(s)->tmp.new_cipher; | 421 | s->session->cipher = S3I(s)->tmp.new_cipher; |
| 422 | if (!s->method->ssl3_enc->setup_key_block(s)) { | 422 | if (!s->method->internal->ssl3_enc->setup_key_block(s)) { |
| 423 | ret = -1; | 423 | ret = -1; |
| 424 | goto end; | 424 | goto end; |
| 425 | } | 425 | } |
| 426 | 426 | ||
| 427 | if (!s->method->ssl3_enc->change_cipher_state(s, | 427 | if (!s->method->internal->ssl3_enc->change_cipher_state(s, |
| 428 | SSL3_CHANGE_CIPHER_CLIENT_WRITE)) { | 428 | SSL3_CHANGE_CIPHER_CLIENT_WRITE)) { |
| 429 | ret = -1; | 429 | ret = -1; |
| 430 | goto end; | 430 | goto end; |
| @@ -444,8 +444,8 @@ ssl3_connect(SSL *s) | |||
| 444 | case SSL3_ST_CW_FINISHED_B: | 444 | case SSL3_ST_CW_FINISHED_B: |
| 445 | ret = ssl3_send_finished(s, SSL3_ST_CW_FINISHED_A, | 445 | ret = ssl3_send_finished(s, SSL3_ST_CW_FINISHED_A, |
| 446 | SSL3_ST_CW_FINISHED_B, | 446 | SSL3_ST_CW_FINISHED_B, |
| 447 | s->method->ssl3_enc->client_finished_label, | 447 | s->method->internal->ssl3_enc->client_finished_label, |
| 448 | s->method->ssl3_enc->client_finished_label_len); | 448 | s->method->internal->ssl3_enc->client_finished_label_len); |
| 449 | if (ret <= 0) | 449 | if (ret <= 0) |
| 450 | goto end; | 450 | goto end; |
| 451 | s->s3->flags |= SSL3_FLAGS_CCS_OK; | 451 | s->s3->flags |= SSL3_FLAGS_CCS_OK; |
| @@ -730,7 +730,7 @@ ssl3_get_server_hello(SSL *s) | |||
| 730 | int i, al, ok; | 730 | int i, al, ok; |
| 731 | long n; | 731 | long n; |
| 732 | 732 | ||
| 733 | n = s->method->ssl_get_message(s, SSL3_ST_CR_SRVR_HELLO_A, | 733 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_SRVR_HELLO_A, |
| 734 | SSL3_ST_CR_SRVR_HELLO_B, -1, 20000, /* ?? */ &ok); | 734 | SSL3_ST_CR_SRVR_HELLO_B, -1, 20000, /* ?? */ &ok); |
| 735 | 735 | ||
| 736 | if (!ok) | 736 | if (!ok) |
| @@ -950,7 +950,7 @@ ssl3_get_server_certificate(SSL *s) | |||
| 950 | SESS_CERT *sc; | 950 | SESS_CERT *sc; |
| 951 | EVP_PKEY *pkey = NULL; | 951 | EVP_PKEY *pkey = NULL; |
| 952 | 952 | ||
| 953 | n = s->method->ssl_get_message(s, SSL3_ST_CR_CERT_A, | 953 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_CERT_A, |
| 954 | SSL3_ST_CR_CERT_B, -1, s->internal->max_cert_list, &ok); | 954 | SSL3_ST_CR_CERT_B, -1, s->internal->max_cert_list, &ok); |
| 955 | 955 | ||
| 956 | if (!ok) | 956 | if (!ok) |
| @@ -1373,7 +1373,7 @@ ssl3_get_server_key_exchange(SSL *s) | |||
| 1373 | * Use same message size as in ssl3_get_certificate_request() | 1373 | * Use same message size as in ssl3_get_certificate_request() |
| 1374 | * as ServerKeyExchange message may be skipped. | 1374 | * as ServerKeyExchange message may be skipped. |
| 1375 | */ | 1375 | */ |
| 1376 | n = s->method->ssl_get_message(s, SSL3_ST_CR_KEY_EXCH_A, | 1376 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_KEY_EXCH_A, |
| 1377 | SSL3_ST_CR_KEY_EXCH_B, -1, s->internal->max_cert_list, &ok); | 1377 | SSL3_ST_CR_KEY_EXCH_B, -1, s->internal->max_cert_list, &ok); |
| 1378 | if (!ok) | 1378 | if (!ok) |
| 1379 | return ((int)n); | 1379 | return ((int)n); |
| @@ -1579,7 +1579,7 @@ ssl3_get_certificate_request(SSL *s) | |||
| 1579 | const unsigned char *q; | 1579 | const unsigned char *q; |
| 1580 | STACK_OF(X509_NAME) *ca_sk = NULL; | 1580 | STACK_OF(X509_NAME) *ca_sk = NULL; |
| 1581 | 1581 | ||
| 1582 | n = s->method->ssl_get_message(s, SSL3_ST_CR_CERT_REQ_A, | 1582 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_CERT_REQ_A, |
| 1583 | SSL3_ST_CR_CERT_REQ_B, -1, s->internal->max_cert_list, &ok); | 1583 | SSL3_ST_CR_CERT_REQ_B, -1, s->internal->max_cert_list, &ok); |
| 1584 | 1584 | ||
| 1585 | if (!ok) | 1585 | if (!ok) |
| @@ -1756,7 +1756,7 @@ ssl3_get_new_session_ticket(SSL *s) | |||
| 1756 | long n; | 1756 | long n; |
| 1757 | CBS cbs, session_ticket; | 1757 | CBS cbs, session_ticket; |
| 1758 | 1758 | ||
| 1759 | n = s->method->ssl_get_message(s, SSL3_ST_CR_SESSION_TICKET_A, | 1759 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_SESSION_TICKET_A, |
| 1760 | SSL3_ST_CR_SESSION_TICKET_B, -1, 16384, &ok); | 1760 | SSL3_ST_CR_SESSION_TICKET_B, -1, 16384, &ok); |
| 1761 | if (!ok) | 1761 | if (!ok) |
| 1762 | return ((int)n); | 1762 | return ((int)n); |
| @@ -1836,7 +1836,7 @@ ssl3_get_cert_status(SSL *s) | |||
| 1836 | long n; | 1836 | long n; |
| 1837 | uint8_t status_type; | 1837 | uint8_t status_type; |
| 1838 | 1838 | ||
| 1839 | n = s->method->ssl_get_message(s, SSL3_ST_CR_CERT_STATUS_A, | 1839 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_CERT_STATUS_A, |
| 1840 | SSL3_ST_CR_CERT_STATUS_B, SSL3_MT_CERTIFICATE_STATUS, | 1840 | SSL3_ST_CR_CERT_STATUS_B, SSL3_MT_CERTIFICATE_STATUS, |
| 1841 | 16384, &ok); | 1841 | 16384, &ok); |
| 1842 | 1842 | ||
| @@ -1915,7 +1915,7 @@ ssl3_get_server_done(SSL *s) | |||
| 1915 | int ok, ret = 0; | 1915 | int ok, ret = 0; |
| 1916 | long n; | 1916 | long n; |
| 1917 | 1917 | ||
| 1918 | n = s->method->ssl_get_message(s, SSL3_ST_CR_SRVR_DONE_A, | 1918 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_SRVR_DONE_A, |
| 1919 | SSL3_ST_CR_SRVR_DONE_B, SSL3_MT_SERVER_DONE, | 1919 | SSL3_ST_CR_SRVR_DONE_B, SSL3_MT_SERVER_DONE, |
| 1920 | 30, /* should be very small, like 0 :-) */ &ok); | 1920 | 30, /* should be very small, like 0 :-) */ &ok); |
| 1921 | 1921 | ||
| @@ -1979,7 +1979,7 @@ ssl3_send_client_kex_rsa(SSL *s, SESS_CERT *sess_cert, CBB *cbb) | |||
| 1979 | goto err; | 1979 | goto err; |
| 1980 | 1980 | ||
| 1981 | s->session->master_key_length = | 1981 | s->session->master_key_length = |
| 1982 | s->method->ssl3_enc->generate_master_secret(s, | 1982 | s->method->internal->ssl3_enc->generate_master_secret(s, |
| 1983 | s->session->master_key, pms, sizeof(pms)); | 1983 | s->session->master_key, pms, sizeof(pms)); |
| 1984 | 1984 | ||
| 1985 | ret = 1; | 1985 | ret = 1; |
| @@ -2034,7 +2034,7 @@ ssl3_send_client_kex_dhe(SSL *s, SESS_CERT *sess_cert, CBB *cbb) | |||
| 2034 | 2034 | ||
| 2035 | /* Generate master key from the result. */ | 2035 | /* Generate master key from the result. */ |
| 2036 | s->session->master_key_length = | 2036 | s->session->master_key_length = |
| 2037 | s->method->ssl3_enc->generate_master_secret(s, | 2037 | s->method->internal->ssl3_enc->generate_master_secret(s, |
| 2038 | s->session->master_key, key, key_len); | 2038 | s->session->master_key, key, key_len); |
| 2039 | 2039 | ||
| 2040 | if (!CBB_add_u16_length_prefixed(cbb, &dh_Yc)) | 2040 | if (!CBB_add_u16_length_prefixed(cbb, &dh_Yc)) |
| @@ -2109,7 +2109,7 @@ ssl3_send_client_kex_ecdhe_ecp(SSL *s, SESS_CERT *sc, CBB *cbb) | |||
| 2109 | 2109 | ||
| 2110 | /* Generate master key from the result. */ | 2110 | /* Generate master key from the result. */ |
| 2111 | s->session->master_key_length = | 2111 | s->session->master_key_length = |
| 2112 | s->method->ssl3_enc->generate_master_secret(s, | 2112 | s->method->internal->ssl3_enc->generate_master_secret(s, |
| 2113 | s->session->master_key, key, key_len); | 2113 | s->session->master_key, key, key_len); |
| 2114 | 2114 | ||
| 2115 | encoded_len = EC_POINT_point2oct(group, EC_KEY_get0_public_key(ecdh), | 2115 | encoded_len = EC_POINT_point2oct(group, EC_KEY_get0_public_key(ecdh), |
| @@ -2178,7 +2178,7 @@ ssl3_send_client_kex_ecdhe_ecx(SSL *s, SESS_CERT *sc, CBB *cbb) | |||
| 2178 | 2178 | ||
| 2179 | /* Generate master key from the result. */ | 2179 | /* Generate master key from the result. */ |
| 2180 | s->session->master_key_length = | 2180 | s->session->master_key_length = |
| 2181 | s->method->ssl3_enc->generate_master_secret(s, | 2181 | s->method->internal->ssl3_enc->generate_master_secret(s, |
| 2182 | s->session->master_key, shared_key, X25519_KEY_LENGTH); | 2182 | s->session->master_key, shared_key, X25519_KEY_LENGTH); |
| 2183 | 2183 | ||
| 2184 | ret = 1; | 2184 | ret = 1; |
| @@ -2318,7 +2318,7 @@ ssl3_send_client_kex_gost(SSL *s, SESS_CERT *sess_cert, CBB *cbb) | |||
| 2318 | } | 2318 | } |
| 2319 | EVP_PKEY_CTX_free(pkey_ctx); | 2319 | EVP_PKEY_CTX_free(pkey_ctx); |
| 2320 | s->session->master_key_length = | 2320 | s->session->master_key_length = |
| 2321 | s->method->ssl3_enc->generate_master_secret(s, | 2321 | s->method->internal->ssl3_enc->generate_master_secret(s, |
| 2322 | s->session->master_key, premaster_secret, 32); | 2322 | s->session->master_key, premaster_secret, 32); |
| 2323 | 2323 | ||
| 2324 | ret = 1; | 2324 | ret = 1; |
| @@ -2415,7 +2415,7 @@ ssl3_send_client_verify(SSL *s) | |||
| 2415 | EVP_PKEY_sign_init(pctx); | 2415 | EVP_PKEY_sign_init(pctx); |
| 2416 | if (EVP_PKEY_CTX_set_signature_md(pctx, EVP_sha1()) > 0) { | 2416 | if (EVP_PKEY_CTX_set_signature_md(pctx, EVP_sha1()) > 0) { |
| 2417 | if (!SSL_USE_SIGALGS(s)) | 2417 | if (!SSL_USE_SIGALGS(s)) |
| 2418 | s->method->ssl3_enc->cert_verify_mac(s, | 2418 | s->method->internal->ssl3_enc->cert_verify_mac(s, |
| 2419 | NID_sha1, &(data[MD5_DIGEST_LENGTH])); | 2419 | NID_sha1, &(data[MD5_DIGEST_LENGTH])); |
| 2420 | } else { | 2420 | } else { |
| 2421 | ERR_clear_error(); | 2421 | ERR_clear_error(); |
| @@ -2449,7 +2449,7 @@ ssl3_send_client_verify(SSL *s) | |||
| 2449 | if (!tls1_digest_cached_records(s)) | 2449 | if (!tls1_digest_cached_records(s)) |
| 2450 | goto err; | 2450 | goto err; |
| 2451 | } else if (pkey->type == EVP_PKEY_RSA) { | 2451 | } else if (pkey->type == EVP_PKEY_RSA) { |
| 2452 | s->method->ssl3_enc->cert_verify_mac( | 2452 | s->method->internal->ssl3_enc->cert_verify_mac( |
| 2453 | s, NID_md5, &(data[0])); | 2453 | s, NID_md5, &(data[0])); |
| 2454 | if (RSA_sign(NID_md5_sha1, data, | 2454 | if (RSA_sign(NID_md5_sha1, data, |
| 2455 | MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH, &(p[2]), | 2455 | MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH, &(p[2]), |
| @@ -2737,7 +2737,7 @@ ssl3_check_finished(SSL *s) | |||
| 2737 | return (1); | 2737 | return (1); |
| 2738 | /* this function is called when we really expect a Certificate | 2738 | /* this function is called when we really expect a Certificate |
| 2739 | * message, so permit appropriate message length */ | 2739 | * message, so permit appropriate message length */ |
| 2740 | n = s->method->ssl_get_message(s, SSL3_ST_CR_CERT_A, | 2740 | n = s->method->internal->ssl_get_message(s, SSL3_ST_CR_CERT_A, |
| 2741 | SSL3_ST_CR_CERT_B, -1, s->internal->max_cert_list, &ok); | 2741 | SSL3_ST_CR_CERT_B, -1, s->internal->max_cert_list, &ok); |
| 2742 | if (!ok) | 2742 | if (!ok) |
| 2743 | return ((int)n); | 2743 | return ((int)n); |
