From 72f0952835f481c74dfb2414b329da1de02237ae Mon Sep 17 00:00:00 2001 From: yflory Date: Tue, 19 Sep 2017 11:31:45 +0200 Subject: [PATCH] Make sure we can't open a pad using the wrong app --- www/code/inner.js | 4 ++-- www/pad/inner.js | 9 +++++---- www/slide/inner.js | 3 ++- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/www/code/inner.js b/www/code/inner.js index 4f4690182..7146285b0 100644 --- a/www/code/inner.js +++ b/www/code/inner.js @@ -378,7 +378,6 @@ define([ }; config.onReady = function (info) { - console.log('onready'); if (APP.realtime !== info.realtime) { var realtime = APP.realtime = info.realtime; APP.patchText = TextPatcher.create({ @@ -400,7 +399,8 @@ define([ metadataMgr.updateMetadata(hjson.metadata); } if (typeof (hjson) !== 'object' || Array.isArray(hjson) || - (typeof(hjson.type) !== 'undefined' && hjson.type !== 'code')) { + (hjson.metadata && typeof(hjson.metadata.type) !== 'undefined' && + hjson.metadata.type !== 'code')) { var errorText = Messages.typeError; Cryptpad.errorLoadingScreen(errorText); throw new Error(errorText); diff --git a/www/pad/inner.js b/www/pad/inner.js index cc6050f47..ca8cdc225 100644 --- a/www/pad/inner.js +++ b/www/pad/inner.js @@ -563,7 +563,6 @@ define([ realtimeOptions.onInit = function (info) { readOnly = metadataMgr.getPrivateData().readOnly; - console.log('onInit'); var titleCfg = { getHeadingText: getHeadingText }; Title = common.createTitle(titleCfg, realtimeOptions.onLocal); var configTb = { @@ -700,7 +699,6 @@ define([ // this should only ever get called once, when the chain syncs realtimeOptions.onReady = function (info) { - console.log('onReady'); if (!module.isMaximized) { module.isMaximized = true; $('iframe.cke_wysiwyg_frame').css('width', ''); @@ -723,10 +721,13 @@ define([ if (shjson === '') { newPad = true; } if (!newPad) { + if (shjson[0] !== '[') { + var errorText = Messages.typeError; + Cryptpad.errorLoadingScreen(errorText); + throw new Error(errorText); + } applyHjson(shjson); - // Update the user list (metadata) from the hyperjson - // XXX Metadata.update(shjson); var parsed = JSON.parse(shjson); if (parsed[3] && parsed[3].metadata) { metadataMgr.updateMetadata(parsed[3].metadata); diff --git a/www/slide/inner.js b/www/slide/inner.js index 44f579344..91830b749 100644 --- a/www/slide/inner.js +++ b/www/slide/inner.js @@ -552,7 +552,8 @@ define([ metadataMgr.updateMetadata(hjson.metadata); } if (typeof (hjson) !== 'object' || Array.isArray(hjson) || - (typeof(hjson.type) !== 'undefined' && hjson.type !== 'code')) { + (hjson.metadata && typeof(hjson.metadata.type) !== 'undefined' && + hjson.metadata.type !== 'slide')) { var errorText = Messages.typeError; Cryptpad.errorLoadingScreen(errorText); throw new Error(errorText);