From 3c2fb60a3f4ac9180947d48ea073d7d9dec5e2af Mon Sep 17 00:00:00 2001 From: Lauri Kasanen Date: Fri, 25 Mar 2022 11:43:03 +0200 Subject: [PATCH] UDP packets now have a hash --- core/rfb.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/rfb.js b/core/rfb.js index d1a7cfb8..f61263e2 100644 --- a/core/rfb.js +++ b/core/rfb.js @@ -973,9 +973,14 @@ export default class RFB extends EventTargetMixin { (u8[9] << 8) + (u8[10] << 16) + (u8[11] << 24), 10); + const hash = parseInt(u8[12] + + (u8[13] << 8) + + (u8[14] << 16) + + (u8[15] << 24), 10); + // TODO: check the hash. It's the low 32 bits of XXH64, seed 0 if (pieces == 1) { // Handle it immediately - me._handleUdpRect(u8.slice(12)); + me._handleUdpRect(u8.slice(16)); } else { // Insert into wait array const now = Date.now(); @@ -986,7 +991,7 @@ export default class RFB extends EventTargetMixin { return; } item.recieved_pieces += 1; - item.data[i] = u8.slice(12); + item.data[i] = u8.slice(16); item.total_bytes += item.data[i].length; if (item.total_pieces == item.recieved_pieces) { @@ -1008,7 +1013,7 @@ export default class RFB extends EventTargetMixin { total_bytes: 0, // total size of all data pieces combined data: new Array(pieces) } - item.data[i] = u8.slice(12); + item.data[i] = u8.slice(16); item.total_bytes = item.data[i].length; udpBuffer.set(id, item); }