Commit 24aa260
committed
DTLS 1.3 write dup support
- Copy TLS 1.3 traffic secrets and DTLS 1.3 epoch/cipher state to the
write-dup side in DupSSL so key updates can be performed.
- Delegate KeyUpdate responses from the read side to the write side via
the shared WriteDup struct, for both peer-initiated and local key
updates.
- Delegate DTLS 1.3 ACK sending from the read side to the write side.
- Track DTLS 1.3 KeyUpdate ACKs: write side records the in-flight
KeyUpdate epoch/seq, read side sets keyUpdateAcked when the matching
ACK arrives.
- Delegate post-handshake certificate authentication (CertificateRequest
processing) from the read side to the write side, transferring
transcript hashes, cert context, and signature parameters.
- Reset prevSent/plainSz to prevent stale values from SendData to think
that data was already sent.
- Refactor FreeHandshakeHashes into Free_HS_Hashes for reuse.
- Move DTLS 1.3 epoch initialization earlier in InitSSL so the
write-dup early-return path has valid epoch state.
- Add tests for write dup with all protocol versions, key update,
post-handshake auth, and WANT_WRITE recovery.
- Add --enable-all --enable-writedup to CI os-check matrix.1 parent 5b9d0a1 commit 24aa260
7 files changed
Lines changed: 724 additions & 95 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| 101 | + | |
101 | 102 | | |
102 | 103 | | |
103 | 104 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2034 | 2034 | | |
2035 | 2035 | | |
2036 | 2036 | | |
2037 | | - | |
| 2037 | + | |
2038 | 2038 | | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + | |
| 2042 | + | |
| 2043 | + | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
2039 | 2052 | | |
2040 | 2053 | | |
2041 | 2054 | | |
| |||
2656 | 2669 | | |
2657 | 2670 | | |
2658 | 2671 | | |
2659 | | - | |
| 2672 | + | |
2660 | 2673 | | |
2661 | 2674 | | |
2662 | 2675 | | |
| |||
2706 | 2719 | | |
2707 | 2720 | | |
2708 | 2721 | | |
2709 | | - | |
2710 | | - | |
2711 | | - | |
| 2722 | + | |
| 2723 | + | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
2712 | 2744 | | |
2713 | 2745 | | |
2714 | 2746 | | |
| |||
2824 | 2856 | | |
2825 | 2857 | | |
2826 | 2858 | | |
| 2859 | + | |
| 2860 | + | |
| 2861 | + | |
| 2862 | + | |
| 2863 | + | |
| 2864 | + | |
| 2865 | + | |
| 2866 | + | |
| 2867 | + | |
| 2868 | + | |
| 2869 | + | |
| 2870 | + | |
| 2871 | + | |
| 2872 | + | |
| 2873 | + | |
| 2874 | + | |
2827 | 2875 | | |
2828 | 2876 | | |
2829 | 2877 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7462 | 7462 | | |
7463 | 7463 | | |
7464 | 7464 | | |
7465 | | - | |
| 7465 | + | |
7466 | 7466 | | |
7467 | | - | |
| 7467 | + | |
7468 | 7468 | | |
7469 | | - | |
| 7469 | + | |
7470 | 7470 | | |
7471 | 7471 | | |
7472 | 7472 | | |
7473 | | - | |
| 7473 | + | |
7474 | 7474 | | |
7475 | 7475 | | |
7476 | | - | |
| 7476 | + | |
7477 | 7477 | | |
7478 | 7478 | | |
7479 | | - | |
| 7479 | + | |
7480 | 7480 | | |
7481 | 7481 | | |
7482 | | - | |
| 7482 | + | |
7483 | 7483 | | |
7484 | 7484 | | |
7485 | | - | |
| 7485 | + | |
7486 | 7486 | | |
7487 | 7487 | | |
7488 | 7488 | | |
7489 | 7489 | | |
7490 | | - | |
7491 | | - | |
7492 | | - | |
7493 | | - | |
| 7490 | + | |
| 7491 | + | |
| 7492 | + | |
| 7493 | + | |
7494 | 7494 | | |
7495 | 7495 | | |
7496 | 7496 | | |
7497 | | - | |
7498 | | - | |
| 7497 | + | |
| 7498 | + | |
7499 | 7499 | | |
7500 | 7500 | | |
7501 | 7501 | | |
| 7502 | + | |
| 7503 | + | |
| 7504 | + | |
| 7505 | + | |
| 7506 | + | |
| 7507 | + | |
7502 | 7508 | | |
7503 | 7509 | | |
7504 | 7510 | | |
| |||
7509 | 7515 | | |
7510 | 7516 | | |
7511 | 7517 | | |
7512 | | - | |
7513 | | - | |
7514 | | - | |
7515 | | - | |
7516 | | - | |
7517 | | - | |
7518 | | - | |
7519 | | - | |
7520 | | - | |
| 7518 | + | |
| 7519 | + | |
7521 | 7520 | | |
7522 | 7521 | | |
7523 | 7522 | | |
| |||
8065 | 8064 | | |
8066 | 8065 | | |
8067 | 8066 | | |
| 8067 | + | |
| 8068 | + | |
| 8069 | + | |
| 8070 | + | |
| 8071 | + | |
| 8072 | + | |
| 8073 | + | |
| 8074 | + | |
| 8075 | + | |
| 8076 | + | |
| 8077 | + | |
| 8078 | + | |
| 8079 | + | |
| 8080 | + | |
| 8081 | + | |
| 8082 | + | |
| 8083 | + | |
| 8084 | + | |
8068 | 8085 | | |
8069 | 8086 | | |
8070 | 8087 | | |
| |||
8176 | 8193 | | |
8177 | 8194 | | |
8178 | 8195 | | |
8179 | | - | |
8180 | | - | |
8181 | | - | |
8182 | | - | |
8183 | | - | |
8184 | | - | |
8185 | | - | |
8186 | | - | |
8187 | | - | |
8188 | | - | |
8189 | | - | |
8190 | | - | |
8191 | | - | |
8192 | | - | |
8193 | | - | |
8194 | | - | |
8195 | | - | |
8196 | | - | |
8197 | 8196 | | |
8198 | 8197 | | |
8199 | 8198 | | |
| |||
26082 | 26081 | | |
26083 | 26082 | | |
26084 | 26083 | | |
| 26084 | + | |
| 26085 | + | |
| 26086 | + | |
| 26087 | + | |
26085 | 26088 | | |
26086 | 26089 | | |
26087 | 26090 | | |
| |||
26312 | 26315 | | |
26313 | 26316 | | |
26314 | 26317 | | |
| 26318 | + | |
| 26319 | + | |
26315 | 26320 | | |
26316 | 26321 | | |
26317 | 26322 | | |
| |||
0 commit comments