check that the server sends the correct original_connection_id

This commit is contained in:
Marten Seemann
2018-11-11 11:00:40 +07:00
parent 73ca6a06eb
commit 70cb67bd2a
8 changed files with 63 additions and 7 deletions

View File

@@ -34,8 +34,9 @@ type client struct {
tlsConf *tls.Config
config *Config
srcConnID protocol.ConnectionID
destConnID protocol.ConnectionID
srcConnID protocol.ConnectionID
destConnID protocol.ConnectionID
origDestConnID protocol.ConnectionID // the destination conn ID used on the first Initial (before a Retry)
initialVersion protocol.VersionNumber
version protocol.VersionNumber
@@ -390,6 +391,7 @@ func (c *client) handleRetryPacket(hdr *wire.Header) {
c.logger.Debugf("Ignoring Retry, since a Retry was already received.")
return
}
c.origDestConnID = c.destConnID
c.destConnID = hdr.SrcConnectionID
c.token = hdr.Token
c.session.destroy(errCloseSessionForRetry)
@@ -417,6 +419,7 @@ func (c *client) createNewTLSSession(version protocol.VersionNumber) error {
c.conn,
runner,
c.token,
c.origDestConnID,
c.destConnID,
c.srcConnID,
c.config,