[Pkg-privacy-commits] [xul-ext-monkeysphere] 95/296: cleanup and separate uri checking
Ximin Luo
infinity0 at moszumanska.debian.org
Mon Aug 24 07:39:29 UTC 2015
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch debian
in repository xul-ext-monkeysphere.
commit 7d7fd6680c778a23dfc3037dca638c50595cad0b
Author: Jameson Rollins <jrollins at finestructure.net>
Date: Wed Feb 17 17:08:55 2010 -0500
cleanup and separate uri checking
This also fixes the issue about switching to blank tabs that was
caused by listener error for empty uris.
---
chrome/content/monkeysphere.js | 75 ++++++++++++++++++++++++++++++------------
1 file changed, 54 insertions(+), 21 deletions(-)
diff --git a/chrome/content/monkeysphere.js b/chrome/content/monkeysphere.js
index 9cc47a2..722e2c6 100644
--- a/chrome/content/monkeysphere.js
+++ b/chrome/content/monkeysphere.js
@@ -85,7 +85,7 @@ var monkeysphere = {
// https://developer.mozilla.org/en/nsIWebProgressListener
progressListener: {
onLocationChange: function(aWebProgress, aRequest, aLocation) {
- monkeysphere.log("++++ location change: " + aLocation.host);
+ monkeysphere.log("++++ location change: ");
monkeysphere.updateStatus(aLocation);
},
@@ -98,7 +98,7 @@ var monkeysphere = {
// https://developer.mozilla.org/en/Listening_to_events_on_all_tabs
tabProgressListener: {
onSecurityChange: function(aBrowser, aWebProgress, aRequest, aState) {
- monkeysphere.log("++++ security change: " + aBrowser.currentURI.host + " : " + aState);
+ monkeysphere.log("++++ security change: ");
monkeysphere.checkSite(aBrowser, aState);
},
@@ -112,30 +112,49 @@ var monkeysphere = {
// MAIN SITE CHECK FUNCTION
////////////////////////////////////////////////////////////
- checkSite: function(browser, state) {
+ //////////////////////////////////////////
+ // check uri is relevant to monkeysphere
+ isRelevantURI: function(uri) {
////////////////////////////////////////
- // check uri
+ // check host
try {
- var uri = browser.currentURI;
+ var host = uri.host;
} catch(e) {
- monkeysphere.log("no uri data available.");
- return;
+ monkeysphere.log("host data empty.");
+ return null;
}
////////////////////////////////////////
- // check host
- if(!uri.host) {
- monkeysphere.log("host empty.");
- return;
+ // check scheme
+ try {
+ var scheme = uri.scheme;
+ } catch(e) {
+ monkeysphere.log("scheme data empty.");
+ return null;
}
+ monkeysphere.log("uri: " + uri.asciiSpec);
+
////////////////////////////////////////
// test for https
- if(uri.scheme != "https") {
+ if(scheme != "https") {
monkeysphere.log("scheme not https.");
- return;
+ return null;
}
+ // else, if uri looks ok, continue
+ return true;
+ },
+
+ //////////////////////////////////////////
+ // check site monkeysphere status
+ checkSite: function(browser, state) {
+ var uri = browser.currentURI;
+
+ // if uri not relevant, return
+ if(!monkeysphere.isRelevantURI(uri))
+ return;
+
////////////////////////////////////////
// check browser state
monkeysphere.log("checking security state: " + state);
@@ -171,12 +190,21 @@ var monkeysphere = {
////////////////////////////////////////////////////////////
// update status
updateStatus: function(uri) {
- if(monkeysphere.cache.isSet(uri)) {
- monkeysphere.setStatus(monkeysphere.cache.state(uri),
- monkeysphere.cache.message(uri));
- } else {
+ // return if uri not relevant
+ if(!monkeysphere.isRelevantURI(uri)) {
+ monkeysphere.setStatus();
+ return;
+ }
+
+ // clear status and return if no cache for this site
+ if(!monkeysphere.cache.isSet(uri)) {
monkeysphere.setStatus();
+ return;
}
+
+ // otherwise, set the status from the cache
+ monkeysphere.setStatus(monkeysphere.cache.state(uri),
+ monkeysphere.cache.message(uri));
},
////////////////////////////////////////////////////////////
@@ -212,7 +240,7 @@ var monkeysphere = {
panel.hidden = false;
break;
case monkeysphere.states.NEUTRAL:
- monkeysphere.log("clearing status (NEUTRAL).");
+ monkeysphere.log("set status: NEUTRAL.");
icon.setAttribute("src", "");
panel.hidden = true;
break;
@@ -224,8 +252,9 @@ var monkeysphere = {
panel.hidden = false;
break;
}
+
if(message) {
- monkeysphere.log("set message: " + message);
+ monkeysphere.log("\tmessage: " + message);
panel.setAttribute("tooltiptext", message);
}
},
@@ -252,6 +281,9 @@ var monkeysphere = {
set: function(uri, state, cert, message) {
var uid = monkeysphere.uid(uri);
monkeysphere.log("set cache: " + uid);
+ monkeysphere.log("\tstate: " + state);
+ monkeysphere.log("\tcert: " + cert.sha1Fingerprint);
+ monkeysphere.log("\tmessage: " + message);
if(!monkeysphere.cache.array[uid])
monkeysphere.cache.array[uid] = {};
monkeysphere.cache.array[uid].state = state;
@@ -372,13 +404,14 @@ var monkeysphere = {
if (client.readyState == 4) {
if (client.status == 200) {
+
var response = JSON.parse(client.responseText);
- monkeysphere.log("validation agent response:");
- monkeysphere.log(" message: " + response.message);
+
if (response.valid) {
// VALID!
monkeysphere.log("SITE VERIFIED!");
+ monkeysphere.log("response message: " + response.message);
monkeysphere.cache.set(uri, monkeysphere.states.VALID, cert, response.message);
// set security override
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/xul-ext-monkeysphere.git
More information about the Pkg-privacy-commits
mailing list