diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/regress/lib/libssl/tlsext/tlsexttest.c | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/src/regress/lib/libssl/tlsext/tlsexttest.c b/src/regress/lib/libssl/tlsext/tlsexttest.c index 4adf27421d..32bad7ebc8 100644 --- a/src/regress/lib/libssl/tlsext/tlsexttest.c +++ b/src/regress/lib/libssl/tlsext/tlsexttest.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tlsexttest.c,v 1.92 2024/09/11 15:04:16 tb Exp $ */ | 1 | /* $OpenBSD: tlsexttest.c,v 1.93 2025/04/30 13:44:54 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2017 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2017 Joel Sing <jsing@openbsd.org> |
4 | * Copyright (c) 2017 Doug Hogan <doug@openbsd.org> | 4 | * Copyright (c) 2017 Doug Hogan <doug@openbsd.org> |
@@ -4542,12 +4542,10 @@ test_tlsext_valid_hostnames(void) | |||
4542 | #define N_TLSEXT_RANDOMIZATION_TESTS 1000 | 4542 | #define N_TLSEXT_RANDOMIZATION_TESTS 1000 |
4543 | 4543 | ||
4544 | static int | 4544 | static int |
4545 | test_tlsext_check_extension_order(SSL *ssl) | 4545 | test_tlsext_check_psk_is_last_extension(SSL *ssl) |
4546 | { | 4546 | { |
4547 | const struct tls_extension *ext; | 4547 | const struct tls_extension *ext; |
4548 | uint16_t type; | 4548 | uint16_t type; |
4549 | size_t alpn_idx, sni_idx; | ||
4550 | size_t i; | ||
4551 | 4549 | ||
4552 | if (ssl->tlsext_build_order_len == 0) { | 4550 | if (ssl->tlsext_build_order_len == 0) { |
4553 | FAIL("Unexpected zero build order length"); | 4551 | FAIL("Unexpected zero build order length"); |
@@ -4560,34 +4558,6 @@ test_tlsext_check_extension_order(SSL *ssl) | |||
4560 | return 1; | 4558 | return 1; |
4561 | } | 4559 | } |
4562 | 4560 | ||
4563 | if (ssl->server) | ||
4564 | return 0; | ||
4565 | |||
4566 | alpn_idx = sni_idx = ssl->tlsext_build_order_len; | ||
4567 | for (i = 0; i < ssl->tlsext_build_order_len; i++) { | ||
4568 | ext = ssl->tlsext_build_order[i]; | ||
4569 | if (tls_extension_type(ext) == TLSEXT_TYPE_alpn) | ||
4570 | alpn_idx = i; | ||
4571 | if (tls_extension_type(ext) == TLSEXT_TYPE_server_name) | ||
4572 | sni_idx = i; | ||
4573 | } | ||
4574 | |||
4575 | if (alpn_idx == ssl->tlsext_build_order_len) { | ||
4576 | FAIL("could not find alpn extension\n"); | ||
4577 | return 1; | ||
4578 | } | ||
4579 | |||
4580 | if (sni_idx == ssl->tlsext_build_order_len) { | ||
4581 | FAIL("could not find alpn extension\n"); | ||
4582 | return 1; | ||
4583 | } | ||
4584 | |||
4585 | if (sni_idx >= alpn_idx) { | ||
4586 | FAIL("sni does not precede alpn: %zu >= %zu\n", | ||
4587 | sni_idx, alpn_idx); | ||
4588 | return 1; | ||
4589 | } | ||
4590 | |||
4591 | return 0; | 4561 | return 0; |
4592 | } | 4562 | } |
4593 | 4563 | ||
@@ -4600,7 +4570,7 @@ test_tlsext_randomized_extensions(SSL *ssl) | |||
4600 | for (i = 0; i < N_TLSEXT_RANDOMIZATION_TESTS; i++) { | 4570 | for (i = 0; i < N_TLSEXT_RANDOMIZATION_TESTS; i++) { |
4601 | if (!tlsext_randomize_build_order(ssl)) | 4571 | if (!tlsext_randomize_build_order(ssl)) |
4602 | errx(1, "failed to randomize extensions"); | 4572 | errx(1, "failed to randomize extensions"); |
4603 | failed |= test_tlsext_check_extension_order(ssl); | 4573 | failed |= test_tlsext_check_psk_is_last_extension(ssl); |
4604 | } | 4574 | } |
4605 | 4575 | ||
4606 | return failed; | 4576 | return failed; |