diff options
author | jsing <> | 2021-06-19 15:52:41 +0000 |
---|---|---|
committer | jsing <> | 2021-06-19 15:52:41 +0000 |
commit | 32dc5b1907004e6c78b993afed1d6a26d33c6165 (patch) | |
tree | 551cbd62a43f4110584997c46543184cae767689 | |
parent | 941752ee1ae5c1480dafbffcbd9c927d1a91c077 (diff) | |
download | openbsd-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.c | 7 |
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", |