Upgrade utls version and API to v1.6.7 #5
+93
−44
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.
https://github.com/getlantern/engineering/issues/1757
With new utls, the way we use to get
utls.ClientSessionState
doesn't work anymore (conn.HandshakeState.Session).New utls uses
utls.ClientSessionCache
to getutls.ClientSessionState
.New utls version introduced API
utls.ClientSessionState.ResumptionState()
andutls.SessionState.Bytes()
to retrieve
session_state
andsession_ticket
in bytes for session serialization.(Current serialization fields,
version / cipher_suite / master_secret
, don't include the private fields to recover complete clientSessionState.)New utls version introduced API
utls.ParseSessionState
andutls.NewResumptionState
to deserialize and recover clientSessionState.Add a new field
session_state
(bytes) for serialization, and removeversion / cipher_suite / master_secret
utls
uconn.SetSessionState
is deprecated in favor ofuconn.SetSessionTicketExtension()
.