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