Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support DTLS1.3 downgrade when server sends multiple handshakes in packet #7840

Merged
merged 1 commit into from
Aug 9, 2024

Conversation

mrdeep1
Copy link
Contributor

@mrdeep1 mrdeep1 commented Aug 6, 2024

Description

If the server sends Server Hello, Server Key Exchange and Server Hello Done in a single DTLS packet, but for DTLS1.2 in response to a client DTLS1.3 request, then FIRST_REPLAY state does not occur until the server re-sends the packet. At this point wolfSSLconnect() gets used and all bursts into life.

When processing handshakes in wolfSSL_connect_TLSv13() for case HELLO_AGAIN_REPLY, downgrade to using wolfSSLconnect() to continue processing the remaining handshakes in the packet.

Testing

Found when using Mbed TLS for the server.

Checklist

  • added tests
  • updated/added doxygen
  • updated appropriate READMEs
  • Updated manual and documentation

…cket

If the server sends Server Hello, Server Key Exchange and Server Hello Done
in a single DTLS packet, but for DTLS1.2 in response to a client DTLS1.3
request, then FIRST_REPLAY state does not occur until the server re-sends
the packet.  At this point wolfSSLconnect() gets used and all bursts into
life.

When processing handshakes in wolfSSL_connect_TLSv13() for case
HELLO_AGAIN_REPLY, downgrade to using  wolfSSLconnect() to continue
processing the remaining handshakes in the packet.

Found when using Mbed TLS for the server.
@wolfSSL-Bot
Copy link

Can one of the admins verify this patch?

@dgarske
Copy link
Contributor

dgarske commented Aug 6, 2024

Thank you @mrdeep1 . We will review. Okay to test. Contributor agreement on file.

@dgarske dgarske requested a review from douzzer August 6, 2024 17:07
@douzzer douzzer merged commit d351430 into wolfSSL:master Aug 9, 2024
122 checks passed
@mrdeep1 mrdeep1 deleted the dtls_downgrade branch August 10, 2024 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants