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; |
