forked from LeenkxTeam/LNXSDK
P2P fix raw dedup
This commit is contained in:
@ -408,9 +408,10 @@ class LeenkxClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onMessageData(identifier:String, message:Bytes, ?senderPk:String):Void {
|
function onMessageData(identifier:String, message:Bytes, ?senderPk:String):Void {
|
||||||
var hash = Crypto.hash(message).sub(0, 16).toHex();
|
var hash = (message.length > 0 && message.get(0) == 0x00)
|
||||||
|
? null : Crypto.hash(message).sub(0, 16).toHex();
|
||||||
var t = now();
|
var t = now();
|
||||||
if (!seen.exists(hash)) {
|
if (hash == null || !seen.exists(hash)) {
|
||||||
if (message.length > 0 && (message.get(0) == 0x00 || message.get(0) == 0x01)) {
|
if (message.length > 0 && (message.get(0) == 0x00 || message.get(0) == 0x01)) {
|
||||||
var isRelayed = message.get(0) == 0x01;
|
var isRelayed = message.get(0) == 0x01;
|
||||||
var offset = 1;
|
var offset = 1;
|
||||||
@ -434,7 +435,7 @@ class LeenkxClient {
|
|||||||
var rawPayload = message.sub(offset, message.length - offset);
|
var rawPayload = message.sub(offset, message.length - offset);
|
||||||
var payload = new leenkx.network.Buffer();
|
var payload = new leenkx.network.Buffer();
|
||||||
payload.writeBytes(rawPayload);
|
payload.writeBytes(rawPayload);
|
||||||
seen.set(hash, t);
|
if (isRelayed) seen.set(hash, t);
|
||||||
var senderAddr = msgSenderPk != null ? pkToAddress.get(msgSenderPk) : null;
|
var senderAddr = msgSenderPk != null ? pkToAddress.get(msgSenderPk) : null;
|
||||||
if (senderAddr == null && msgSenderPk != null && msgSenderPk != "") {
|
if (senderAddr == null && msgSenderPk != null && msgSenderPk != "") {
|
||||||
senderAddr = addressFromPk(msgSenderPk);
|
senderAddr = addressFromPk(msgSenderPk);
|
||||||
|
|||||||
Reference in New Issue
Block a user