summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjsing <>2022-02-03 16:33:12 +0000
committerjsing <>2022-02-03 16:33:12 +0000
commit8babe15310f777eda2ab1203f245c0f0892a3801 (patch)
treef898df6442fa1535bd54e575b63b8dd68b1983de /src/lib
parent6fd933a66bac23ba01bf8727afa5da899721ffe0 (diff)
downloadopenbsd-8babe15310f777eda2ab1203f245c0f0892a3801.tar.gz
openbsd-8babe15310f777eda2ab1203f245c0f0892a3801.tar.bz2
openbsd-8babe15310f777eda2ab1203f245c0f0892a3801.zip
Cleanup/simplify ssl_cert_type()
Remove the X509 argument as it is unused - this was passed so that ssl_cert_type() can get the public key from the X509 object if the EVP_PKEY argument is NULL, however this is never the case. ok tb@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/ssl_both.c36
-rw-r--r--src/lib/libssl/ssl_clnt.c4
-rw-r--r--src/lib/libssl/ssl_locl.h4
-rw-r--r--src/lib/libssl/ssl_rsa.c6
-rw-r--r--src/lib/libssl/tls13_client.c4
-rw-r--r--src/lib/libssl/tls13_server.c4
6 files changed, 24 insertions, 34 deletions
diff --git a/src/lib/libssl/ssl_both.c b/src/lib/libssl/ssl_both.c
index 9894648db8..ad16d2175b 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.40 2022/01/08 12:43:44 jsing Exp $ */ 1/* $OpenBSD: ssl_both.c,v 1.41 2022/02/03 16:33:12 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 *
@@ -522,32 +522,22 @@ ssl3_get_message(SSL *s, int st1, int stn, int mt, long max)
522} 522}
523 523
524int 524int
525ssl_cert_type(X509 *x, EVP_PKEY *pkey) 525ssl_cert_type(EVP_PKEY *pkey)
526{ 526{
527 EVP_PKEY *pk;
528 int ret = -1, i;
529
530 if (pkey == NULL) 527 if (pkey == NULL)
531 pk = X509_get_pubkey(x); 528 return -1;
532 else 529
533 pk = pkey; 530 switch (EVP_PKEY_id(pkey)) {
534 if (pk == NULL) 531 case EVP_PKEY_EC:
535 goto err; 532 return SSL_PKEY_ECC;
536 533 case NID_id_GostR3410_2001:
537 i = EVP_PKEY_id(pk); 534 case NID_id_GostR3410_2001_cc:
538 if (i == EVP_PKEY_RSA) { 535 return SSL_PKEY_GOST01;
539 ret = SSL_PKEY_RSA; 536 case EVP_PKEY_RSA:
540 } else if (i == EVP_PKEY_EC) { 537 return SSL_PKEY_RSA;
541 ret = SSL_PKEY_ECC;
542 } else if (i == NID_id_GostR3410_2001 ||
543 i == NID_id_GostR3410_2001_cc) {
544 ret = SSL_PKEY_GOST01;
545 } 538 }
546 539
547 err: 540 return -1;
548 if (!pkey)
549 EVP_PKEY_free(pk);
550 return (ret);
551} 541}
552 542
553int 543int
diff --git a/src/lib/libssl/ssl_clnt.c b/src/lib/libssl/ssl_clnt.c
index a402535c7d..6d50ade398 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.139 2022/01/24 13:53:29 tb Exp $ */ 1/* $OpenBSD: ssl_clnt.c,v 1.140 2022/02/03 16:33:12 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 *
@@ -1166,7 +1166,7 @@ ssl3_get_server_certificate(SSL *s)
1166 SSLerror(s, SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS); 1166 SSLerror(s, SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS);
1167 goto fatal_err; 1167 goto fatal_err;
1168 } 1168 }
1169 if ((cert_type = ssl_cert_type(x, pkey)) < 0) { 1169 if ((cert_type = ssl_cert_type(pkey)) < 0) {
1170 x = NULL; 1170 x = NULL;
1171 al = SSL3_AL_FATAL; 1171 al = SSL3_AL_FATAL;
1172 SSLerror(s, SSL_R_UNKNOWN_CERTIFICATE_TYPE); 1172 SSLerror(s, SSL_R_UNKNOWN_CERTIFICATE_TYPE);
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h
index 546854b462..ee64ec208e 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.383 2022/01/11 19:03:15 jsing Exp $ */ 1/* $OpenBSD: ssl_locl.h,v 1.384 2022/02/03 16:33:12 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 *
@@ -1310,7 +1310,7 @@ SSL_CERT_PKEY *ssl_get_server_send_pkey(const SSL *s);
1310EVP_PKEY *ssl_get_sign_pkey(SSL *s, const SSL_CIPHER *c, const EVP_MD **pmd, 1310EVP_PKEY *ssl_get_sign_pkey(SSL *s, const SSL_CIPHER *c, const EVP_MD **pmd,
1311 const struct ssl_sigalg **sap); 1311 const struct ssl_sigalg **sap);
1312size_t ssl_dhe_params_auto_key_bits(SSL *s); 1312size_t ssl_dhe_params_auto_key_bits(SSL *s);
1313int ssl_cert_type(X509 *x, EVP_PKEY *pkey); 1313int ssl_cert_type(EVP_PKEY *pkey);
1314void ssl_set_cert_masks(SSL_CERT *c, const SSL_CIPHER *cipher); 1314void ssl_set_cert_masks(SSL_CERT *c, const SSL_CIPHER *cipher);
1315STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s); 1315STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s);
1316int ssl_has_ecc_ciphers(SSL *s); 1316int ssl_has_ecc_ciphers(SSL *s);
diff --git a/src/lib/libssl/ssl_rsa.c b/src/lib/libssl/ssl_rsa.c
index 6b1010e413..f5c90fca8b 100644
--- a/src/lib/libssl/ssl_rsa.c
+++ b/src/lib/libssl/ssl_rsa.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_rsa.c,v 1.38 2022/01/08 12:43:44 jsing Exp $ */ 1/* $OpenBSD: ssl_rsa.c,v 1.39 2022/02/03 16:33:12 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 *
@@ -171,7 +171,7 @@ ssl_set_pkey(SSL_CERT *c, EVP_PKEY *pkey)
171{ 171{
172 int i; 172 int i;
173 173
174 i = ssl_cert_type(NULL, pkey); 174 i = ssl_cert_type(pkey);
175 if (i < 0) { 175 if (i < 0) {
176 SSLerrorx(SSL_R_UNKNOWN_CERTIFICATE_TYPE); 176 SSLerrorx(SSL_R_UNKNOWN_CERTIFICATE_TYPE);
177 return (0); 177 return (0);
@@ -354,7 +354,7 @@ ssl_set_cert(SSL_CERT *c, X509 *x)
354 return (0); 354 return (0);
355 } 355 }
356 356
357 i = ssl_cert_type(x, pkey); 357 i = ssl_cert_type(pkey);
358 if (i < 0) { 358 if (i < 0) {
359 SSLerrorx(SSL_R_UNKNOWN_CERTIFICATE_TYPE); 359 SSLerrorx(SSL_R_UNKNOWN_CERTIFICATE_TYPE);
360 EVP_PKEY_free(pkey); 360 EVP_PKEY_free(pkey);
diff --git a/src/lib/libssl/tls13_client.c b/src/lib/libssl/tls13_client.c
index 4b52f6cf62..11eb880a6e 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.93 2022/01/11 19:03:15 jsing Exp $ */ 1/* $OpenBSD: tls13_client.c,v 1.94 2022/02/03 16:33:12 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 *
@@ -625,7 +625,7 @@ tls13_server_certificate_recv(struct tls13_ctx *ctx, CBS *cbs)
625 goto err; 625 goto err;
626 if (EVP_PKEY_missing_parameters(pkey)) 626 if (EVP_PKEY_missing_parameters(pkey))
627 goto err; 627 goto err;
628 if ((cert_type = ssl_cert_type(cert, pkey)) < 0) 628 if ((cert_type = ssl_cert_type(pkey)) < 0)
629 goto err; 629 goto err;
630 630
631 X509_up_ref(cert); 631 X509_up_ref(cert);
diff --git a/src/lib/libssl/tls13_server.c b/src/lib/libssl/tls13_server.c
index 10e49104d4..4ac84a808c 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.95 2022/01/11 19:03:15 jsing Exp $ */ 1/* $OpenBSD: tls13_server.c,v 1.96 2022/02/03 16:33:12 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>
@@ -918,7 +918,7 @@ tls13_client_certificate_recv(struct tls13_ctx *ctx, CBS *cbs)
918 goto err; 918 goto err;
919 if (EVP_PKEY_missing_parameters(pkey)) 919 if (EVP_PKEY_missing_parameters(pkey))
920 goto err; 920 goto err;
921 if ((cert_type = ssl_cert_type(cert, pkey)) < 0) 921 if ((cert_type = ssl_cert_type(pkey)) < 0)
922 goto err; 922 goto err;
923 923
924 X509_up_ref(cert); 924 X509_up_ref(cert);