From 27c3a1a386b9ec0fe375893badd82715970eb72a Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 18 Feb 2020 17:11:33 -0300 Subject: [PATCH 1/5] fix app engine block --- app/apps/lib/misc/transformMappedData.js | 2 +- app/lib/server/functions/sendMessage.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/apps/lib/misc/transformMappedData.js b/app/apps/lib/misc/transformMappedData.js index 0bba2c6460812..5c841e9eb1589 100644 --- a/app/apps/lib/misc/transformMappedData.js +++ b/app/apps/lib/misc/transformMappedData.js @@ -73,7 +73,7 @@ export const transformMappedData = (data, map) => { if (typeof result !== 'undefined') { transformedData[to] = result; } - } else if (typeof from === 'string' && typeof originalData[from] !== 'undefined') { + } else if (typeof from === 'string') { transformedData[to] = originalData[from]; delete originalData[from]; } diff --git a/app/lib/server/functions/sendMessage.js b/app/lib/server/functions/sendMessage.js index ea5ce3088d51c..1dcc1f346b7e1 100644 --- a/app/lib/server/functions/sendMessage.js +++ b/app/lib/server/functions/sendMessage.js @@ -136,6 +136,7 @@ const validateMessage = (message) => { emoji: String, avatar: ValidPartialURLParam, attachments: [Match.Any], + blocks: [Match.Any], })); if (Array.isArray(message.attachments) && message.attachments.length) { @@ -188,11 +189,15 @@ export const sendMessage = function(user, message, room, upsert = false) { result = Promise.await(Apps.getBridges().getListenerBridge().messageEvent('IPreMessageSentExtend', message)); result = Promise.await(Apps.getBridges().getListenerBridge().messageEvent('IPreMessageSentModify', result)); + console.log('result', result); + if (typeof result === 'object') { message = Object.assign(message, result); // Some app may have inserted malicious/invalid values in the message, let's check it again validateMessage(message); + + console.log('sendmessage', message); } } From bee96dcd4dd3f6fe4a52584f6a64fc1f2cfdd6cc Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 18 Feb 2020 17:11:33 -0300 Subject: [PATCH 2/5] fix app engine block --- app/apps/lib/misc/transformMappedData.js | 2 +- app/lib/server/functions/sendMessage.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/apps/lib/misc/transformMappedData.js b/app/apps/lib/misc/transformMappedData.js index 0bba2c6460812..5c841e9eb1589 100644 --- a/app/apps/lib/misc/transformMappedData.js +++ b/app/apps/lib/misc/transformMappedData.js @@ -73,7 +73,7 @@ export const transformMappedData = (data, map) => { if (typeof result !== 'undefined') { transformedData[to] = result; } - } else if (typeof from === 'string' && typeof originalData[from] !== 'undefined') { + } else if (typeof from === 'string') { transformedData[to] = originalData[from]; delete originalData[from]; } diff --git a/app/lib/server/functions/sendMessage.js b/app/lib/server/functions/sendMessage.js index ea5ce3088d51c..5b7d3c281c103 100644 --- a/app/lib/server/functions/sendMessage.js +++ b/app/lib/server/functions/sendMessage.js @@ -136,6 +136,7 @@ const validateMessage = (message) => { emoji: String, avatar: ValidPartialURLParam, attachments: [Match.Any], + blocks: [Match.Any], })); if (Array.isArray(message.attachments) && message.attachments.length) { From 55748916a37051aef36f6c1bdc9f9d2ffa4f500b Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Tue, 18 Feb 2020 17:53:35 -0300 Subject: [PATCH 3/5] Fix data mapping algorithm --- app/apps/lib/misc/transformMappedData.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/apps/lib/misc/transformMappedData.js b/app/apps/lib/misc/transformMappedData.js index 5c841e9eb1589..61e57b0a53ca2 100644 --- a/app/apps/lib/misc/transformMappedData.js +++ b/app/apps/lib/misc/transformMappedData.js @@ -74,7 +74,9 @@ export const transformMappedData = (data, map) => { transformedData[to] = result; } } else if (typeof from === 'string') { - transformedData[to] = originalData[from]; + if (typeof originalData[from] !== 'undefined') { + transformedData[to] = originalData[from]; + } delete originalData[from]; } }); From 73357579d57877d9a0574accccff51d4f68cb61c Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Tue, 18 Feb 2020 18:02:14 -0300 Subject: [PATCH 4/5] Update app/lib/server/functions/sendMessage.js --- app/lib/server/functions/sendMessage.js | 1 - 1 file changed, 1 deletion(-) diff --git a/app/lib/server/functions/sendMessage.js b/app/lib/server/functions/sendMessage.js index 1dcc1f346b7e1..8cd31f637e2c4 100644 --- a/app/lib/server/functions/sendMessage.js +++ b/app/lib/server/functions/sendMessage.js @@ -189,7 +189,6 @@ export const sendMessage = function(user, message, room, upsert = false) { result = Promise.await(Apps.getBridges().getListenerBridge().messageEvent('IPreMessageSentExtend', message)); result = Promise.await(Apps.getBridges().getListenerBridge().messageEvent('IPreMessageSentModify', result)); - console.log('result', result); if (typeof result === 'object') { message = Object.assign(message, result); From b27e179aa997ba505d1012999e658ed9ae150de1 Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Tue, 18 Feb 2020 18:03:18 -0300 Subject: [PATCH 5/5] Remove debugging --- app/lib/server/functions/sendMessage.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/lib/server/functions/sendMessage.js b/app/lib/server/functions/sendMessage.js index 8cd31f637e2c4..5b7d3c281c103 100644 --- a/app/lib/server/functions/sendMessage.js +++ b/app/lib/server/functions/sendMessage.js @@ -189,14 +189,11 @@ export const sendMessage = function(user, message, room, upsert = false) { result = Promise.await(Apps.getBridges().getListenerBridge().messageEvent('IPreMessageSentExtend', message)); result = Promise.await(Apps.getBridges().getListenerBridge().messageEvent('IPreMessageSentModify', result)); - if (typeof result === 'object') { message = Object.assign(message, result); // Some app may have inserted malicious/invalid values in the message, let's check it again validateMessage(message); - - console.log('sendmessage', message); } }