summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_versions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/ssl_versions.c')
-rw-r--r--src/lib/libssl/ssl_versions.c20
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
253int 253int
254ssl_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
271int
254ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver) 272ssl_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;