From 080b61d271d142e9cae739fe1e1ea80f230ea110 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 17 Jan 2020 10:50:27 +0700 Subject: [PATCH] only save transport parameters to session ticket when using 0-RTT --- internal/handshake/crypto_setup.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/handshake/crypto_setup.go b/internal/handshake/crypto_setup.go index fd3fa891f..ff6295fcc 100644 --- a/internal/handshake/crypto_setup.go +++ b/internal/handshake/crypto_setup.go @@ -475,7 +475,12 @@ func (h *cryptoSetup) handlePeerParamsFromSessionStateImpl(data []byte) (*Transp // only valid for the server func (h *cryptoSetup) maybeSendSessionTicket() { - ticket, err := h.conn.GetSessionTicket(h.ourParams.MarshalForSessionTicket()) + var appData []byte + // Save transport parameters to the session ticket if we're allowing 0-RTT. + if h.tlsConf.MaxEarlyData > 0 { + appData = h.ourParams.MarshalForSessionTicket() + } + ticket, err := h.conn.GetSessionTicket(appData) if err != nil { h.onError(alertInternalError, err.Error()) return