summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2021-06-19 15:52:41 +0000
committerjsing <>2021-06-19 15:52:41 +0000
commit32dc5b1907004e6c78b993afed1d6a26d33c6165 (patch)
tree551cbd62a43f4110584997c46543184cae767689
parent941752ee1ae5c1480dafbffcbd9c927d1a91c077 (diff)
downloadopenbsd-32dc5b1907004e6c78b993afed1d6a26d33c6165.tar.gz
openbsd-32dc5b1907004e6c78b993afed1d6a26d33c6165.tar.bz2
openbsd-32dc5b1907004e6c78b993afed1d6a26d33c6165.zip
Expand comment that details why two DTLS tests currently fail.
Two tests currently fail (and are disabled) due to a flaw in the DTLSv1.0 specification - this flaw was addressed in DTLSv1.2, however our DTLS server code still needs to support the fix. Quoting RFC 6347 section 4.2.4: "This requirement applies to DTLS 1.0 as well, and though not explicit in [DTLS1], it was always required for the state machine to function correctly." In otherwords, both the original DTLS implementation and the DTLSv1.0 specification have a broken state machine, resulting in possible dead lock.
-rw-r--r--src/regress/lib/libssl/dtls/dtlstest.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/regress/lib/libssl/dtls/dtlstest.c b/src/regress/lib/libssl/dtls/dtlstest.c
index d7f2f4b2de..becc500c90 100644
--- a/src/regress/lib/libssl/dtls/dtlstest.c
+++ b/src/regress/lib/libssl/dtls/dtlstest.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dtlstest.c,v 1.10 2021/06/19 15:33:37 jsing Exp $ */ 1/* $OpenBSD: dtlstest.c,v 1.11 2021/06/19 15:52:41 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2020, 2021 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2020, 2021 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -705,7 +705,10 @@ static const struct dtls_test dtls_tests[] = {
705 /* 705 /*
706 * These two result in the server accept completing and the 706 * These two result in the server accept completing and the
707 * client looping on a timeout. Presumably the server should not 707 * client looping on a timeout. Presumably the server should not
708 * complete until the client Finished is received... 708 * complete until the client Finished is received... this due to
709 * a flaw in the DTLSv1.0 specification, which is addressed in
710 * DTLSv1.2 (see references to "last flight" in RFC 6347 section
711 * 4.2.4). Our DTLS server code still needs to support this.
709 */ 712 */
710 { 713 {
711 .desc = "DTLS with dropped server CCS", 714 .desc = "DTLS with dropped server CCS",