From e142ee18da547071c6dbfd5b728bf8c2513509db Mon Sep 17 00:00:00 2001 From: Daniel Mangum Date: Mon, 28 Aug 2023 09:26:19 -0400 Subject: [PATCH] Serialize CIDs in state Updates state serialization and deserialization to include connection IDs if they were negotiated. Signed-off-by: Daniel Mangum --- state.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/state.go b/state.go index 26bfb747d..fbbfd5ee1 100644 --- a/state.go +++ b/state.go @@ -76,6 +76,8 @@ type serializedState struct { PeerCertificates [][]byte IdentityHint []byte SessionID []byte + LocalConnectionID []byte + RemoteConnectionID []byte IsClient bool } @@ -105,6 +107,8 @@ func (s *State) serialize() *serializedState { PeerCertificates: s.PeerCertificates, IdentityHint: s.IdentityHint, SessionID: s.SessionID, + LocalConnectionID: s.localConnectionID, + RemoteConnectionID: s.remoteConnectionID, IsClient: s.isClient, } } @@ -141,7 +145,13 @@ func (s *State) deserialize(serialized serializedState) { // Set remote certificate s.PeerCertificates = serialized.PeerCertificates + s.IdentityHint = serialized.IdentityHint + + // Set local and remote connection IDs + s.localConnectionID = serialized.LocalConnectionID + s.remoteConnectionID = serialized.RemoteConnectionID + s.SessionID = serialized.SessionID }