summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_srvr.c
diff options
context:
space:
mode:
authortb <>2021-02-20 14:14:16 +0000
committertb <>2021-02-20 14:14:16 +0000
commitefbd8fd6c910f8b87daab69d3aaa30c04dc61589 (patch)
tree4711b2f00b14a9f314d4174890c0e42da068c594 /src/lib/libssl/ssl_srvr.c
parent61d12cb752260c8a976a6ce1ca5c5d154e983833 (diff)
downloadopenbsd-efbd8fd6c910f8b87daab69d3aaa30c04dc61589.tar.gz
openbsd-efbd8fd6c910f8b87daab69d3aaa30c04dc61589.tar.bz2
openbsd-efbd8fd6c910f8b87daab69d3aaa30c04dc61589.zip
Rename f_err into fatal_err.
discussed with jsing
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r--src/lib/libssl/ssl_srvr.c138
1 files changed, 69 insertions, 69 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c
index 0408dab660..15dda5108c 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.93 2021/02/20 14:03:50 tb Exp $ */ 1/* $OpenBSD: ssl_srvr.c,v 1.94 2021/02/20 14:14:16 tb 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 *
@@ -827,7 +827,7 @@ ssl3_get_client_hello(SSL *s)
827 if (CBS_len(&session_id) > SSL3_SESSION_ID_SIZE) { 827 if (CBS_len(&session_id) > SSL3_SESSION_ID_SIZE) {
828 al = SSL_AD_ILLEGAL_PARAMETER; 828 al = SSL_AD_ILLEGAL_PARAMETER;
829 SSLerror(s, SSL_R_SSL3_SESSION_ID_TOO_LONG); 829 SSLerror(s, SSL_R_SSL3_SESSION_ID_TOO_LONG);
830 goto f_err; 830 goto fatal_err;
831 } 831 }
832 if (SSL_is_dtls(s)) { 832 if (SSL_is_dtls(s)) {
833 if (!CBS_get_u8_length_prefixed(&cbs, &cookie)) 833 if (!CBS_get_u8_length_prefixed(&cbs, &cookie))
@@ -855,7 +855,7 @@ ssl3_get_client_hello(SSL *s)
855 } 855 }
856 SSLerror(s, SSL_R_WRONG_VERSION_NUMBER); 856 SSLerror(s, SSL_R_WRONG_VERSION_NUMBER);
857 al = SSL_AD_PROTOCOL_VERSION; 857 al = SSL_AD_PROTOCOL_VERSION;
858 goto f_err; 858 goto fatal_err;
859 } 859 }
860 s->client_version = client_version; 860 s->client_version = client_version;
861 s->version = shared_version; 861 s->version = shared_version;
@@ -912,7 +912,7 @@ ssl3_get_client_hello(SSL *s)
912 if (i == 1) { /* previous session */ 912 if (i == 1) { /* previous session */
913 s->internal->hit = 1; 913 s->internal->hit = 1;
914 } else if (i == -1) 914 } else if (i == -1)
915 goto f_err; 915 goto fatal_err;
916 else { 916 else {
917 /* i == 0 */ 917 /* i == 0 */
918 if (!ssl_get_new_session(s, 1)) 918 if (!ssl_get_new_session(s, 1))
@@ -929,7 +929,7 @@ ssl3_get_client_hello(SSL *s)
929 if (CBS_len(&cookie) > sizeof(D1I(s)->rcvd_cookie)) { 929 if (CBS_len(&cookie) > sizeof(D1I(s)->rcvd_cookie)) {
930 al = SSL_AD_DECODE_ERROR; 930 al = SSL_AD_DECODE_ERROR;
931 SSLerror(s, SSL_R_COOKIE_MISMATCH); 931 SSLerror(s, SSL_R_COOKIE_MISMATCH);
932 goto f_err; 932 goto fatal_err;
933 } 933 }
934 934
935 /* Verify the cookie if appropriate option is set. */ 935 /* Verify the cookie if appropriate option is set. */
@@ -947,7 +947,7 @@ ssl3_get_client_hello(SSL *s)
947 D1I(s)->rcvd_cookie, cookie_len) == 0) { 947 D1I(s)->rcvd_cookie, cookie_len) == 0) {
948 al = SSL_AD_HANDSHAKE_FAILURE; 948 al = SSL_AD_HANDSHAKE_FAILURE;
949 SSLerror(s, SSL_R_COOKIE_MISMATCH); 949 SSLerror(s, SSL_R_COOKIE_MISMATCH);
950 goto f_err; 950 goto fatal_err;
951 } 951 }
952 /* else cookie verification succeeded */ 952 /* else cookie verification succeeded */
953 /* XXX - can d1->cookie_len > sizeof(rcvd_cookie) ? */ 953 /* XXX - can d1->cookie_len > sizeof(rcvd_cookie) ? */
@@ -956,7 +956,7 @@ ssl3_get_client_hello(SSL *s)
956 /* default verification */ 956 /* default verification */
957 al = SSL_AD_HANDSHAKE_FAILURE; 957 al = SSL_AD_HANDSHAKE_FAILURE;
958 SSLerror(s, SSL_R_COOKIE_MISMATCH); 958 SSLerror(s, SSL_R_COOKIE_MISMATCH);
959 goto f_err; 959 goto fatal_err;
960 } 960 }
961 cookie_valid = 1; 961 cookie_valid = 1;
962 } 962 }
@@ -967,7 +967,7 @@ ssl3_get_client_hello(SSL *s)
967 /* we need a cipher if we are not resuming a session */ 967 /* we need a cipher if we are not resuming a session */
968 al = SSL_AD_ILLEGAL_PARAMETER; 968 al = SSL_AD_ILLEGAL_PARAMETER;
969 SSLerror(s, SSL_R_NO_CIPHERS_SPECIFIED); 969 SSLerror(s, SSL_R_NO_CIPHERS_SPECIFIED);
970 goto f_err; 970 goto fatal_err;
971 } 971 }
972 972
973 if (CBS_len(&cipher_suites) > 0) { 973 if (CBS_len(&cipher_suites) > 0) {
@@ -996,7 +996,7 @@ ssl3_get_client_hello(SSL *s)
996 */ 996 */
997 al = SSL_AD_ILLEGAL_PARAMETER; 997 al = SSL_AD_ILLEGAL_PARAMETER;
998 SSLerror(s, SSL_R_REQUIRED_CIPHER_MISSING); 998 SSLerror(s, SSL_R_REQUIRED_CIPHER_MISSING);
999 goto f_err; 999 goto fatal_err;
1000 } 1000 }
1001 } 1001 }
1002 1002
@@ -1010,18 +1010,18 @@ ssl3_get_client_hello(SSL *s)
1010 if (comp_null == 0) { 1010 if (comp_null == 0) {
1011 al = SSL_AD_DECODE_ERROR; 1011 al = SSL_AD_DECODE_ERROR;
1012 SSLerror(s, SSL_R_NO_COMPRESSION_SPECIFIED); 1012 SSLerror(s, SSL_R_NO_COMPRESSION_SPECIFIED);
1013 goto f_err; 1013 goto fatal_err;
1014 } 1014 }
1015 1015
1016 if (!tlsext_server_parse(s, SSL_TLSEXT_MSG_CH, &cbs, &al)) { 1016 if (!tlsext_server_parse(s, SSL_TLSEXT_MSG_CH, &cbs, &al)) {
1017 SSLerror(s, SSL_R_PARSE_TLSEXT); 1017 SSLerror(s, SSL_R_PARSE_TLSEXT);
1018 goto f_err; 1018 goto fatal_err;
1019 } 1019 }
1020 1020
1021 if (!S3I(s)->renegotiate_seen && s->internal->renegotiate) { 1021 if (!S3I(s)->renegotiate_seen && s->internal->renegotiate) {
1022 al = SSL_AD_HANDSHAKE_FAILURE; 1022 al = SSL_AD_HANDSHAKE_FAILURE;
1023 SSLerror(s, SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED); 1023 SSLerror(s, SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED);
1024 goto f_err; 1024 goto fatal_err;
1025 } 1025 }
1026 1026
1027 if (ssl_check_clienthello_tlsext_early(s) <= 0) { 1027 if (ssl_check_clienthello_tlsext_early(s) <= 0) {
@@ -1078,7 +1078,7 @@ ssl3_get_client_hello(SSL *s)
1078 if (pref_cipher == NULL) { 1078 if (pref_cipher == NULL) {
1079 al = SSL_AD_HANDSHAKE_FAILURE; 1079 al = SSL_AD_HANDSHAKE_FAILURE;
1080 SSLerror(s, SSL_R_NO_SHARED_CIPHER); 1080 SSLerror(s, SSL_R_NO_SHARED_CIPHER);
1081 goto f_err; 1081 goto fatal_err;
1082 } 1082 }
1083 1083
1084 s->session->cipher = pref_cipher; 1084 s->session->cipher = pref_cipher;
@@ -1099,7 +1099,7 @@ ssl3_get_client_hello(SSL *s)
1099 if (ciphers == NULL) { 1099 if (ciphers == NULL) {
1100 al = SSL_AD_ILLEGAL_PARAMETER; 1100 al = SSL_AD_ILLEGAL_PARAMETER;
1101 SSLerror(s, SSL_R_NO_CIPHERS_PASSED); 1101 SSLerror(s, SSL_R_NO_CIPHERS_PASSED);
1102 goto f_err; 1102 goto fatal_err;
1103 } 1103 }
1104 ciphers = NULL; 1104 ciphers = NULL;
1105 c = ssl3_choose_cipher(s, s->session->ciphers, 1105 c = ssl3_choose_cipher(s, s->session->ciphers,
@@ -1108,7 +1108,7 @@ ssl3_get_client_hello(SSL *s)
1108 if (c == NULL) { 1108 if (c == NULL) {
1109 al = SSL_AD_HANDSHAKE_FAILURE; 1109 al = SSL_AD_HANDSHAKE_FAILURE;
1110 SSLerror(s, SSL_R_NO_SHARED_CIPHER); 1110 SSLerror(s, SSL_R_NO_SHARED_CIPHER);
1111 goto f_err; 1111 goto fatal_err;
1112 } 1112 }
1113 S3I(s)->hs.new_cipher = c; 1113 S3I(s)->hs.new_cipher = c;
1114 } else { 1114 } else {
@@ -1147,7 +1147,7 @@ ssl3_get_client_hello(SSL *s)
1147 decode_err: 1147 decode_err:
1148 al = SSL_AD_DECODE_ERROR; 1148 al = SSL_AD_DECODE_ERROR;
1149 SSLerror(s, SSL_R_BAD_PACKET_LENGTH); 1149 SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
1150 f_err: 1150 fatal_err:
1151 ssl3_send_alert(s, SSL3_AL_FATAL, al); 1151 ssl3_send_alert(s, SSL3_AL_FATAL, al);
1152 } 1152 }
1153 err: 1153 err:
@@ -1317,7 +1317,7 @@ ssl3_send_server_kex_dhe(SSL *s, CBB *cbb)
1317 if ((dhp = ssl_get_auto_dh(s)) == NULL) { 1317 if ((dhp = ssl_get_auto_dh(s)) == NULL) {
1318 al = SSL_AD_INTERNAL_ERROR; 1318 al = SSL_AD_INTERNAL_ERROR;
1319 SSLerror(s, ERR_R_INTERNAL_ERROR); 1319 SSLerror(s, ERR_R_INTERNAL_ERROR);
1320 goto f_err; 1320 goto fatal_err;
1321 } 1321 }
1322 } else 1322 } else
1323 dhp = s->cert->dh_tmp; 1323 dhp = s->cert->dh_tmp;
@@ -1329,7 +1329,7 @@ ssl3_send_server_kex_dhe(SSL *s, CBB *cbb)
1329 if (dhp == NULL) { 1329 if (dhp == NULL) {
1330 al = SSL_AD_HANDSHAKE_FAILURE; 1330 al = SSL_AD_HANDSHAKE_FAILURE;
1331 SSLerror(s, SSL_R_MISSING_TMP_DH_KEY); 1331 SSLerror(s, SSL_R_MISSING_TMP_DH_KEY);
1332 goto f_err; 1332 goto fatal_err;
1333 } 1333 }
1334 1334
1335 if (S3I(s)->tmp.dh != NULL) { 1335 if (S3I(s)->tmp.dh != NULL) {
@@ -1375,7 +1375,7 @@ ssl3_send_server_kex_dhe(SSL *s, CBB *cbb)
1375 1375
1376 return (1); 1376 return (1);
1377 1377
1378 f_err: 1378 fatal_err:
1379 ssl3_send_alert(s, SSL3_AL_FATAL, al); 1379 ssl3_send_alert(s, SSL3_AL_FATAL, al);
1380 err: 1380 err:
1381 return (-1); 1381 return (-1);
@@ -1406,7 +1406,7 @@ ssl3_send_server_kex_ecdhe_ecp(SSL *s, int nid, CBB *cbb)
1406 if ((S3I(s)->tmp.ecdh = EC_KEY_new()) == NULL) { 1406 if ((S3I(s)->tmp.ecdh = EC_KEY_new()) == NULL) {
1407 al = SSL_AD_HANDSHAKE_FAILURE; 1407 al = SSL_AD_HANDSHAKE_FAILURE;
1408 SSLerror(s, SSL_R_MISSING_TMP_ECDH_KEY); 1408 SSLerror(s, SSL_R_MISSING_TMP_ECDH_KEY);
1409 goto f_err; 1409 goto fatal_err;
1410 } 1410 }
1411 S3I(s)->tmp.ecdh_nid = nid; 1411 S3I(s)->tmp.ecdh_nid = nid;
1412 ecdh = S3I(s)->tmp.ecdh; 1412 ecdh = S3I(s)->tmp.ecdh;
@@ -1436,7 +1436,7 @@ ssl3_send_server_kex_ecdhe_ecp(SSL *s, int nid, CBB *cbb)
1436 1436
1437 return (1); 1437 return (1);
1438 1438
1439 f_err: 1439 fatal_err:
1440 ssl3_send_alert(s, SSL3_AL_FATAL, al); 1440 ssl3_send_alert(s, SSL3_AL_FATAL, al);
1441 err: 1441 err:
1442 return (-1); 1442 return (-1);
@@ -1542,7 +1542,7 @@ ssl3_send_server_key_exchange(SSL *s)
1542 } else { 1542 } else {
1543 al = SSL_AD_HANDSHAKE_FAILURE; 1543 al = SSL_AD_HANDSHAKE_FAILURE;
1544 SSLerror(s, SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE); 1544 SSLerror(s, SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE);
1545 goto f_err; 1545 goto fatal_err;
1546 } 1546 }
1547 1547
1548 if (!CBB_finish(&cbb_params, &params, &params_len)) 1548 if (!CBB_finish(&cbb_params, &params, &params_len))
@@ -1556,7 +1556,7 @@ ssl3_send_server_key_exchange(SSL *s)
1556 if ((pkey = ssl_get_sign_pkey(s, S3I(s)->hs.new_cipher, 1556 if ((pkey = ssl_get_sign_pkey(s, S3I(s)->hs.new_cipher,
1557 &md, &sigalg)) == NULL) { 1557 &md, &sigalg)) == NULL) {
1558 al = SSL_AD_DECODE_ERROR; 1558 al = SSL_AD_DECODE_ERROR;
1559 goto f_err; 1559 goto fatal_err;
1560 } 1560 }
1561 1561
1562 /* Send signature algorithm. */ 1562 /* Send signature algorithm. */
@@ -1564,7 +1564,7 @@ ssl3_send_server_key_exchange(SSL *s)
1564 if (!CBB_add_u16(&server_kex, sigalg->value)) { 1564 if (!CBB_add_u16(&server_kex, sigalg->value)) {
1565 al = SSL_AD_INTERNAL_ERROR; 1565 al = SSL_AD_INTERNAL_ERROR;
1566 SSLerror(s, ERR_R_INTERNAL_ERROR); 1566 SSLerror(s, ERR_R_INTERNAL_ERROR);
1567 goto f_err; 1567 goto fatal_err;
1568 } 1568 }
1569 } 1569 }
1570 1570
@@ -1627,7 +1627,7 @@ ssl3_send_server_key_exchange(SSL *s)
1627 1627
1628 return (ssl3_handshake_write(s)); 1628 return (ssl3_handshake_write(s));
1629 1629
1630 f_err: 1630 fatal_err:
1631 ssl3_send_alert(s, SSL3_AL_FATAL, al); 1631 ssl3_send_alert(s, SSL3_AL_FATAL, al);
1632 err: 1632 err:
1633 CBB_cleanup(&cbb_params); 1633 CBB_cleanup(&cbb_params);
@@ -1726,7 +1726,7 @@ ssl3_get_client_kex_rsa(SSL *s, CBS *cbs)
1726 (pkey->pkey.rsa == NULL)) { 1726 (pkey->pkey.rsa == NULL)) {
1727 al = SSL_AD_HANDSHAKE_FAILURE; 1727 al = SSL_AD_HANDSHAKE_FAILURE;
1728 SSLerror(s, SSL_R_MISSING_RSA_CERTIFICATE); 1728 SSLerror(s, SSL_R_MISSING_RSA_CERTIFICATE);
1729 goto f_err; 1729 goto fatal_err;
1730 } 1730 }
1731 rsa = pkey->pkey.rsa; 1731 rsa = pkey->pkey.rsa;
1732 1732
@@ -1795,7 +1795,7 @@ ssl3_get_client_kex_rsa(SSL *s, CBS *cbs)
1795 decode_err: 1795 decode_err:
1796 al = SSL_AD_DECODE_ERROR; 1796 al = SSL_AD_DECODE_ERROR;
1797 SSLerror(s, SSL_R_BAD_PACKET_LENGTH); 1797 SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
1798 f_err: 1798 fatal_err:
1799 ssl3_send_alert(s, SSL3_AL_FATAL, al); 1799 ssl3_send_alert(s, SSL3_AL_FATAL, al);
1800 err: 1800 err:
1801 freezero(pms, pms_len); 1801 freezero(pms, pms_len);
@@ -1821,7 +1821,7 @@ ssl3_get_client_kex_dhe(SSL *s, CBS *cbs)
1821 if (S3I(s)->tmp.dh == NULL) { 1821 if (S3I(s)->tmp.dh == NULL) {
1822 al = SSL_AD_HANDSHAKE_FAILURE; 1822 al = SSL_AD_HANDSHAKE_FAILURE;
1823 SSLerror(s, SSL_R_MISSING_TMP_DH_KEY); 1823 SSLerror(s, SSL_R_MISSING_TMP_DH_KEY);
1824 goto f_err; 1824 goto fatal_err;
1825 } 1825 }
1826 dh = S3I(s)->tmp.dh; 1826 dh = S3I(s)->tmp.dh;
1827 1827
@@ -1841,17 +1841,17 @@ ssl3_get_client_kex_dhe(SSL *s, CBS *cbs)
1841 if (!DH_check_pub_key(dh, bn, &key_is_invalid)) { 1841 if (!DH_check_pub_key(dh, bn, &key_is_invalid)) {
1842 al = SSL_AD_INTERNAL_ERROR; 1842 al = SSL_AD_INTERNAL_ERROR;
1843 SSLerror(s, ERR_R_DH_LIB); 1843 SSLerror(s, ERR_R_DH_LIB);
1844 goto f_err; 1844 goto fatal_err;
1845 } 1845 }
1846 if (key_is_invalid) { 1846 if (key_is_invalid) {
1847 al = SSL_AD_ILLEGAL_PARAMETER; 1847 al = SSL_AD_ILLEGAL_PARAMETER;
1848 SSLerror(s, ERR_R_DH_LIB); 1848 SSLerror(s, ERR_R_DH_LIB);
1849 goto f_err; 1849 goto fatal_err;
1850 } 1850 }
1851 if ((key_len = DH_compute_key(key, bn, dh)) <= 0) { 1851 if ((key_len = DH_compute_key(key, bn, dh)) <= 0) {
1852 al = SSL_AD_INTERNAL_ERROR; 1852 al = SSL_AD_INTERNAL_ERROR;
1853 SSLerror(s, ERR_R_DH_LIB); 1853 SSLerror(s, ERR_R_DH_LIB);
1854 goto f_err; 1854 goto fatal_err;
1855 } 1855 }
1856 1856
1857 s->session->master_key_length = tls1_generate_master_secret(s, 1857 s->session->master_key_length = tls1_generate_master_secret(s,
@@ -1868,7 +1868,7 @@ ssl3_get_client_kex_dhe(SSL *s, CBS *cbs)
1868 decode_err: 1868 decode_err:
1869 al = SSL_AD_DECODE_ERROR; 1869 al = SSL_AD_DECODE_ERROR;
1870 SSLerror(s, SSL_R_BAD_PACKET_LENGTH); 1870 SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
1871 f_err: 1871 fatal_err:
1872 ssl3_send_alert(s, SSL3_AL_FATAL, al); 1872 ssl3_send_alert(s, SSL3_AL_FATAL, al);
1873 err: 1873 err:
1874 freezero(key, key_size); 1874 freezero(key, key_size);
@@ -2083,18 +2083,18 @@ ssl3_get_client_key_exchange(SSL *s)
2083 } else { 2083 } else {
2084 al = SSL_AD_HANDSHAKE_FAILURE; 2084 al = SSL_AD_HANDSHAKE_FAILURE;
2085 SSLerror(s, SSL_R_UNKNOWN_CIPHER_TYPE); 2085 SSLerror(s, SSL_R_UNKNOWN_CIPHER_TYPE);
2086 goto f_err; 2086 goto fatal_err;
2087 } 2087 }
2088 2088
2089 if (CBS_len(&cbs) != 0) { 2089 if (CBS_len(&cbs) != 0) {
2090 al = SSL_AD_DECODE_ERROR; 2090 al = SSL_AD_DECODE_ERROR;
2091 SSLerror(s, SSL_R_BAD_PACKET_LENGTH); 2091 SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
2092 goto f_err; 2092 goto fatal_err;
2093 } 2093 }
2094 2094
2095 return (1); 2095 return (1);
2096 2096
2097 f_err: 2097 fatal_err:
2098 ssl3_send_alert(s, SSL3_AL_FATAL, al); 2098 ssl3_send_alert(s, SSL3_AL_FATAL, al);
2099 err: 2099 err:
2100 return (-1); 2100 return (-1);
@@ -2139,7 +2139,7 @@ ssl3_get_cert_verify(SSL *s)
2139 if (peer != NULL) { 2139 if (peer != NULL) {
2140 al = SSL_AD_UNEXPECTED_MESSAGE; 2140 al = SSL_AD_UNEXPECTED_MESSAGE;
2141 SSLerror(s, SSL_R_MISSING_VERIFY_MESSAGE); 2141 SSLerror(s, SSL_R_MISSING_VERIFY_MESSAGE);
2142 goto f_err; 2142 goto fatal_err;
2143 } 2143 }
2144 ret = 1; 2144 ret = 1;
2145 goto end; 2145 goto end;
@@ -2148,19 +2148,19 @@ ssl3_get_cert_verify(SSL *s)
2148 if (peer == NULL) { 2148 if (peer == NULL) {
2149 SSLerror(s, SSL_R_NO_CLIENT_CERT_RECEIVED); 2149 SSLerror(s, SSL_R_NO_CLIENT_CERT_RECEIVED);
2150 al = SSL_AD_UNEXPECTED_MESSAGE; 2150 al = SSL_AD_UNEXPECTED_MESSAGE;
2151 goto f_err; 2151 goto fatal_err;
2152 } 2152 }
2153 2153
2154 if (!(type & EVP_PKT_SIGN)) { 2154 if (!(type & EVP_PKT_SIGN)) {
2155 SSLerror(s, SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE); 2155 SSLerror(s, SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE);
2156 al = SSL_AD_ILLEGAL_PARAMETER; 2156 al = SSL_AD_ILLEGAL_PARAMETER;
2157 goto f_err; 2157 goto fatal_err;
2158 } 2158 }
2159 2159
2160 if (S3I(s)->change_cipher_spec) { 2160 if (S3I(s)->change_cipher_spec) {
2161 SSLerror(s, SSL_R_CCS_RECEIVED_EARLY); 2161 SSLerror(s, SSL_R_CCS_RECEIVED_EARLY);
2162 al = SSL_AD_UNEXPECTED_MESSAGE; 2162 al = SSL_AD_UNEXPECTED_MESSAGE;
2163 goto f_err; 2163 goto fatal_err;
2164 } 2164 }
2165 2165
2166 if (!SSL_USE_SIGALGS(s)) { 2166 if (!SSL_USE_SIGALGS(s)) {
@@ -2169,12 +2169,12 @@ ssl3_get_cert_verify(SSL *s)
2169 if (CBS_len(&signature) > EVP_PKEY_size(pkey)) { 2169 if (CBS_len(&signature) > EVP_PKEY_size(pkey)) {
2170 SSLerror(s, SSL_R_WRONG_SIGNATURE_SIZE); 2170 SSLerror(s, SSL_R_WRONG_SIGNATURE_SIZE);
2171 al = SSL_AD_DECODE_ERROR; 2171 al = SSL_AD_DECODE_ERROR;
2172 goto f_err; 2172 goto fatal_err;
2173 } 2173 }
2174 if (CBS_len(&cbs) != 0) { 2174 if (CBS_len(&cbs) != 0) {
2175 al = SSL_AD_DECODE_ERROR; 2175 al = SSL_AD_DECODE_ERROR;
2176 SSLerror(s, SSL_R_EXTRA_DATA_IN_MESSAGE); 2176 SSLerror(s, SSL_R_EXTRA_DATA_IN_MESSAGE);
2177 goto f_err; 2177 goto fatal_err;
2178 } 2178 }
2179 } 2179 }
2180 2180
@@ -2189,12 +2189,12 @@ ssl3_get_cert_verify(SSL *s)
2189 (md = sigalg->md()) == NULL) { 2189 (md = sigalg->md()) == NULL) {
2190 SSLerror(s, SSL_R_UNKNOWN_DIGEST); 2190 SSLerror(s, SSL_R_UNKNOWN_DIGEST);
2191 al = SSL_AD_DECODE_ERROR; 2191 al = SSL_AD_DECODE_ERROR;
2192 goto f_err; 2192 goto fatal_err;
2193 } 2193 }
2194 if (!ssl_sigalg_pkey_ok(sigalg, pkey, 0)) { 2194 if (!ssl_sigalg_pkey_ok(sigalg, pkey, 0)) {
2195 SSLerror(s, SSL_R_WRONG_SIGNATURE_TYPE); 2195 SSLerror(s, SSL_R_WRONG_SIGNATURE_TYPE);
2196 al = SSL_AD_DECODE_ERROR; 2196 al = SSL_AD_DECODE_ERROR;
2197 goto f_err; 2197 goto fatal_err;
2198 } 2198 }
2199 2199
2200 if (!CBS_get_u16_length_prefixed(&cbs, &signature)) 2200 if (!CBS_get_u16_length_prefixed(&cbs, &signature))
@@ -2202,48 +2202,48 @@ ssl3_get_cert_verify(SSL *s)
2202 if (CBS_len(&signature) > EVP_PKEY_size(pkey)) { 2202 if (CBS_len(&signature) > EVP_PKEY_size(pkey)) {
2203 SSLerror(s, SSL_R_WRONG_SIGNATURE_SIZE); 2203 SSLerror(s, SSL_R_WRONG_SIGNATURE_SIZE);
2204 al = SSL_AD_DECODE_ERROR; 2204 al = SSL_AD_DECODE_ERROR;
2205 goto f_err; 2205 goto fatal_err;
2206 } 2206 }
2207 if (CBS_len(&cbs) != 0) { 2207 if (CBS_len(&cbs) != 0) {
2208 al = SSL_AD_DECODE_ERROR; 2208 al = SSL_AD_DECODE_ERROR;
2209 SSLerror(s, SSL_R_EXTRA_DATA_IN_MESSAGE); 2209 SSLerror(s, SSL_R_EXTRA_DATA_IN_MESSAGE);
2210 goto f_err; 2210 goto fatal_err;
2211 } 2211 }
2212 2212
2213 if (!tls1_transcript_data(s, &hdata, &hdatalen)) { 2213 if (!tls1_transcript_data(s, &hdata, &hdatalen)) {
2214 SSLerror(s, ERR_R_INTERNAL_ERROR); 2214 SSLerror(s, ERR_R_INTERNAL_ERROR);
2215 al = SSL_AD_INTERNAL_ERROR; 2215 al = SSL_AD_INTERNAL_ERROR;
2216 goto f_err; 2216 goto fatal_err;
2217 } 2217 }
2218 if (!EVP_DigestVerifyInit(&mctx, &pctx, md, NULL, pkey)) { 2218 if (!EVP_DigestVerifyInit(&mctx, &pctx, md, NULL, pkey)) {
2219 SSLerror(s, ERR_R_EVP_LIB); 2219 SSLerror(s, ERR_R_EVP_LIB);
2220 al = SSL_AD_INTERNAL_ERROR; 2220 al = SSL_AD_INTERNAL_ERROR;
2221 goto f_err; 2221 goto fatal_err;
2222 } 2222 }
2223 if ((sigalg->flags & SIGALG_FLAG_RSA_PSS) && 2223 if ((sigalg->flags & SIGALG_FLAG_RSA_PSS) &&
2224 (!EVP_PKEY_CTX_set_rsa_padding 2224 (!EVP_PKEY_CTX_set_rsa_padding
2225 (pctx, RSA_PKCS1_PSS_PADDING) || 2225 (pctx, RSA_PKCS1_PSS_PADDING) ||
2226 !EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1))) { 2226 !EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1))) {
2227 al = SSL_AD_INTERNAL_ERROR; 2227 al = SSL_AD_INTERNAL_ERROR;
2228 goto f_err; 2228 goto fatal_err;
2229 } 2229 }
2230 if (sigalg->key_type == EVP_PKEY_GOSTR01 && 2230 if (sigalg->key_type == EVP_PKEY_GOSTR01 &&
2231 EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_VERIFY, 2231 EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_VERIFY,
2232 EVP_PKEY_CTRL_GOST_SIG_FORMAT, GOST_SIG_FORMAT_RS_LE, 2232 EVP_PKEY_CTRL_GOST_SIG_FORMAT, GOST_SIG_FORMAT_RS_LE,
2233 NULL) <= 0) { 2233 NULL) <= 0) {
2234 al = SSL_AD_INTERNAL_ERROR; 2234 al = SSL_AD_INTERNAL_ERROR;
2235 goto f_err; 2235 goto fatal_err;
2236 } 2236 }
2237 if (!EVP_DigestVerifyUpdate(&mctx, hdata, hdatalen)) { 2237 if (!EVP_DigestVerifyUpdate(&mctx, hdata, hdatalen)) {
2238 SSLerror(s, ERR_R_EVP_LIB); 2238 SSLerror(s, ERR_R_EVP_LIB);
2239 al = SSL_AD_INTERNAL_ERROR; 2239 al = SSL_AD_INTERNAL_ERROR;
2240 goto f_err; 2240 goto fatal_err;
2241 } 2241 }
2242 if (EVP_DigestVerifyFinal(&mctx, CBS_data(&signature), 2242 if (EVP_DigestVerifyFinal(&mctx, CBS_data(&signature),
2243 CBS_len(&signature)) <= 0) { 2243 CBS_len(&signature)) <= 0) {
2244 al = SSL_AD_DECRYPT_ERROR; 2244 al = SSL_AD_DECRYPT_ERROR;
2245 SSLerror(s, SSL_R_BAD_SIGNATURE); 2245 SSLerror(s, SSL_R_BAD_SIGNATURE);
2246 goto f_err; 2246 goto fatal_err;
2247 } 2247 }
2248 } else if (pkey->type == EVP_PKEY_RSA) { 2248 } else if (pkey->type == EVP_PKEY_RSA) {
2249 verify = RSA_verify(NID_md5_sha1, S3I(s)->tmp.cert_verify_md, 2249 verify = RSA_verify(NID_md5_sha1, S3I(s)->tmp.cert_verify_md,
@@ -2252,12 +2252,12 @@ ssl3_get_cert_verify(SSL *s)
2252 if (verify < 0) { 2252 if (verify < 0) {
2253 al = SSL_AD_DECRYPT_ERROR; 2253 al = SSL_AD_DECRYPT_ERROR;
2254 SSLerror(s, SSL_R_BAD_RSA_DECRYPT); 2254 SSLerror(s, SSL_R_BAD_RSA_DECRYPT);
2255 goto f_err; 2255 goto fatal_err;
2256 } 2256 }
2257 if (verify == 0) { 2257 if (verify == 0) {
2258 al = SSL_AD_DECRYPT_ERROR; 2258 al = SSL_AD_DECRYPT_ERROR;
2259 SSLerror(s, SSL_R_BAD_RSA_SIGNATURE); 2259 SSLerror(s, SSL_R_BAD_RSA_SIGNATURE);
2260 goto f_err; 2260 goto fatal_err;
2261 } 2261 }
2262 } else if (pkey->type == EVP_PKEY_EC) { 2262 } else if (pkey->type == EVP_PKEY_EC) {
2263 verify = ECDSA_verify(pkey->save_type, 2263 verify = ECDSA_verify(pkey->save_type,
@@ -2267,7 +2267,7 @@ ssl3_get_cert_verify(SSL *s)
2267 if (verify <= 0) { 2267 if (verify <= 0) {
2268 al = SSL_AD_DECRYPT_ERROR; 2268 al = SSL_AD_DECRYPT_ERROR;
2269 SSLerror(s, SSL_R_BAD_ECDSA_SIGNATURE); 2269 SSLerror(s, SSL_R_BAD_ECDSA_SIGNATURE);
2270 goto f_err; 2270 goto fatal_err;
2271 } 2271 }
2272#ifndef OPENSSL_NO_GOST 2272#ifndef OPENSSL_NO_GOST
2273 } else if (pkey->type == NID_id_GostR3410_94 || 2273 } else if (pkey->type == NID_id_GostR3410_94 ||
@@ -2280,18 +2280,18 @@ ssl3_get_cert_verify(SSL *s)
2280 if (!tls1_transcript_data(s, &hdata, &hdatalen)) { 2280 if (!tls1_transcript_data(s, &hdata, &hdatalen)) {
2281 SSLerror(s, ERR_R_INTERNAL_ERROR); 2281 SSLerror(s, ERR_R_INTERNAL_ERROR);
2282 al = SSL_AD_INTERNAL_ERROR; 2282 al = SSL_AD_INTERNAL_ERROR;
2283 goto f_err; 2283 goto fatal_err;
2284 } 2284 }
2285 if (!EVP_PKEY_get_default_digest_nid(pkey, &nid) || 2285 if (!EVP_PKEY_get_default_digest_nid(pkey, &nid) ||
2286 !(md = EVP_get_digestbynid(nid))) { 2286 !(md = EVP_get_digestbynid(nid))) {
2287 SSLerror(s, ERR_R_EVP_LIB); 2287 SSLerror(s, ERR_R_EVP_LIB);
2288 al = SSL_AD_INTERNAL_ERROR; 2288 al = SSL_AD_INTERNAL_ERROR;
2289 goto f_err; 2289 goto fatal_err;
2290 } 2290 }
2291 if ((pctx = EVP_PKEY_CTX_new(pkey, NULL)) == NULL) { 2291 if ((pctx = EVP_PKEY_CTX_new(pkey, NULL)) == NULL) {
2292 SSLerror(s, ERR_R_EVP_LIB); 2292 SSLerror(s, ERR_R_EVP_LIB);
2293 al = SSL_AD_INTERNAL_ERROR; 2293 al = SSL_AD_INTERNAL_ERROR;
2294 goto f_err; 2294 goto fatal_err;
2295 } 2295 }
2296 if (!EVP_DigestInit_ex(&mctx, md, NULL) || 2296 if (!EVP_DigestInit_ex(&mctx, md, NULL) ||
2297 !EVP_DigestUpdate(&mctx, hdata, hdatalen) || 2297 !EVP_DigestUpdate(&mctx, hdata, hdatalen) ||
@@ -2304,14 +2304,14 @@ ssl3_get_cert_verify(SSL *s)
2304 SSLerror(s, ERR_R_EVP_LIB); 2304 SSLerror(s, ERR_R_EVP_LIB);
2305 al = SSL_AD_INTERNAL_ERROR; 2305 al = SSL_AD_INTERNAL_ERROR;
2306 EVP_PKEY_CTX_free(pctx); 2306 EVP_PKEY_CTX_free(pctx);
2307 goto f_err; 2307 goto fatal_err;
2308 } 2308 }
2309 if (EVP_PKEY_verify(pctx, CBS_data(&signature), 2309 if (EVP_PKEY_verify(pctx, CBS_data(&signature),
2310 CBS_len(&signature), sigbuf, siglen) <= 0) { 2310 CBS_len(&signature), sigbuf, siglen) <= 0) {
2311 al = SSL_AD_DECRYPT_ERROR; 2311 al = SSL_AD_DECRYPT_ERROR;
2312 SSLerror(s, SSL_R_BAD_SIGNATURE); 2312 SSLerror(s, SSL_R_BAD_SIGNATURE);
2313 EVP_PKEY_CTX_free(pctx); 2313 EVP_PKEY_CTX_free(pctx);
2314 goto f_err; 2314 goto fatal_err;
2315 } 2315 }
2316 2316
2317 EVP_PKEY_CTX_free(pctx); 2317 EVP_PKEY_CTX_free(pctx);
@@ -2319,7 +2319,7 @@ ssl3_get_cert_verify(SSL *s)
2319 } else { 2319 } else {
2320 SSLerror(s, ERR_R_INTERNAL_ERROR); 2320 SSLerror(s, ERR_R_INTERNAL_ERROR);
2321 al = SSL_AD_UNSUPPORTED_CERTIFICATE; 2321 al = SSL_AD_UNSUPPORTED_CERTIFICATE;
2322 goto f_err; 2322 goto fatal_err;
2323 } 2323 }
2324 2324
2325 ret = 1; 2325 ret = 1;
@@ -2327,7 +2327,7 @@ ssl3_get_cert_verify(SSL *s)
2327 decode_err: 2327 decode_err:
2328 al = SSL_AD_DECODE_ERROR; 2328 al = SSL_AD_DECODE_ERROR;
2329 SSLerror(s, SSL_R_BAD_PACKET_LENGTH); 2329 SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
2330 f_err: 2330 fatal_err:
2331 ssl3_send_alert(s, SSL3_AL_FATAL, al); 2331 ssl3_send_alert(s, SSL3_AL_FATAL, al);
2332 } 2332 }
2333 end: 2333 end:
@@ -2358,7 +2358,7 @@ ssl3_get_client_certificate(SSL *s)
2358 (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT)) { 2358 (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT)) {
2359 SSLerror(s, SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE); 2359 SSLerror(s, SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
2360 al = SSL_AD_HANDSHAKE_FAILURE; 2360 al = SSL_AD_HANDSHAKE_FAILURE;
2361 goto f_err; 2361 goto fatal_err;
2362 } 2362 }
2363 /* 2363 /*
2364 * If tls asked for a client cert, 2364 * If tls asked for a client cert,
@@ -2368,7 +2368,7 @@ ssl3_get_client_certificate(SSL *s)
2368 SSLerror(s, SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 2368 SSLerror(s, SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST
2369 ); 2369 );
2370 al = SSL_AD_UNEXPECTED_MESSAGE; 2370 al = SSL_AD_UNEXPECTED_MESSAGE;
2371 goto f_err; 2371 goto fatal_err;
2372 } 2372 }
2373 S3I(s)->tmp.reuse_message = 1; 2373 S3I(s)->tmp.reuse_message = 1;
2374 return (1); 2374 return (1);
@@ -2377,7 +2377,7 @@ ssl3_get_client_certificate(SSL *s)
2377 if (S3I(s)->tmp.message_type != SSL3_MT_CERTIFICATE) { 2377 if (S3I(s)->tmp.message_type != SSL3_MT_CERTIFICATE) {
2378 al = SSL_AD_UNEXPECTED_MESSAGE; 2378 al = SSL_AD_UNEXPECTED_MESSAGE;
2379 SSLerror(s, SSL_R_WRONG_MESSAGE_TYPE); 2379 SSLerror(s, SSL_R_WRONG_MESSAGE_TYPE);
2380 goto f_err; 2380 goto fatal_err;
2381 } 2381 }
2382 2382
2383 if (n < 0) 2383 if (n < 0)
@@ -2400,7 +2400,7 @@ ssl3_get_client_certificate(SSL *s)
2400 if (!CBS_get_u24_length_prefixed(&client_certs, &cert)) { 2400 if (!CBS_get_u24_length_prefixed(&client_certs, &cert)) {
2401 al = SSL_AD_DECODE_ERROR; 2401 al = SSL_AD_DECODE_ERROR;
2402 SSLerror(s, SSL_R_CERT_LENGTH_MISMATCH); 2402 SSLerror(s, SSL_R_CERT_LENGTH_MISMATCH);
2403 goto f_err; 2403 goto fatal_err;
2404 } 2404 }
2405 2405
2406 q = CBS_data(&cert); 2406 q = CBS_data(&cert);
@@ -2412,7 +2412,7 @@ ssl3_get_client_certificate(SSL *s)
2412 if (q != CBS_data(&cert) + CBS_len(&cert)) { 2412 if (q != CBS_data(&cert) + CBS_len(&cert)) {
2413 al = SSL_AD_DECODE_ERROR; 2413 al = SSL_AD_DECODE_ERROR;
2414 SSLerror(s, SSL_R_CERT_LENGTH_MISMATCH); 2414 SSLerror(s, SSL_R_CERT_LENGTH_MISMATCH);
2415 goto f_err; 2415 goto fatal_err;
2416 } 2416 }
2417 if (!sk_X509_push(sk, x)) { 2417 if (!sk_X509_push(sk, x)) {
2418 SSLerror(s, ERR_R_MALLOC_FAILURE); 2418 SSLerror(s, ERR_R_MALLOC_FAILURE);
@@ -2430,7 +2430,7 @@ ssl3_get_client_certificate(SSL *s)
2430 (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT)) { 2430 (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT)) {
2431 SSLerror(s, SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE); 2431 SSLerror(s, SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
2432 al = SSL_AD_HANDSHAKE_FAILURE; 2432 al = SSL_AD_HANDSHAKE_FAILURE;
2433 goto f_err; 2433 goto fatal_err;
2434 } 2434 }
2435 /* No client certificate so free transcript. */ 2435 /* No client certificate so free transcript. */
2436 tls1_transcript_free(s); 2436 tls1_transcript_free(s);
@@ -2439,7 +2439,7 @@ ssl3_get_client_certificate(SSL *s)
2439 if (i <= 0) { 2439 if (i <= 0) {
2440 al = ssl_verify_alarm_type(s->verify_result); 2440 al = ssl_verify_alarm_type(s->verify_result);
2441 SSLerror(s, SSL_R_NO_CERTIFICATE_RETURNED); 2441 SSLerror(s, SSL_R_NO_CERTIFICATE_RETURNED);
2442 goto f_err; 2442 goto fatal_err;
2443 } 2443 }
2444 } 2444 }
2445 2445
@@ -2473,7 +2473,7 @@ ssl3_get_client_certificate(SSL *s)
2473 decode_err: 2473 decode_err:
2474 al = SSL_AD_DECODE_ERROR; 2474 al = SSL_AD_DECODE_ERROR;
2475 SSLerror(s, SSL_R_BAD_PACKET_LENGTH); 2475 SSLerror(s, SSL_R_BAD_PACKET_LENGTH);
2476 f_err: 2476 fatal_err:
2477 ssl3_send_alert(s, SSL3_AL_FATAL, al); 2477 ssl3_send_alert(s, SSL3_AL_FATAL, al);
2478 } 2478 }
2479 err: 2479 err: