From f440a65ef130d8c55831958454ce656ee930dc7a Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 30 Nov 2017 10:38:51 +0700 Subject: [PATCH] move the version field in front of the packet number in the long header This was recently changed in the IETF draft. --- internal/wire/ietf_header.go | 6 +++--- internal/wire/ietf_header_test.go | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/wire/ietf_header.go b/internal/wire/ietf_header.go index 4595a4bb..c52128fa 100644 --- a/internal/wire/ietf_header.go +++ b/internal/wire/ietf_header.go @@ -26,11 +26,11 @@ func parseLongHeader(b *bytes.Reader, sentBy protocol.Perspective, typeByte byte if err != nil { return nil, err } - pn, err := utils.BigEndian.ReadUint32(b) + v, err := utils.BigEndian.ReadUint32(b) if err != nil { return nil, err } - v, err := utils.BigEndian.ReadUint32(b) + pn, err := utils.BigEndian.ReadUint32(b) if err != nil { return nil, err } @@ -104,8 +104,8 @@ func (h *Header) writeHeader(b *bytes.Buffer) error { func (h *Header) writeLongHeader(b *bytes.Buffer) error { b.WriteByte(byte(0x80 ^ h.Type)) utils.BigEndian.WriteUint64(b, uint64(h.ConnectionID)) - utils.BigEndian.WriteUint32(b, uint32(h.PacketNumber)) utils.BigEndian.WriteUint32(b, uint32(h.Version)) + utils.BigEndian.WriteUint32(b, uint32(h.PacketNumber)) return nil } diff --git a/internal/wire/ietf_header_test.go b/internal/wire/ietf_header_test.go index 06443729..8b9b6320 100644 --- a/internal/wire/ietf_header_test.go +++ b/internal/wire/ietf_header_test.go @@ -22,8 +22,8 @@ var _ = Describe("IETF draft Header", func() { return []byte{ 0x80 ^ uint8(t), 0xde, 0xad, 0xbe, 0xef, 0xca, 0xfe, 0x13, 0x37, // connection ID - 0xde, 0xca, 0xfb, 0xad, // packet number 0x1, 0x2, 0x3, 0x4, // version number + 0xde, 0xca, 0xfb, 0xad, // packet number } } @@ -222,8 +222,8 @@ var _ = Describe("IETF draft Header", func() { Expect(buf.Bytes()).To(Equal([]byte{ 0x80 ^ 0x5, 0xde, 0xad, 0xbe, 0xef, 0xca, 0xfe, 0x13, 0x37, // connection ID - 0xde, 0xca, 0xfb, 0xad, // packet number 0x1, 0x2, 0x3, 0x4, // version number + 0xde, 0xca, 0xfb, 0xad, // packet number })) }) })