mirror of
https://github.com/overte-org/overte.git
synced 2025-07-10 20:38:37 +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
|
} // fall through to piggyback message
|
||||||
|
|
||||||
voxelPacketType = packetTypeForPacket(mutablePacket);
|
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)) {
|
if (Menu::getInstance()->isOptionChecked(MenuOption::Voxels)) {
|
||||||
app->trackIncomingVoxelPacket(mutablePacket, sendingNode, wasStatsPacket);
|
app->trackIncomingVoxelPacket(mutablePacket, sendingNode, wasStatsPacket);
|
||||||
|
|
|
@ -47,7 +47,7 @@ enum PacketType {
|
||||||
PacketTypeVoxelSet,
|
PacketTypeVoxelSet,
|
||||||
PacketTypeVoxelSetDestructive,
|
PacketTypeVoxelSetDestructive,
|
||||||
PacketTypeVoxelErase,
|
PacketTypeVoxelErase,
|
||||||
PacketTypeOctreeStats,
|
PacketTypeOctreeStats, // 26
|
||||||
PacketTypeJurisdiction,
|
PacketTypeJurisdiction,
|
||||||
PacketTypeJurisdictionRequest,
|
PacketTypeJurisdictionRequest,
|
||||||
PacketTypeParticleQuery,
|
PacketTypeParticleQuery,
|
||||||
|
@ -62,7 +62,7 @@ enum PacketType {
|
||||||
PacketTypeDomainServerRequireDTLS,
|
PacketTypeDomainServerRequireDTLS,
|
||||||
PacketTypeNodeJsonStats,
|
PacketTypeNodeJsonStats,
|
||||||
PacketTypeModelQuery,
|
PacketTypeModelQuery,
|
||||||
PacketTypeModelData,
|
PacketTypeModelData, // 41
|
||||||
PacketTypeModelAddOrEdit,
|
PacketTypeModelAddOrEdit,
|
||||||
PacketTypeModelErase,
|
PacketTypeModelErase,
|
||||||
PacketTypeModelAddResponse,
|
PacketTypeModelAddResponse,
|
||||||
|
|
Loading…
Reference in a new issue