diff --git a/protocol/version.go b/protocol/version.go index f1959632..606500db 100644 --- a/protocol/version.go +++ b/protocol/version.go @@ -43,15 +43,8 @@ func IsSupportedVersion(supported []VersionNumber, v VersionNumber) bool { // the versions in other do not need to be ordered // it returns true and the version number, if there is one, otherwise false func HighestSupportedVersion(other []VersionNumber) (bool, VersionNumber) { - var otherSupported []VersionNumber - for _, ver := range other { - if ver != VersionUnsupported { - otherSupported = append(otherSupported, ver) - } - } - for _, v := range SupportedVersions { - for _, ver := range otherSupported { + for _, ver := range other { if ver == v { return true, ver } diff --git a/public_header.go b/public_header.go index afe1dbef..5aa036f3 100644 --- a/public_header.go +++ b/public_header.go @@ -196,9 +196,6 @@ func ParsePublicHeader(b *bytes.Reader, packetSentBy protocol.Perspective) (*Pub break } v := protocol.VersionTagToNumber(versionTag) - if !protocol.IsSupportedVersion(protocol.SupportedVersions, v) { - v = protocol.VersionUnsupported - } header.SupportedVersions = append(header.SupportedVersions, v) } } diff --git a/public_header_test.go b/public_header_test.go index 9a1e7ac6..2ee79df5 100644 --- a/public_header_test.go +++ b/public_header_test.go @@ -111,16 +111,16 @@ var _ = Describe("Public Header", func() { Expect(b.Len()).To(BeZero()) }) - It("sets version numbers to unsupported, if we don't support them", func() { + It("reads version negotiation packets containing unsupported versions", func() { data := []byte{0x9, 0xf6, 0x19, 0x86, 0x66, 0x9b, 0x9f, 0xfa, 0x4c} data = appendVersion(data, 1) // unsupported version data = appendVersion(data, protocol.SupportedVersions[0]) - data = appendVersion(data, 1337) // unsupported version + data = appendVersion(data, 99) // unsupported version b := bytes.NewReader(data) hdr, err := ParsePublicHeader(b, protocol.PerspectiveServer) Expect(err).ToNot(HaveOccurred()) Expect(hdr.VersionFlag).To(BeTrue()) - Expect(hdr.SupportedVersions).To(Equal([]protocol.VersionNumber{protocol.VersionUnsupported, protocol.SupportedVersions[0], protocol.VersionUnsupported})) + Expect(hdr.SupportedVersions).To(Equal([]protocol.VersionNumber{1, protocol.SupportedVersions[0], 99})) Expect(b.Len()).To(BeZero()) })