mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 11:45:36 +02:00
properly discard piggy back packets that don't match expected version
This commit is contained in:
parent
412e870f98
commit
22a6e4679a
2 changed files with 19 additions and 2 deletions
|
@ -61,6 +61,23 @@ void VoxelPacketProcessor::processPacket(const SharedNodePointer& sendingNode, c
|
|||
} // fall through to piggyback message
|
||||
|
||||
voxelPacketType = packetTypeForPacket(mutablePacket);
|
||||
PacketVersion packetVersion = mutablePacket[1];
|
||||
PacketVersion expectedVersion = versionForPacketType(voxelPacketType);
|
||||
|
||||
// check version of piggyback packet against expected version
|
||||
if (packetVersion != expectedVersion) {
|
||||
static QMultiMap<QUuid, PacketType> versionDebugSuppressMap;
|
||||
|
||||
QUuid senderUUID = uuidFromPacketHeader(packet);
|
||||
if (!versionDebugSuppressMap.contains(senderUUID, voxelPacketType)) {
|
||||
qDebug() << "Packet version mismatch on" << voxelPacketType << "- Sender"
|
||||
<< senderUUID << "sent" << (int)packetVersion << "but"
|
||||
<< (int)expectedVersion << "expected.";
|
||||
|
||||
versionDebugSuppressMap.insert(senderUUID, voxelPacketType);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Menu::getInstance()->isOptionChecked(MenuOption::Voxels)) {
|
||||
app->trackIncomingVoxelPacket(mutablePacket, sendingNode, wasStatsPacket);
|
||||
|
|
|
@ -47,7 +47,7 @@ enum PacketType {
|
|||
PacketTypeVoxelSet,
|
||||
PacketTypeVoxelSetDestructive,
|
||||
PacketTypeVoxelErase,
|
||||
PacketTypeOctreeStats,
|
||||
PacketTypeOctreeStats, // 26
|
||||
PacketTypeJurisdiction,
|
||||
PacketTypeJurisdictionRequest,
|
||||
PacketTypeParticleQuery,
|
||||
|
@ -62,7 +62,7 @@ enum PacketType {
|
|||
PacketTypeDomainServerRequireDTLS,
|
||||
PacketTypeNodeJsonStats,
|
||||
PacketTypeModelQuery,
|
||||
PacketTypeModelData,
|
||||
PacketTypeModelData, // 41
|
||||
PacketTypeModelAddOrEdit,
|
||||
PacketTypeModelErase,
|
||||
PacketTypeModelAddResponse,
|
||||
|
|
Loading…
Reference in a new issue