From c4816452765217c8468310a51ae0105a04f4171b Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Mon, 27 Aug 2018 09:06:49 +0700 Subject: [PATCH] send a gQUIC / IETF QUIC Version Negotiation Packet based on header type --- server.go | 6 +++--- server_test.go | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/server.go b/server.go index 5084d81f..206a7118 100644 --- a/server.go +++ b/server.go @@ -374,14 +374,14 @@ func (s *server) sendVersionNegotiationPacket(p *receivedPacket) error { s.logger.Debugf("Client offered version %s, sending VersionNegotiationPacket", hdr.Version) var data []byte - if hdr.Version.UsesIETFFrameFormat() { + if hdr.IsPublicHeader { + data = wire.ComposeGQUICVersionNegotiation(hdr.DestConnectionID, s.config.Versions) + } else { var err error data, err = wire.ComposeVersionNegotiation(hdr.SrcConnectionID, hdr.DestConnectionID, s.config.Versions) if err != nil { return err } - } else { - data = wire.ComposeGQUICVersionNegotiation(hdr.DestConnectionID, s.config.Versions) } _, err := s.conn.WriteTo(data, p.remoteAddr) return err diff --git a/server_test.go b/server_test.go index 6b42339d..dd4de1eb 100644 --- a/server_test.go +++ b/server_test.go @@ -330,6 +330,7 @@ var _ = Describe("Server", func() { err := serv.handlePacketImpl(&receivedPacket{ remoteAddr: udpAddr, header: &wire.Header{ + IsPublicHeader: true, VersionFlag: true, DestConnectionID: connID, PacketNumber: 1,