summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_srvr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r--src/lib/libssl/ssl_srvr.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c
index 330f9176d8..0496985351 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.129 2021/12/26 15:10:59 tb Exp $ */ 1/* $OpenBSD: ssl_srvr.c,v 1.130 2022/01/04 12:53:31 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 *
@@ -1361,7 +1361,7 @@ ssl3_send_server_kex_dhe(SSL *s, CBB *cbb)
1361 err: 1361 err:
1362 DH_free(dh); 1362 DH_free(dh);
1363 1363
1364 return -1; 1364 return 0;
1365} 1365}
1366 1366
1367static int 1367static int
@@ -1417,12 +1417,12 @@ ssl3_send_server_kex_ecdhe_ecp(SSL *s, int nid, CBB *cbb)
1417 if (!CBB_flush(cbb)) 1417 if (!CBB_flush(cbb))
1418 goto err; 1418 goto err;
1419 1419
1420 return (1); 1420 return 1;
1421 1421
1422 fatal_err: 1422 fatal_err:
1423 ssl3_send_alert(s, SSL3_AL_FATAL, al); 1423 ssl3_send_alert(s, SSL3_AL_FATAL, al);
1424 err: 1424 err:
1425 return (-1); 1425 return 0;
1426} 1426}
1427 1427
1428static int 1428static int
@@ -1431,7 +1431,7 @@ ssl3_send_server_kex_ecdhe_ecx(SSL *s, int nid, CBB *cbb)
1431 uint8_t *public_key = NULL, *private_key = NULL; 1431 uint8_t *public_key = NULL, *private_key = NULL;
1432 uint16_t curve_id; 1432 uint16_t curve_id;
1433 CBB ecpoint; 1433 CBB ecpoint;
1434 int ret = -1; 1434 int ret = 0;
1435 1435
1436 /* Generate an X25519 key pair. */ 1436 /* Generate an X25519 key pair. */
1437 if (S3I(s)->tmp.x25519 != NULL) { 1437 if (S3I(s)->tmp.x25519 != NULL) {
@@ -1469,7 +1469,7 @@ ssl3_send_server_kex_ecdhe_ecx(SSL *s, int nid, CBB *cbb)
1469 free(public_key); 1469 free(public_key);
1470 freezero(private_key, X25519_KEY_LENGTH); 1470 freezero(private_key, X25519_KEY_LENGTH);
1471 1471
1472 return (ret); 1472 return ret;
1473} 1473}
1474 1474
1475static int 1475static int
@@ -1518,10 +1518,10 @@ ssl3_send_server_key_exchange(SSL *s)
1518 1518
1519 type = S3I(s)->hs.cipher->algorithm_mkey; 1519 type = S3I(s)->hs.cipher->algorithm_mkey;
1520 if (type & SSL_kDHE) { 1520 if (type & SSL_kDHE) {
1521 if (ssl3_send_server_kex_dhe(s, &cbb_params) != 1) 1521 if (!ssl3_send_server_kex_dhe(s, &cbb_params))
1522 goto err; 1522 goto err;
1523 } else if (type & SSL_kECDHE) { 1523 } else if (type & SSL_kECDHE) {
1524 if (ssl3_send_server_kex_ecdhe(s, &cbb_params) != 1) 1524 if (!ssl3_send_server_kex_ecdhe(s, &cbb_params))
1525 goto err; 1525 goto err;
1526 } else { 1526 } else {
1527 al = SSL_AD_HANDSHAKE_FAILURE; 1527 al = SSL_AD_HANDSHAKE_FAILURE;
@@ -1775,7 +1775,7 @@ ssl3_get_client_kex_rsa(SSL *s, CBS *cbs)
1775 1775
1776 freezero(pms, pms_len); 1776 freezero(pms, pms_len);
1777 1777
1778 return (1); 1778 return 1;
1779 1779
1780 decode_err: 1780 decode_err:
1781 al = SSL_AD_DECODE_ERROR; 1781 al = SSL_AD_DECODE_ERROR;
@@ -1785,7 +1785,7 @@ ssl3_get_client_kex_rsa(SSL *s, CBS *cbs)
1785 err: 1785 err:
1786 freezero(pms, pms_len); 1786 freezero(pms, pms_len);
1787 1787
1788 return (-1); 1788 return 0;
1789} 1789}
1790 1790
1791static int 1791static int
@@ -1796,7 +1796,7 @@ ssl3_get_client_kex_dhe(SSL *s, CBS *cbs)
1796 int invalid_key; 1796 int invalid_key;
1797 uint8_t *key = NULL; 1797 uint8_t *key = NULL;
1798 size_t key_len = 0; 1798 size_t key_len = 0;
1799 int ret = -1; 1799 int ret = 0;
1800 1800
1801 if ((dh_srvr = S3I(s)->tmp.dh) == NULL) { 1801 if ((dh_srvr = S3I(s)->tmp.dh) == NULL) {
1802 ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE); 1802 ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
@@ -1844,7 +1844,7 @@ ssl3_get_client_kex_ecdhe_ecp(SSL *s, CBS *cbs)
1844 EC_KEY *ecdh_peer = NULL; 1844 EC_KEY *ecdh_peer = NULL;
1845 EC_KEY *ecdh; 1845 EC_KEY *ecdh;
1846 CBS public; 1846 CBS public;
1847 int ret = -1; 1847 int ret = 0;
1848 1848
1849 /* 1849 /*
1850 * Use the ephemeral values we saved when generating the 1850 * Use the ephemeral values we saved when generating the
@@ -1887,7 +1887,7 @@ ssl3_get_client_kex_ecdhe_ecp(SSL *s, CBS *cbs)
1887 freezero(key, key_len); 1887 freezero(key, key_len);
1888 EC_KEY_free(ecdh_peer); 1888 EC_KEY_free(ecdh_peer);
1889 1889
1890 return (ret); 1890 return ret;
1891} 1891}
1892 1892
1893static int 1893static int
@@ -1895,7 +1895,7 @@ ssl3_get_client_kex_ecdhe_ecx(SSL *s, CBS *cbs)
1895{ 1895{
1896 uint8_t *shared_key = NULL; 1896 uint8_t *shared_key = NULL;
1897 CBS ecpoint; 1897 CBS ecpoint;
1898 int ret = -1; 1898 int ret = 0;
1899 1899
1900 if (!CBS_get_u8_length_prefixed(cbs, &ecpoint)) 1900 if (!CBS_get_u8_length_prefixed(cbs, &ecpoint))
1901 goto err; 1901 goto err;
@@ -1920,7 +1920,7 @@ ssl3_get_client_kex_ecdhe_ecx(SSL *s, CBS *cbs)
1920 err: 1920 err:
1921 freezero(shared_key, X25519_KEY_LENGTH); 1921 freezero(shared_key, X25519_KEY_LENGTH);
1922 1922
1923 return (ret); 1923 return ret;
1924} 1924}
1925 1925
1926static int 1926static int
@@ -2023,13 +2023,13 @@ ssl3_get_client_key_exchange(SSL *s)
2023 alg_k = S3I(s)->hs.cipher->algorithm_mkey; 2023 alg_k = S3I(s)->hs.cipher->algorithm_mkey;
2024 2024
2025 if (alg_k & SSL_kRSA) { 2025 if (alg_k & SSL_kRSA) {
2026 if (ssl3_get_client_kex_rsa(s, &cbs) != 1) 2026 if (!ssl3_get_client_kex_rsa(s, &cbs))
2027 goto err; 2027 goto err;
2028 } else if (alg_k & SSL_kDHE) { 2028 } else if (alg_k & SSL_kDHE) {
2029 if (ssl3_get_client_kex_dhe(s, &cbs) != 1) 2029 if (!ssl3_get_client_kex_dhe(s, &cbs))
2030 goto err; 2030 goto err;
2031 } else if (alg_k & SSL_kECDHE) { 2031 } else if (alg_k & SSL_kECDHE) {
2032 if (ssl3_get_client_kex_ecdhe(s, &cbs) != 1) 2032 if (!ssl3_get_client_kex_ecdhe(s, &cbs))
2033 goto err; 2033 goto err;
2034 } else if (alg_k & SSL_kGOST) { 2034 } else if (alg_k & SSL_kGOST) {
2035 if (ssl3_get_client_kex_gost(s, &cbs) != 1) 2035 if (ssl3_get_client_kex_gost(s, &cbs) != 1)