forked from quic-go/quic-go
Merge pull request #2275 from lucas-clemente/fix-session-ticket-transport-parameter-unmarshal
fix unmarshaling of transport parameters from session tickets
This commit is contained in:
@@ -491,7 +491,13 @@ func (h *cryptoSetup) accept0RTT(sessionTicketData []byte) bool {
|
||||
h.logger.Debugf("Unmarshaling transport parameters from session ticket failed: %s", err.Error())
|
||||
return false
|
||||
}
|
||||
return h.ourParams.ValidFor0RTT(&tp)
|
||||
valid := h.ourParams.ValidFor0RTT(&tp)
|
||||
if valid {
|
||||
h.logger.Debugf("Accepting 0-RTT.")
|
||||
} else {
|
||||
h.logger.Debugf("Transport parameters changed. Rejecting 0-RTT.")
|
||||
}
|
||||
return valid
|
||||
}
|
||||
|
||||
func (h *cryptoSetup) handlePostHandshakeMessage() {
|
||||
|
||||
@@ -413,8 +413,7 @@ func (p *TransportParameters) UnmarshalFromSessionTicket(data []byte) error {
|
||||
if version != transportParameterMarshalingVersion {
|
||||
return fmt.Errorf("unknown transport parameter marshaling version: %d", version)
|
||||
}
|
||||
tp := &TransportParameters{}
|
||||
return tp.Unmarshal(data[len(data)-r.Len():], protocol.PerspectiveServer)
|
||||
return p.Unmarshal(data[len(data)-r.Len():], protocol.PerspectiveServer)
|
||||
}
|
||||
|
||||
// ValidFor0RTT checks if the transport parameters match those saved in the session ticket.
|
||||
|
||||
Reference in New Issue
Block a user