From 66336d1b6529b67516e5b631cafdaacdef8afac4 Mon Sep 17 00:00:00 2001 From: kkapsner Date: Wed, 3 Jan 2018 10:59:56 +0100 Subject: [PATCH] prevent possible double faking --- lib/intercept.js | 10 ++++++++++ releaseNotes.txt | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/intercept.js b/lib/intercept.js index 627a6f6..5629740 100644 --- a/lib/intercept.js +++ b/lib/intercept.js @@ -159,6 +159,7 @@ } }; + let extensionID = browser.extension.getURL(""); scope.intercept = function intercept({subject: window}, {check, checkStack, ask, notify, prefs}){ var siteStatus = check({url: getURL(window)}); logging.verbose("status for page", window, siteStatus); @@ -189,6 +190,15 @@ return undef; } var error = new Error(); + try { + // return original if the extension itself requested the function + if (error.stack.split("\n", 3)[1].split("@", 2)[1].startsWith(extensionID)){ + return original; + } + } + catch (e) { + // stack had an unknown form + } if (checkStack(error.stack)){ return original; } diff --git a/releaseNotes.txt b/releaseNotes.txt index 3523637..8971627 100644 --- a/releaseNotes.txt +++ b/releaseNotes.txt @@ -6,7 +6,7 @@ Version 0.4.5: - fixes: - - + - prevent possible double faking Version 0.4.4b: known issues: