make sure to only pass handshake messages that keys are available for #2739
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25397.
What's happening here is that we're replacing the EncryptedExtensions message with a NewSessionTicket message (at the correct encryption level: 1-RTT). At this point, the handshake hasn't completed yet, so the client would wait for that.
This can never happen in practice: As the handshake is not yet complete, we wouldn't even be able to open a 1-RTT packet.
The fix for the fuzz-test is straightforward: Check if the corresponding AEAD opener is available before injecting a message at a given encryption level.