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},