From bad60f3c27b9fa7172c814e143c459af63b2dafd Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Mon, 23 May 2022 14:27:26 +0200 Subject: [PATCH] add the version number for QUIC v2 --- internal/protocol/version.go | 5 ++++- internal/protocol/version_test.go | 9 ++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/internal/protocol/version.go b/internal/protocol/version.go index b5276303..dd54dbd3 100644 --- a/internal/protocol/version.go +++ b/internal/protocol/version.go @@ -23,11 +23,12 @@ const ( VersionUnknown VersionNumber = math.MaxUint32 VersionDraft29 VersionNumber = 0xff00001d Version1 VersionNumber = 0x1 + Version2 VersionNumber = 0x709a50c4 ) // SupportedVersions lists the versions that the server supports // must be in sorted descending order -var SupportedVersions = []VersionNumber{Version1, VersionDraft29} +var SupportedVersions = []VersionNumber{Version1, Version2, VersionDraft29} // IsValidVersion says if the version is known to quic-go func IsValidVersion(v VersionNumber) bool { @@ -50,6 +51,8 @@ func (vn VersionNumber) String() string { return "draft-29" case Version1: return "v1" + case Version2: + return "v2" default: if vn.isGQUIC() { return fmt.Sprintf("gQUIC %d", vn.toGQUICVersion()) diff --git a/internal/protocol/version_test.go b/internal/protocol/version_test.go index 17c067b8..33c6598b 100644 --- a/internal/protocol/version_test.go +++ b/internal/protocol/version_test.go @@ -16,6 +16,7 @@ var _ = Describe("Version", func() { Expect(IsValidVersion(VersionUnknown)).To(BeFalse()) Expect(IsValidVersion(VersionDraft29)).To(BeTrue()) Expect(IsValidVersion(Version1)).To(BeTrue()) + Expect(IsValidVersion(Version2)).To(BeTrue()) Expect(IsValidVersion(1234)).To(BeFalse()) }) @@ -28,6 +29,7 @@ var _ = Describe("Version", func() { Expect(VersionUnknown.String()).To(Equal("unknown")) Expect(VersionDraft29.String()).To(Equal("draft-29")) Expect(Version1.String()).To(Equal("v1")) + Expect(Version2.String()).To(Equal("v2")) // check with unsupported version numbers from the wiki Expect(VersionNumber(0x51303039).String()).To(Equal("gQUIC 9")) Expect(VersionNumber(0x51303133).String()).To(Equal("gQUIC 13")) @@ -42,13 +44,6 @@ var _ = Describe("Version", func() { Expect(IsSupportedVersion(SupportedVersions, SupportedVersions[len(SupportedVersions)-1])).To(BeTrue()) }) - It("has supported versions in sorted order", func() { - Expect(SupportedVersions[0]).To(Equal(Version1)) - for i := 1; i < len(SupportedVersions)-1; i++ { - Expect(SupportedVersions[i]).To(BeNumerically(">", SupportedVersions[i+1])) - } - }) - Context("highest supported version", func() { It("finds the supported version", func() { supportedVersions := []VersionNumber{1, 2, 3}