diff --git a/internal/handshake/crypto_setup_server.go b/internal/handshake/crypto_setup_server.go index 7d5f32ee8..54c2b9bd4 100644 --- a/internal/handshake/crypto_setup_server.go +++ b/internal/handshake/crypto_setup_server.go @@ -429,7 +429,7 @@ func (h *cryptoSetupServer) handleCHLO(sni string, data []byte, cryptoData map[T replyMap := h.params.getHelloMap() // add crypto parameters verTag := &bytes.Buffer{} - for _, v := range protocol.GetGreasedVersions(h.supportedVersions) { + for _, v := range h.supportedVersions { utils.BigEndian.WriteUint32(verTag, uint32(v)) } replyMap[TagPUBS] = ephermalKex.PublicKey() diff --git a/internal/handshake/crypto_setup_server_test.go b/internal/handshake/crypto_setup_server_test.go index b095c6b52..dc653e19c 100644 --- a/internal/handshake/crypto_setup_server_test.go +++ b/internal/handshake/crypto_setup_server_test.go @@ -317,8 +317,7 @@ var _ = Describe("Server Crypto Setup", func() { Expect(message.Data).To(HaveKeyWithValue(TagPUBS, []byte("ephermal pub"))) Expect(message.Data).To(HaveKey(TagSNO)) Expect(message.Data).To(HaveKey(TagVER)) - // the supported versions should include one reserved version number - Expect(message.Data[TagVER]).To(HaveLen(4*len(supportedVersions) + 4)) + Expect(message.Data[TagVER]).To(HaveLen(4 * len(supportedVersions))) for _, v := range supportedVersions { b := &bytes.Buffer{} utils.BigEndian.WriteUint32(b, uint32(v)) diff --git a/internal/wire/version_negotiation.go b/internal/wire/version_negotiation.go index 2df5e69db..dea90ee14 100644 --- a/internal/wire/version_negotiation.go +++ b/internal/wire/version_negotiation.go @@ -21,7 +21,7 @@ func ComposeGQUICVersionNegotiation(connID protocol.ConnectionID, versions []pro utils.Errorf("error composing version negotiation packet: %s", err.Error()) return nil } - for _, v := range protocol.GetGreasedVersions(versions) { + for _, v := range versions { utils.BigEndian.WriteUint32(buf, uint32(v)) } return buf.Bytes() diff --git a/internal/wire/version_negotiation_test.go b/internal/wire/version_negotiation_test.go index 75d624aac..98783d4c8 100644 --- a/internal/wire/version_negotiation_test.go +++ b/internal/wire/version_negotiation_test.go @@ -16,11 +16,7 @@ var _ = Describe("Version Negotiation Packets", func() { Expect(err).ToNot(HaveOccurred()) Expect(hdr.VersionFlag).To(BeTrue()) Expect(hdr.ConnectionID).To(Equal(protocol.ConnectionID(0x1337))) - // the supported versions should include one reserved version number - Expect(hdr.SupportedVersions).To(HaveLen(len(versions) + 1)) - for _, version := range versions { - Expect(hdr.SupportedVersions).To(ContainElement(version)) - } + Expect(hdr.SupportedVersions).To(Equal(versions)) }) It("writes in IETF draft style", func() {