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.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_versions.c b/src/lib/libssl/ssl_versions.c
index a216de6e81..37957fd0ab 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.13 2021/02/25 17:06:05 jsing Exp $ */ 1/* $OpenBSD: ssl_versions.c,v 1.14 2021/03/10 18:27:02 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 *
@@ -171,6 +171,30 @@ ssl_supported_tls_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver)
171 return 1; 171 return 1;
172} 172}
173 173
174uint16_t
175ssl_tls_version(uint16_t version)
176{
177 if (version == TLS1_VERSION || version == TLS1_1_VERSION ||
178 version == TLS1_2_VERSION || version == TLS1_3_VERSION)
179 return version;
180
181 if (version == DTLS1_VERSION)
182 return TLS1_1_VERSION;
183 if (version == DTLS1_2_VERSION)
184 return TLS1_2_VERSION;
185
186 return 0;
187}
188
189uint16_t
190ssl_effective_tls_version(SSL *s)
191{
192 if (S3I(s)->hs.negotiated_tls_version > 0)
193 return S3I(s)->hs.negotiated_tls_version;
194
195 return S3I(s)->hs.our_max_tls_version;
196}
197
174int 198int
175ssl_max_supported_version(SSL *s, uint16_t *max_ver) 199ssl_max_supported_version(SSL *s, uint16_t *max_ver)
176{ 200{