From 1a539334b85ca0102bb11979f639c46573fc1b8e Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sat, 21 Mar 2020 12:49:46 +0700 Subject: [PATCH] fix determining of packet type from packet header in qlog --- qlog/packet_header.go | 3 ++- qlog/packet_header_test.go | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/qlog/packet_header.go b/qlog/packet_header.go index 71f80fef..4ce81843 100644 --- a/qlog/packet_header.go +++ b/qlog/packet_header.go @@ -7,6 +7,7 @@ import ( "github.com/lucas-clemente/quic-go/internal/wire" ) +// PacketTypeFromHeader determines the packet type from a *wire.Header. func PacketTypeFromHeader(hdr *wire.Header) PacketType { if !hdr.IsLongHeader { return PacketType1RTT @@ -24,7 +25,7 @@ func PacketTypeFromHeader(hdr *wire.Header) PacketType { case protocol.PacketTypeRetry: return PacketTypeRetry default: - panic("unknown packet type") + return PacketTypeNotDetermined } } diff --git a/qlog/packet_header_test.go b/qlog/packet_header_test.go index d69369c3..05d11142 100644 --- a/qlog/packet_header_test.go +++ b/qlog/packet_header_test.go @@ -61,6 +61,13 @@ var _ = Describe("Packet Header", func() { It("recognizes 1-RTT packets", func() { Expect(PacketTypeFromHeader(&wire.Header{})).To(Equal(PacketType1RTT)) }) + + It("handles unrecognized packet types", func() { + Expect(PacketTypeFromHeader(&wire.Header{ + IsLongHeader: true, + Version: protocol.VersionTLS, + })).To(Equal(PacketTypeNotDetermined)) + }) }) Context("marshalling", func() {