Support importing/exporting DTLS sessions with encrypt-then-mac options#10544
Support importing/exporting DTLS sessions with encrypt-then-mac options#10544holtrop-wolfssl wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates wolfSSL’s DTLS session serialization format to preserve Encrypt-Then-MAC (ETM) negotiation state across DTLS session export/import, addressing ZD#21880 by bumping the serialized-session version and extending DTLS option serialization to match TLS.
Changes:
- Bump serialized session export version to 6 and add explicit version-5 sizing constants for backward-compatible imports.
- Serialize/deserialize ETM-related
Optionsfields for DTLS starting with export version 6. - Add a DTLS 1.2 regression test that exports/imports a CBC-based session and asserts ETM state survives the round trip.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| wolfssl/internal.h | Bumps export version to 6 and introduces version-specific option-size constants (incl. v5) for DTLS/TLS imports. |
| src/internal.c | Extends ExportOptions/ImportOptions to include ETM state for DTLS in v6+ and updates v5 import handling. |
| tests/api/test_dtls.h | Registers the new DTLS export/import ETM regression test. |
| tests/api/test_dtls.c | Adds regression test and DTLS peer callbacks needed for session export/import. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
retest this please (org.jenkinsci.plugins.workflow.support.steps.AgentOfflineException: Unable to create live FilePath for boz-amd; boz-amd was marked offline: This agent is offline because Jenkins failed to launch the agent process on it.) |
|
retest this please (build results removed) |
|
retest this please (wolfSSL/PRB-fips-repo-and-harness-test-v3-part2' failed with result: FAILURE) |
Description
Support importing/exporting DTLS sessions with encrypt-then-mac options
Fixes ZD#21880
Testing
Added CI unit tests.
Checklist