diff options
Diffstat (limited to 'src/lib/libssl/ssl_versions.c')
-rw-r--r-- | src/lib/libssl/ssl_versions.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_versions.c b/src/lib/libssl/ssl_versions.c index c633b58c25..b5834dbe33 100644 --- a/src/lib/libssl/ssl_versions.c +++ b/src/lib/libssl/ssl_versions.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_versions.c,v 1.20 2021/07/01 17:53:39 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_versions.c,v 1.21 2021/10/23 14:40:54 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2016, 2017 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2016, 2017 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -251,6 +251,24 @@ ssl_max_supported_version(SSL *s, uint16_t *max_ver) | |||
251 | } | 251 | } |
252 | 252 | ||
253 | int | 253 | int |
254 | ssl_max_legacy_version(SSL *s, uint16_t *max_ver) | ||
255 | { | ||
256 | uint16_t max_version; | ||
257 | |||
258 | if ((max_version = S3I(s)->hs.our_max_tls_version) > TLS1_2_VERSION) | ||
259 | max_version = TLS1_2_VERSION; | ||
260 | |||
261 | if (SSL_is_dtls(s)) { | ||
262 | if ((max_version = ssl_tls_to_dtls_version(max_version)) == 0) | ||
263 | return 0; | ||
264 | } | ||
265 | |||
266 | *max_ver = max_version; | ||
267 | |||
268 | return 1; | ||
269 | } | ||
270 | |||
271 | int | ||
254 | ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver) | 272 | ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver) |
255 | { | 273 | { |
256 | uint16_t min_version, max_version, peer_tls_version, shared_version; | 274 | uint16_t min_version, max_version, peer_tls_version, shared_version; |