From c121a8ef2a49190c7eab8aa86c84b3bcf9ca9df3 Mon Sep 17 00:00:00 2001 From: Kasen IO Date: Thu, 23 Jan 2020 03:06:58 -0500 Subject: [PATCH] Housekeeping. --- .../security/EntityScriptQMLWhitelist.qml | 86 +++++++++---------- libraries/script-engine/src/ScriptEngine.cpp | 6 +- libraries/script-engine/src/ScriptEngine.h | 1 - 3 files changed, 45 insertions(+), 48 deletions(-) diff --git a/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml b/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml index 3de86c31d9..83725e9d4b 100644 --- a/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml +++ b/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml @@ -21,52 +21,50 @@ import "../../../windows" Rectangle { - id: parentBody; - - function getWhitelistAsText() { - var whitelist = Settings.getValue("private/settingsSafeURLS"); - var arrayWhitelist = whitelist.split(","); - var whitelistText = arrayWhitelist.join("\n"); - return whitelistText; - } - - function setWhitelistAsText(whitelistText) { - Settings.setValue("private/settingsSafeURLS", whitelistText.text); + id: parentBody; - var originalSetString = whitelistText.text; - var originalSet = originalSetString.split(' ').join(''); + function getWhitelistAsText() { + var whitelist = Settings.getValue("private/settingsSafeURLS"); + var arrayWhitelist = whitelist.split(",").join("\n"); + return arrayWhitelist; + } - var check = Settings.getValue("private/settingsSafeURLS"); - var arrayCheck = check.split(","); - var textCheck = arrayCheck.join("\n"); + function setWhitelistAsText(whitelistText) { + Settings.setValue("private/settingsSafeURLS", whitelistText.text); - if (textCheck == originalSet) { - setWhitelistSuccess(true); - } else { - setWhitelistSuccess(false); - } - } - - function setWhitelistSuccess(success) { - if (success) { - notificationText.text = "Successfully saved settings."; - } else { - notificationText.text = "Error! Settings not saved."; - } - } - - function toggleWhitelist(enabled) { - Settings.setValue("private/whitelistEnabled", enabled); - console.info("Toggling Whitelist to:", enabled); - } - - function initCheckbox() { - var check = Settings.getValue("private/whitelistEnabled"); - - if (check == true) { - whitelistEnabled.toggle(); - } - } + var originalSetString = whitelistText.text; + var originalSet = originalSetString.split(' ').join(''); + + var check = Settings.getValue("private/settingsSafeURLS"); + var arrayCheck = check.split(",").join("\n"); + + if (arrayCheck === originalSet) { + setWhitelistSuccess(true); + } else { + setWhitelistSuccess(false); + } + } + + function setWhitelistSuccess(success) { + if (success) { + notificationText.text = "Successfully saved settings."; + } else { + notificationText.text = "Error! Settings not saved."; + } + } + + function toggleWhitelist(enabled) { + Settings.setValue("private/whitelistEnabled", enabled); + console.info("Toggling Whitelist to:", enabled); + } + + function initCheckbox() { + var check = Settings.getValue("private/whitelistEnabled", false); + + if (check) { + whitelistEnabled.toggle(); + } + } anchors.fill: parent @@ -180,7 +178,7 @@ Rectangle { HifiStylesUit.RalewayRegular { id: descriptionText; text: -"The whitelist checks scripts/QML as it is loaded.
+"The whitelist checks scripts & QML as they are loaded.
Therefore, if a script is cached or has no reason to load again,
then removing it from the whitelist will not be effective until
it is reloaded.
diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 40f43ee22f..eaca8c307d 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -2333,7 +2333,7 @@ void ScriptEngine::entityScriptContentAvailable(const EntityItemID& entityID, co if (isURL) { setParentURL(scriptOrURL); } - + // SANITY/PERFORMANCE CHECK USING SANDBOX const int SANDBOX_TIMEOUT = 0.25 * MSECS_PER_SECOND; BaseScriptEngine sandbox; @@ -2370,8 +2370,8 @@ void ScriptEngine::entityScriptContentAvailable(const EntityItemID& entityID, co safeURLPrefixes += qEnvironmentVariable("EXTRA_WHITELIST").trimmed().split(QRegExp("\\s*,\\s*"), QString::SkipEmptyParts); // ENTITY SCRIPT WHITELIST TOGGLE CHECK - Setting::Handle _whitelistEnabled{"private/whitelistEnabled", false }; - bool whitelistEnabled = _whitelistEnabled.get(); + Setting::Handle whitelistEnabled{"private/whitelistEnabled", false }; + bool whitelistEnabled = whitelistEnabled.get(); if (!whitelistEnabled) { qCDebug(scriptengine) << "Whitelist Enabled: " << whitelistEnabled; diff --git a/libraries/script-engine/src/ScriptEngine.h b/libraries/script-engine/src/ScriptEngine.h index fca652d7ad..94381ede02 100644 --- a/libraries/script-engine/src/ScriptEngine.h +++ b/libraries/script-engine/src/ScriptEngine.h @@ -974,7 +974,6 @@ protected: Setting::Handle _enableExtendedJSExceptions { _SETTINGS_ENABLE_EXTENDED_EXCEPTIONS, true }; QWeakPointer _scriptEngines; - }; ScriptEnginePointer scriptEngineFactory(ScriptEngine::Context context,