diff options
author | jsing <> | 2022-02-03 16:33:12 +0000 |
---|---|---|
committer | jsing <> | 2022-02-03 16:33:12 +0000 |
commit | 8babe15310f777eda2ab1203f245c0f0892a3801 (patch) | |
tree | f898df6442fa1535bd54e575b63b8dd68b1983de /src/lib | |
parent | 6fd933a66bac23ba01bf8727afa5da899721ffe0 (diff) | |
download | openbsd-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.c | 36 | ||||
-rw-r--r-- | src/lib/libssl/ssl_clnt.c | 4 | ||||
-rw-r--r-- | src/lib/libssl/ssl_locl.h | 4 | ||||
-rw-r--r-- | src/lib/libssl/ssl_rsa.c | 6 | ||||
-rw-r--r-- | src/lib/libssl/tls13_client.c | 4 | ||||
-rw-r--r-- | src/lib/libssl/tls13_server.c | 4 |
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 | ||
524 | int | 524 | int |
525 | ssl_cert_type(X509 *x, EVP_PKEY *pkey) | 525 | ssl_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 | ||
553 | int | 543 | int |
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); | |||
1310 | EVP_PKEY *ssl_get_sign_pkey(SSL *s, const SSL_CIPHER *c, const EVP_MD **pmd, | 1310 | EVP_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); |
1312 | size_t ssl_dhe_params_auto_key_bits(SSL *s); | 1312 | size_t ssl_dhe_params_auto_key_bits(SSL *s); |
1313 | int ssl_cert_type(X509 *x, EVP_PKEY *pkey); | 1313 | int ssl_cert_type(EVP_PKEY *pkey); |
1314 | void ssl_set_cert_masks(SSL_CERT *c, const SSL_CIPHER *cipher); | 1314 | void ssl_set_cert_masks(SSL_CERT *c, const SSL_CIPHER *cipher); |
1315 | STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s); | 1315 | STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s); |
1316 | int ssl_has_ecc_ciphers(SSL *s); | 1316 | int 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); |