From 899e1694d7bb754bd053d34858cfb22c670c306f Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 10 Apr 2020 14:35:37 +0700 Subject: [PATCH] add a test for dropped packets due to header parsing errors --- session_test.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/session_test.go b/session_test.go index b5383606..1ef2b22f 100644 --- a/session_test.go +++ b/session_test.go @@ -585,6 +585,20 @@ var _ = Describe("Session", func() { Expect(sess.handlePacketImpl(p)).To(BeFalse()) }) + It("drops packets for which header decryption fails", func() { + p := getPacket(&wire.ExtendedHeader{ + Header: wire.Header{ + IsLongHeader: true, + Type: protocol.PacketTypeHandshake, + Version: sess.version, + }, + PacketNumberLen: protocol.PacketNumberLen2, + }, nil) + p.data[0] ^= 0x40 // unset the QUIC bit + qlogger.EXPECT().DroppedPacket(qlog.PacketTypeNotDetermined, protocol.ByteCount(len(p.data)), qlog.PacketDropHeaderParseError) + Expect(sess.handlePacketImpl(p)).To(BeFalse()) + }) + It("informs the ReceivedPacketHandler about non-ack-eliciting packets", func() { hdr := &wire.ExtendedHeader{ Header: wire.Header{DestConnectionID: srcConnID},