summaryrefslogtreecommitdiff
path: root/src/lib/libssl
diff options
context:
space:
mode:
authortb <>2026-06-04 12:05:57 +0000
committertb <>2026-06-04 12:05:57 +0000
commitf7aa9e9ab865860ef489999bdcd0737e5cb3bc46 (patch)
treef092de9601f3a08ed67e65523cc19e5af99483d9 /src/lib/libssl
parent1706e03b9fc0ba05a73b554b68d7275dbf79fd48 (diff)
downloadopenbsd-f7aa9e9ab865860ef489999bdcd0737e5cb3bc46.tar.gz
openbsd-f7aa9e9ab865860ef489999bdcd0737e5cb3bc46.tar.bz2
openbsd-f7aa9e9ab865860ef489999bdcd0737e5cb3bc46.zip
libssl: const correct ssl_*version* API
None of these functions modifies the SSL pointer. An upcoming diff will need to call one of them with a const pointer, so fix all of them. ok jsing kenjiro
Diffstat (limited to 'src/lib/libssl')
-rw-r--r--src/lib/libssl/ssl_local.h20
-rw-r--r--src/lib/libssl/ssl_versions.c19
2 files changed, 21 insertions, 18 deletions
diff --git a/src/lib/libssl/ssl_local.h b/src/lib/libssl/ssl_local.h
index df4c0dc357..d5c218e50d 100644
--- a/src/lib/libssl/ssl_local.h
+++ b/src/lib/libssl/ssl_local.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_local.h,v 1.39 2026/05/31 14:34:44 jsing Exp $ */ 1/* $OpenBSD: ssl_local.h,v 1.40 2026/06/04 12:05:57 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1177,15 +1177,17 @@ int ssl_version_set_min(const SSL_METHOD *meth, uint16_t proto_ver,
1177 uint16_t max_tls_ver, uint16_t *out_tls_ver, uint16_t *out_proto_ver); 1177 uint16_t max_tls_ver, uint16_t *out_tls_ver, uint16_t *out_proto_ver);
1178int ssl_version_set_max(const SSL_METHOD *meth, uint16_t proto_ver, 1178int ssl_version_set_max(const SSL_METHOD *meth, uint16_t proto_ver,
1179 uint16_t min_tls_ver, uint16_t *out_tls_ver, uint16_t *out_proto_ver); 1179 uint16_t min_tls_ver, uint16_t *out_tls_ver, uint16_t *out_proto_ver);
1180int ssl_enabled_tls_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver); 1180int ssl_enabled_tls_version_range(const SSL *s, uint16_t *min_ver,
1181int ssl_supported_tls_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver); 1181 uint16_t *max_ver);
1182int ssl_supported_tls_version_range(const SSL *s, uint16_t *min_ver,
1183 uint16_t *max_ver);
1182uint16_t ssl_tls_version(uint16_t version); 1184uint16_t ssl_tls_version(uint16_t version);
1183uint16_t ssl_effective_tls_version(SSL *s); 1185uint16_t ssl_effective_tls_version(const SSL *s);
1184int ssl_max_supported_version(SSL *s, uint16_t *max_ver); 1186int ssl_max_supported_version(const SSL *s, uint16_t *max_ver);
1185int ssl_max_legacy_version(SSL *s, uint16_t *max_ver); 1187int ssl_max_legacy_version(const SSL *s, uint16_t *max_ver);
1186int ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver); 1188int ssl_max_shared_version(const SSL *s, uint16_t peer_ver, uint16_t *max_ver);
1187int ssl_check_version_from_server(SSL *s, uint16_t server_version); 1189int ssl_check_version_from_server(const SSL *s, uint16_t server_version);
1188int ssl_legacy_stack_version(SSL *s, uint16_t version); 1190int ssl_legacy_stack_version(const SSL *s, uint16_t version);
1189int ssl_cipher_in_list(STACK_OF(SSL_CIPHER) *ciphers, const SSL_CIPHER *cipher); 1191int ssl_cipher_in_list(STACK_OF(SSL_CIPHER) *ciphers, const SSL_CIPHER *cipher);
1190int ssl_cipher_allowed_in_tls_version_range(const SSL_CIPHER *cipher, 1192int ssl_cipher_allowed_in_tls_version_range(const SSL_CIPHER *cipher,
1191 uint16_t min_ver, uint16_t max_ver); 1193 uint16_t min_ver, uint16_t max_ver);
diff --git a/src/lib/libssl/ssl_versions.c b/src/lib/libssl/ssl_versions.c
index 8273546062..edd077b166 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.27 2023/07/02 17:21:32 beck Exp $ */ 1/* $OpenBSD: ssl_versions.c,v 1.28 2026/06/04 12:05:57 tb 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 *
@@ -125,7 +125,7 @@ ssl_version_set_max(const SSL_METHOD *meth, uint16_t proto_ver,
125} 125}
126 126
127int 127int
128ssl_enabled_tls_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) 128ssl_enabled_tls_version_range(const SSL *s, uint16_t *min_ver, uint16_t *max_ver)
129{ 129{
130 uint16_t min_version, max_version; 130 uint16_t min_version, max_version;
131 unsigned long options; 131 unsigned long options;
@@ -186,7 +186,8 @@ ssl_enabled_tls_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver)
186} 186}
187 187
188int 188int
189ssl_supported_tls_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) 189ssl_supported_tls_version_range(const SSL *s, uint16_t *min_ver,
190 uint16_t *max_ver)
190{ 191{
191 uint16_t min_version, max_version; 192 uint16_t min_version, max_version;
192 193
@@ -222,7 +223,7 @@ ssl_tls_version(uint16_t version)
222} 223}
223 224
224uint16_t 225uint16_t
225ssl_effective_tls_version(SSL *s) 226ssl_effective_tls_version(const SSL *s)
226{ 227{
227 if (s->s3->hs.negotiated_tls_version > 0) 228 if (s->s3->hs.negotiated_tls_version > 0)
228 return s->s3->hs.negotiated_tls_version; 229 return s->s3->hs.negotiated_tls_version;
@@ -231,7 +232,7 @@ ssl_effective_tls_version(SSL *s)
231} 232}
232 233
233int 234int
234ssl_max_supported_version(SSL *s, uint16_t *max_ver) 235ssl_max_supported_version(const SSL *s, uint16_t *max_ver)
235{ 236{
236 uint16_t max_version; 237 uint16_t max_version;
237 238
@@ -251,7 +252,7 @@ ssl_max_supported_version(SSL *s, uint16_t *max_ver)
251} 252}
252 253
253int 254int
254ssl_max_legacy_version(SSL *s, uint16_t *max_ver) 255ssl_max_legacy_version(const SSL *s, uint16_t *max_ver)
255{ 256{
256 uint16_t max_version; 257 uint16_t max_version;
257 258
@@ -269,7 +270,7 @@ ssl_max_legacy_version(SSL *s, uint16_t *max_ver)
269} 270}
270 271
271int 272int
272ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver) 273ssl_max_shared_version(const SSL *s, uint16_t peer_ver, uint16_t *max_ver)
273{ 274{
274 uint16_t min_version, max_version, peer_tls_version, shared_version; 275 uint16_t min_version, max_version, peer_tls_version, shared_version;
275 276
@@ -338,7 +339,7 @@ ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver)
338} 339}
339 340
340int 341int
341ssl_check_version_from_server(SSL *s, uint16_t server_version) 342ssl_check_version_from_server(const SSL *s, uint16_t server_version)
342{ 343{
343 uint16_t min_tls_version, max_tls_version, server_tls_version; 344 uint16_t min_tls_version, max_tls_version, server_tls_version;
344 345
@@ -363,7 +364,7 @@ ssl_check_version_from_server(SSL *s, uint16_t server_version)
363} 364}
364 365
365int 366int
366ssl_legacy_stack_version(SSL *s, uint16_t version) 367ssl_legacy_stack_version(const SSL *s, uint16_t version)
367{ 368{
368 if (SSL_is_dtls(s)) 369 if (SSL_is_dtls(s))
369 return version == DTLS1_VERSION || version == DTLS1_2_VERSION; 370 return version == DTLS1_VERSION || version == DTLS1_2_VERSION;