Open
Conversation
a932da8 to
88b42f7
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Updates ML-KEM/DTLS 1.3 behavior and static-memory sizing, fixes a TLS server-side PQC/ECH-related leak, and expands CI/test coverage to ensure ML-KEM and hybrid groups are exercised.
Changes:
- Enable/auto-configure DTLS 1.3 CH fragmentation for ML-KEM and adjust DTLS cookie/HRR initialization.
- Fix PQC key share memory handling (free before overwrite; cleanup when group unsupported) and tune static-memory bucket sizing.
- Expand tests/CI to cover hybrid groups and individual ML-KEM parameter sets.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| wolfssl/wolfcrypt/settings.h | Auto-enables DTLS CH fragmentation when ML-KEM is enabled with DTLS 1.3. |
| wolfssl/wolfcrypt/memory.h | Adjusts static-memory buckets/distribution for ML-KEM builds. |
| wolfssl/ssl.h | Updates draft references for ML-KEM and hybrid key agreement groups. |
| wolfssl/internal.h | Increases max curve-name buffer size to fit new hybrid group names. |
| tests/suites.c | Extends “available group” detection to ML-KEM + hybrids; increases static memory for suite tests. |
| tests/api/test_tls13.c | Ensures tests pick an actually-enabled ML-KEM/Kyber level. |
| tests/api.c | Updates static memory sizing gates; improves DTLS1.3 PQC frag test group selection and validation. |
| src/tls.c | Fixes PQC key share pubKey overwrite leak; clears key share state when group unsupported. |
| src/internal.c | Initializes DTLS1.3 HRR cookie and enables CH fragmentation for ML-KEM during init. |
| examples/server/server.c | Adjusts static-memory sizing condition for ML-KEM. |
| examples/client/client.c | Ensures DTLS+PQC runs with SupportedGroups constrained to preserve desired KEM after HRR. |
| .github/workflows/pq-all.yml | Adds CI runs for individual ML-KEM levels (512/768/1024). |
Comments suppressed due to low confidence (1)
src/internal.c:1
- This introduces new default behavior (enabling DTLS 1.3 CH fragmentation during initialization when ML-KEM is enabled). The existing DTLS1.3 PQC frag test in
tests/api.cstill callswolfSSL_dtls13_allow_ch_frag()explicitly, so it won’t catch regressions in this init-time path. Consider adding/adjusting a test to exercise a DTLS 1.3 ML-KEM handshake without manually enabling CH fragmentation, validating that init-time enabling works.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
* DTLS 1.3 cookie and CH frag handling * static memory handling * Fix memory leak in TLS server PQC handling in case of ECH * Make sure hybrids are actually tested in testsuite
Also fix minor problems found with these tests
Contributor
Author
|
Addressed Copilot issues. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Various ML-KEM related fixes (extracted from #9732):
All of these changes have already been reviewed and approved as part of #9732.