diff options
Diffstat (limited to 'src/lib/libssl/ssl_versions.c')
-rw-r--r-- | src/lib/libssl/ssl_versions.c | 26 |
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 | ||
174 | uint16_t | ||
175 | ssl_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 | |||
189 | uint16_t | ||
190 | ssl_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 | |||
174 | int | 198 | int |
175 | ssl_max_supported_version(SSL *s, uint16_t *max_ver) | 199 | ssl_max_supported_version(SSL *s, uint16_t *max_ver) |
176 | { | 200 | { |