riccardom
5341ab0a7b
[client] pqkem: commit the initiator PSK only after Finish succeeds
...
processAnswer advanced the exchange to stateAwaitingRekey before init.Finish
derived the PSK. A rekey firing in that window chained the next offer off an
exchange whose key was not yet committed, letting the responder commit PSK N+1
before this side committed PSK N; a lost next answer then left the two peers on
different PSKs.
Move to an intermediate stateFinishing while deriving (OnDataPathRekeyed chains
only on stateAwaitingRekey, so it will not chain mid-derive), and advance to
stateAwaitingRekey only after Finish succeeds and the exchange is still current.
Found in cubic review on #7098 (client/internal/pqkem/convergence.go:194).
2026-10-07 13:25:03 +02:00
..
2026-09-03 10:02:50 +02:00
2026-09-01 17:53:41 +02:00
2026-09-25 11:17:34 +02:00
2026-10-05 16:03:28 +02:00
2026-10-02 15:24:39 +02:00
2026-09-03 12:22:00 +02:00
2026-09-23 21:47:48 +02:00
2026-03-30 15:53:50 +02:00
2026-08-25 20:15:16 +02:00
2026-09-03 10:02:50 +02:00
2026-10-01 22:01:10 +09:00
2026-07-23 18:40:54 +02:00
2026-05-07 11:33:37 +02:00
2026-08-27 13:53:06 +02:00
2026-09-02 12:36:47 +02:00
2026-07-09 18:17:28 +02:00
2026-05-25 18:38:21 +02:00
2026-10-05 16:03:28 +02:00
2026-06-30 11:22:25 +02:00
2026-08-21 14:15:10 +02:00
2026-10-07 13:25:03 +02:00
2026-09-24 10:23:50 +02:00
2026-10-02 15:24:39 +02:00
2026-07-11 11:03:55 +02:00
2026-10-05 15:11:08 +02:00
2026-08-31 18:47:37 +02:00
2026-08-20 16:50:50 +02:00
2026-07-17 15:31:07 +02:00
2026-10-02 15:24:39 +02:00
2026-06-03 14:18:50 +02:00
2025-11-17 15:28:20 +01:00
2026-07-28 16:51:01 +02:00
2026-08-26 20:03:56 +02:00
2026-09-23 21:47:48 +02:00
2025-10-21 18:14:39 +02:00
2026-08-26 12:43:48 +02:00
2026-08-26 12:43:48 +02:00
2026-05-07 11:33:37 +02:00
2026-04-01 16:19:34 +02:00
2026-09-03 10:03:24 +02:00
2026-09-01 17:53:41 +02:00
2026-07-22 18:47:48 +02:00
2026-07-22 18:47:48 +02:00
2026-08-27 11:28:05 +02:00
2026-05-07 11:33:37 +02:00
2026-07-06 13:47:16 +02:00
2026-09-01 17:53:41 +02:00
2025-10-01 20:10:11 +02:00
2025-10-01 20:10:11 +02:00
2026-10-02 15:24:39 +02:00
2026-07-22 15:22:16 +02:00
2026-07-06 13:47:16 +02:00
2026-07-06 13:47:16 +02:00
2026-09-03 12:22:00 +02:00
2026-10-02 15:24:39 +02:00
2026-10-02 15:24:39 +02:00
2026-10-05 14:29:28 +02:00
2026-08-03 18:23:02 +02:00
2026-10-05 16:03:28 +02:00
2026-09-30 10:41:49 +02:00
2025-02-21 10:19:38 +01:00
2026-01-08 18:58:22 +01:00
2026-09-03 10:02:50 +02:00
2026-07-28 16:51:01 +02:00
2026-09-11 14:48:54 +02:00
2026-09-11 14:48:54 +02:00
2026-09-11 14:48:54 +02:00
2024-03-08 18:28:13 +01:00
2026-07-06 13:47:16 +02:00
2026-05-04 18:49:39 +02:00
2026-05-04 18:49:39 +02:00
2026-05-04 18:49:39 +02:00