diff options
| author | tb <> | 2022-08-17 18:41:17 +0000 |
|---|---|---|
| committer | tb <> | 2022-08-17 18:41:17 +0000 |
| commit | 697e13a205ea92565c0fbffa157d3c307f43dfaf (patch) | |
| tree | a7799ad2ad5115d484e1c373726ea40141c64b7f /src | |
| parent | b0c5f651476e9397892adf645bba468df03d0ea9 (diff) | |
| download | openbsd-697e13a205ea92565c0fbffa157d3c307f43dfaf.tar.gz openbsd-697e13a205ea92565c0fbffa157d3c307f43dfaf.tar.bz2 openbsd-697e13a205ea92565c0fbffa157d3c307f43dfaf.zip | |
Provide ssl_security_shared_group()
Refactor ssl_security_supported_group() into a wrapper of a new internal
ssl_security_group() which takes a secop as an argument. This allows
adding ssl_security_shared_group() which will be needed in upcoming
commits.
ok jsing
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libssl/ssl_locl.h | 3 | ||||
| -rw-r--r-- | src/lib/libssl/ssl_seclevel.c | 20 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index 1bfeeb9740..f7670693c1 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.418 2022/08/17 07:39:19 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.419 2022/08/17 18:41:17 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 | * |
| @@ -1313,6 +1313,7 @@ int ssl_security_cert(const SSL_CTX *ctx, const SSL *ssl, X509 *x509, | |||
| 1313 | int is_peer, int *out_error); | 1313 | int is_peer, int *out_error); |
| 1314 | int ssl_security_cert_chain(const SSL *ssl, STACK_OF(X509) *sk, | 1314 | int ssl_security_cert_chain(const SSL *ssl, STACK_OF(X509) *sk, |
| 1315 | X509 *x509, int *out_error); | 1315 | X509 *x509, int *out_error); |
| 1316 | int ssl_security_shared_group(const SSL *ssl, uint16_t group_id); | ||
| 1316 | int ssl_security_supported_group(const SSL *ssl, uint16_t group_id); | 1317 | int ssl_security_supported_group(const SSL *ssl, uint16_t group_id); |
| 1317 | 1318 | ||
| 1318 | int ssl_get_new_session(SSL *s, int session); | 1319 | int ssl_get_new_session(SSL *s, int session); |
diff --git a/src/lib/libssl/ssl_seclevel.c b/src/lib/libssl/ssl_seclevel.c index 0d539bcb83..b691b9bc4b 100644 --- a/src/lib/libssl/ssl_seclevel.c +++ b/src/lib/libssl/ssl_seclevel.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_seclevel.c,v 1.24 2022/07/30 17:26:01 tb Exp $ */ | 1 | /* $OpenBSD: ssl_seclevel.c,v 1.25 2022/08/17 18:41:17 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2020-2022 Theo Buehler <tb@openbsd.org> | 3 | * Copyright (c) 2020-2022 Theo Buehler <tb@openbsd.org> |
| 4 | * | 4 | * |
| @@ -438,8 +438,8 @@ ssl_security_cert_chain(const SSL *ssl, STACK_OF(X509) *sk, X509 *x509, | |||
| 438 | return 1; | 438 | return 1; |
| 439 | } | 439 | } |
| 440 | 440 | ||
| 441 | int | 441 | static int |
| 442 | ssl_security_supported_group(const SSL *ssl, uint16_t group_id) | 442 | ssl_security_group(const SSL *ssl, uint16_t group_id, int secop) |
| 443 | { | 443 | { |
| 444 | CBB cbb; | 444 | CBB cbb; |
| 445 | int bits, nid; | 445 | int bits, nid; |
| @@ -457,5 +457,17 @@ ssl_security_supported_group(const SSL *ssl, uint16_t group_id) | |||
| 457 | if (!CBB_finish(&cbb, NULL, NULL)) | 457 | if (!CBB_finish(&cbb, NULL, NULL)) |
| 458 | return 0; | 458 | return 0; |
| 459 | 459 | ||
| 460 | return ssl_security(ssl, SSL_SECOP_CURVE_SUPPORTED, bits, nid, group); | 460 | return ssl_security(ssl, secop, bits, nid, group); |
| 461 | } | ||
| 462 | |||
| 463 | int | ||
| 464 | ssl_security_shared_group(const SSL *ssl, uint16_t group_id) | ||
| 465 | { | ||
| 466 | return ssl_security_group(ssl, group_id, SSL_SECOP_CURVE_SHARED); | ||
| 467 | } | ||
| 468 | |||
| 469 | int | ||
| 470 | ssl_security_supported_group(const SSL *ssl, uint16_t group_id) | ||
| 471 | { | ||
| 472 | return ssl_security_group(ssl, group_id, SSL_SECOP_CURVE_SUPPORTED); | ||
| 461 | } | 473 | } |
