diff options
author | jsing <> | 2017-05-06 20:37:25 +0000 |
---|---|---|
committer | jsing <> | 2017-05-06 20:37:25 +0000 |
commit | 792684dc457d44526f35586cb1671d67604bf5b1 (patch) | |
tree | 93525fc35ada38404416d83084837f1f94d46be3 /src/lib/libssl/ssl_versions.c | |
parent | 93ad7dce844283fb07b0d09b99999f2f71b47bd5 (diff) | |
download | openbsd-792684dc457d44526f35586cb1671d67604bf5b1.tar.gz openbsd-792684dc457d44526f35586cb1671d67604bf5b1.tar.bz2 openbsd-792684dc457d44526f35586cb1671d67604bf5b1.zip |
Provide SSL{,_CTX}_set_{min,max}_proto_version() functions.
Rides minor bump.
ok beck@
Diffstat (limited to '')
-rw-r--r-- | src/lib/libssl/ssl_versions.c | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_versions.c b/src/lib/libssl/ssl_versions.c index 6e17cdac6c..240a2498aa 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.2 2017/05/06 16:18:36 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_versions.c,v 1.3 2017/05/06 20:37:25 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 | * |
@@ -35,6 +35,52 @@ ssl_clamp_version_range(uint16_t *min_ver, uint16_t *max_ver, | |||
35 | } | 35 | } |
36 | 36 | ||
37 | int | 37 | int |
38 | ssl_version_set_min(const SSL_METHOD *meth, uint16_t ver, uint16_t max_ver, | ||
39 | uint16_t *out_ver) | ||
40 | { | ||
41 | uint16_t min_version, max_version; | ||
42 | |||
43 | if (ver == 0) { | ||
44 | *out_ver = meth->internal->min_version; | ||
45 | return 1; | ||
46 | } | ||
47 | |||
48 | min_version = ver; | ||
49 | max_version = max_ver; | ||
50 | |||
51 | if (!ssl_clamp_version_range(&min_version, &max_version, | ||
52 | meth->internal->min_version, meth->internal->max_version)) | ||
53 | return 0; | ||
54 | |||
55 | *out_ver = min_version; | ||
56 | |||
57 | return 1; | ||
58 | } | ||
59 | |||
60 | int | ||
61 | ssl_version_set_max(const SSL_METHOD *meth, uint16_t ver, uint16_t min_ver, | ||
62 | uint16_t *out_ver) | ||
63 | { | ||
64 | uint16_t min_version, max_version; | ||
65 | |||
66 | if (ver == 0) { | ||
67 | *out_ver = meth->internal->max_version; | ||
68 | return 1; | ||
69 | } | ||
70 | |||
71 | min_version = min_ver; | ||
72 | max_version = ver; | ||
73 | |||
74 | if (!ssl_clamp_version_range(&min_version, &max_version, | ||
75 | meth->internal->min_version, meth->internal->max_version)) | ||
76 | return 0; | ||
77 | |||
78 | *out_ver = max_version; | ||
79 | |||
80 | return 1; | ||
81 | } | ||
82 | |||
83 | int | ||
38 | ssl_enabled_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) | 84 | ssl_enabled_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) |
39 | { | 85 | { |
40 | uint16_t min_version, max_version; | 86 | uint16_t min_version, max_version; |