forked from quic-go/quic-go
qlog packets that are dropped due to mismatching source connection ID
This commit is contained in:
@@ -761,6 +761,9 @@ func (s *session) handleSinglePacket(p *receivedPacket, hdr *wire.Header) bool /
|
||||
// The server can change the source connection ID with the first Handshake packet.
|
||||
// After this, all packets with a different source connection have to be ignored.
|
||||
if s.receivedFirstPacket && hdr.IsLongHeader && !hdr.SrcConnectionID.Equal(s.handshakeDestConnID) {
|
||||
if s.qlogger != nil {
|
||||
s.qlogger.DroppedPacket(qlog.PacketTypeFromHeader(hdr), protocol.ByteCount(len(p.data)), qlog.PacketDropUnknownConnectionID)
|
||||
}
|
||||
s.logger.Debugf("Dropping %s packet (%d bytes) with unexpected source connection ID: %s (expected %s)", hdr.PacketType(), len(p.data), hdr.SrcConnectionID, s.handshakeDestConnID)
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -769,6 +769,7 @@ var _ = Describe("Session", func() {
|
||||
Expect(sess.handlePacketImpl(p1)).To(BeTrue())
|
||||
// The next packet has to be ignored, since the source connection ID doesn't match.
|
||||
p2 := getPacket(hdr2, nil)
|
||||
qlogger.EXPECT().DroppedPacket(qlog.PacketTypeHandshake, protocol.ByteCount(len(p2.data)), qlog.PacketDropUnknownConnectionID)
|
||||
Expect(sess.handlePacketImpl(p2)).To(BeFalse())
|
||||
})
|
||||
|
||||
@@ -2185,6 +2186,7 @@ var _ = Describe("Client Session", func() {
|
||||
qlogger.EXPECT().ReceivedPacket(gomock.Any(), gomock.Any(), gomock.Any())
|
||||
Expect(sess.handlePacketImpl(getPacket(hdr1, nil))).To(BeTrue())
|
||||
// The next packet has to be ignored, since the source connection ID doesn't match.
|
||||
qlogger.EXPECT().DroppedPacket(gomock.Any(), gomock.Any(), gomock.Any())
|
||||
Expect(sess.handlePacketImpl(getPacket(hdr2, nil))).To(BeFalse())
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user