summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2018-11-06 01:40:57 +0000
committerjsing <>2018-11-06 01:40:57 +0000
commit18a8420ea8e51c199239c2ef68a9188965089aad (patch)
tree3ae4119355686cfa081f173828a58e716aaa9a24
parent2b4e9fdab1569e84d0592bab45d9ba015701e1a9 (diff)
downloadopenbsd-18a8420ea8e51c199239c2ef68a9188965089aad.tar.gz
openbsd-18a8420ea8e51c199239c2ef68a9188965089aad.tar.bz2
openbsd-18a8420ea8e51c199239c2ef68a9188965089aad.zip
Add TLSv1.3 to version regress tests.
-rw-r--r--src/regress/lib/libssl/unit/ssl_versions.c84
1 files changed, 80 insertions, 4 deletions
diff --git a/src/regress/lib/libssl/unit/ssl_versions.c b/src/regress/lib/libssl/unit/ssl_versions.c
index d84a7106d5..11519c3732 100644
--- a/src/regress/lib/libssl/unit/ssl_versions.c
+++ b/src/regress/lib/libssl/unit/ssl_versions.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_versions.c,v 1.5 2018/03/15 12:27:01 jca Exp $ */ 1/* $OpenBSD: ssl_versions.c,v 1.6 2018/11/06 01:40:57 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 *
@@ -31,6 +31,13 @@ static struct version_range_test version_range_tests[] = {
31 { 31 {
32 .options = 0, 32 .options = 0,
33 .minver = TLS1_VERSION, 33 .minver = TLS1_VERSION,
34 .maxver = TLS1_3_VERSION,
35 .want_minver = TLS1_VERSION,
36 .want_maxver = TLS1_3_VERSION,
37 },
38 {
39 .options = 0,
40 .minver = TLS1_VERSION,
34 .maxver = TLS1_2_VERSION, 41 .maxver = TLS1_2_VERSION,
35 .want_minver = TLS1_VERSION, 42 .want_minver = TLS1_VERSION,
36 .want_maxver = TLS1_2_VERSION, 43 .want_maxver = TLS1_2_VERSION,
@@ -43,6 +50,13 @@ static struct version_range_test version_range_tests[] = {
43 .want_maxver = TLS1_2_VERSION, 50 .want_maxver = TLS1_2_VERSION,
44 }, 51 },
45 { 52 {
53 .options = SSL_OP_NO_TLSv1_3,
54 .minver = TLS1_VERSION,
55 .maxver = TLS1_3_VERSION,
56 .want_minver = TLS1_VERSION,
57 .want_maxver = TLS1_2_VERSION,
58 },
59 {
46 .options = SSL_OP_NO_TLSv1_2, 60 .options = SSL_OP_NO_TLSv1_2,
47 .minver = TLS1_VERSION, 61 .minver = TLS1_VERSION,
48 .maxver = TLS1_2_VERSION, 62 .maxver = TLS1_2_VERSION,
@@ -78,13 +92,30 @@ static struct version_range_test version_range_tests[] = {
78 .want_maxver = TLS1_1_VERSION, 92 .want_maxver = TLS1_1_VERSION,
79 }, 93 },
80 { 94 {
81 .options = SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2, 95 .options = SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 |
96 SSL_OP_NO_TLSv1_2,
82 .minver = TLS1_VERSION, 97 .minver = TLS1_VERSION,
83 .maxver = TLS1_2_VERSION, 98 .maxver = TLS1_2_VERSION,
84 .want_minver = 0, 99 .want_minver = 0,
85 .want_maxver = 0, 100 .want_maxver = 0,
86 }, 101 },
87 { 102 {
103 .options = SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 |
104 SSL_OP_NO_TLSv1_2,
105 .minver = TLS1_VERSION,
106 .maxver = TLS1_3_VERSION,
107 .want_minver = TLS1_3_VERSION,
108 .want_maxver = TLS1_3_VERSION,
109 },
110 {
111 .options = SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 |
112 SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3,
113 .minver = TLS1_VERSION,
114 .maxver = TLS1_3_VERSION,
115 .want_minver = 0,
116 .want_maxver = 0,
117 },
118 {
88 .options = 0, 119 .options = 0,
89 .minver = TLS1_VERSION, 120 .minver = TLS1_VERSION,
90 .maxver = TLS1_2_VERSION, 121 .maxver = TLS1_2_VERSION,
@@ -108,6 +139,34 @@ static struct version_range_test version_range_tests[] = {
108 { 139 {
109 .options = 0, 140 .options = 0,
110 .minver = TLS1_VERSION, 141 .minver = TLS1_VERSION,
142 .maxver = TLS1_3_VERSION,
143 .want_minver = TLS1_VERSION,
144 .want_maxver = TLS1_3_VERSION,
145 },
146 {
147 .options = 0,
148 .minver = TLS1_1_VERSION,
149 .maxver = TLS1_3_VERSION,
150 .want_minver = TLS1_1_VERSION,
151 .want_maxver = TLS1_3_VERSION,
152 },
153 {
154 .options = 0,
155 .minver = TLS1_2_VERSION,
156 .maxver = TLS1_3_VERSION,
157 .want_minver = TLS1_2_VERSION,
158 .want_maxver = TLS1_3_VERSION,
159 },
160 {
161 .options = 0,
162 .minver = TLS1_3_VERSION,
163 .maxver = TLS1_3_VERSION,
164 .want_minver = TLS1_3_VERSION,
165 .want_maxver = TLS1_3_VERSION,
166 },
167 {
168 .options = 0,
169 .minver = TLS1_VERSION,
111 .maxver = TLS1_1_VERSION, 170 .maxver = TLS1_1_VERSION,
112 .want_minver = TLS1_VERSION, 171 .want_minver = TLS1_VERSION,
113 .want_maxver = TLS1_1_VERSION, 172 .want_maxver = TLS1_1_VERSION,
@@ -149,7 +208,7 @@ test_ssl_enabled_version_range(void)
149 vrt = &version_range_tests[i]; 208 vrt = &version_range_tests[i];
150 209
151 SSL_clear_options(ssl, SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | 210 SSL_clear_options(ssl, SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 |
152 SSL_OP_NO_TLSv1_2); 211 SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3);
153 SSL_set_options(ssl, vrt->options); 212 SSL_set_options(ssl, vrt->options);
154 213
155 minver = maxver = 0xffff; 214 minver = maxver = 0xffff;
@@ -238,6 +297,14 @@ static struct shared_version_test shared_version_tests[] = {
238 .options = 0, 297 .options = 0,
239 .minver = TLS1_VERSION, 298 .minver = TLS1_VERSION,
240 .maxver = TLS1_2_VERSION, 299 .maxver = TLS1_2_VERSION,
300 .peerver = TLS1_3_VERSION,
301 .want_maxver = TLS1_2_VERSION,
302 },
303 {
304 .ssl_method = TLS_method,
305 .options = 0,
306 .minver = TLS1_VERSION,
307 .maxver = TLS1_2_VERSION,
241 .peerver = 0x7f12, 308 .peerver = 0x7f12,
242 .want_maxver = TLS1_2_VERSION, 309 .want_maxver = TLS1_2_VERSION,
243 }, 310 },
@@ -383,7 +450,7 @@ test_ssl_max_shared_version(void)
383 } 450 }
384 451
385 SSL_clear_options(ssl, SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | 452 SSL_clear_options(ssl, SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 |
386 SSL_OP_NO_TLSv1_2); 453 SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3);
387 SSL_set_options(ssl, svt->options); 454 SSL_set_options(ssl, svt->options);
388 455
389 maxver = 0; 456 maxver = 0;
@@ -444,6 +511,13 @@ static struct min_max_version_test min_max_version_tests[] = {
444 }, 511 },
445 { 512 {
446 .ssl_method = TLS_method, 513 .ssl_method = TLS_method,
514 .minver = 0,
515 .maxver = TLS1_3_VERSION,
516 .want_minver = TLS1_VERSION,
517 .want_maxver = TLS1_2_VERSION,
518 },
519 {
520 .ssl_method = TLS_method,
447 .minver = TLS1_VERSION, 521 .minver = TLS1_VERSION,
448 .maxver = TLS1_2_VERSION, 522 .maxver = TLS1_2_VERSION,
449 .want_minver = TLS1_VERSION, 523 .want_minver = TLS1_VERSION,
@@ -710,6 +784,8 @@ main(int argc, char **argv)
710 784
711 SSL_library_init(); 785 SSL_library_init();
712 786
787 /* XXX - Test ssl_supported_version_range() */
788
713 failed |= test_ssl_enabled_version_range(); 789 failed |= test_ssl_enabled_version_range();
714 failed |= test_ssl_max_shared_version(); 790 failed |= test_ssl_max_shared_version();
715 failed |= test_ssl_min_max_version(); 791 failed |= test_ssl_min_max_version();