Skip to content

Commit e9a1c82

Browse files
committed
Cosmetic improvements to Mike's patch:
- avoid complex indentation - delete the API hook that we aren't using
1 parent e32384d commit e9a1c82

1 file changed

Lines changed: 40 additions & 60 deletions

File tree

src/components/ssl-observatory.js

Lines changed: 40 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,8 @@ SSLObservatory.prototype = {
311311
},
312312

313313
// onSecurity is used to listen for bad cert warnings
314+
// There is also onSecurityStateChange, but it does not handle subdocuments. See git
315+
// history for an implementation stub.
314316
onStateChange: function(aProgress, aRequest, aState, aStatus) {
315317
if (!aRequest) return;
316318
var chan = null;
@@ -330,29 +332,6 @@ SSLObservatory.prototype = {
330332
}
331333
},
332334

333-
// onSecurityStateChange is used to listen for bad cert warnings
334-
// XXX: This is disabled. It does not handle subdocuments, but onStateChange does.
335-
onSecurityChange: function(aProgress, aRequest, aState) {
336-
if (!aRequest) return;
337-
var chan = null;
338-
try {
339-
chan = aRequest.QueryInterface(Ci.nsIHttpChannel);
340-
} catch(e) {
341-
return;
342-
}
343-
if (chan) {
344-
if (!this.observatoryActive(chan)) return;
345-
this.log(INFO, "Got security state change for "
346-
+ chan.originalURI.spec + "->" + chan.URI.spec + ", state: " + aState);
347-
var certchain = this.getSSLCertChain(chan);
348-
if (certchain) {
349-
this.log(INFO, "Got cert chain for "
350-
+ chan.originalURI.spec + "->" + chan.URI.spec + ", state: " + aState);
351-
this.submitCertChainForChannel(certchain, chan);
352-
}
353-
}
354-
},
355-
356335
observe: function(subject, topic, data) {
357336
if (topic == "cookie-changed" && data == "cleared") {
358337
this.already_submitted = {};
@@ -390,46 +369,47 @@ SSLObservatory.prototype = {
390369
},
391370

392371
submitCertChainForChannel: function(certchain, channel) {
393-
if (certchain) {
394-
var host_ip = "-1";
395-
var httpchannelinternal = channel.QueryInterface(Ci.nsIHttpChannelInternal);
396-
try {
397-
host_ip = httpchannelinternal.remoteAddress;
398-
} catch(e) {
399-
this.log(INFO, "Could not get server IP address.");
400-
}
372+
if (!certchain) {
373+
return;
374+
}
375+
var host_ip = "-1";
376+
var httpchannelinternal = channel.QueryInterface(Ci.nsIHttpChannelInternal);
377+
try {
378+
host_ip = httpchannelinternal.remoteAddress;
379+
} catch(e) {
380+
this.log(INFO, "Could not get server IP address.");
381+
}
401382

402-
channel.QueryInterface(Ci.nsIHttpChannel);
403-
var chainEnum = certchain.getChain();
404-
var chainArray = [];
405-
var chainArrayFpStr = '';
406-
var fps = [];
407-
for(var i = 0; i < chainEnum.length; i++) {
408-
var cert = chainEnum.queryElementAt(i, Ci.nsIX509Cert);
409-
chainArray.push(cert);
410-
var fp = this.ourFingerprint(cert);
411-
fps.push(fp);
412-
chainArrayFpStr = chainArrayFpStr + fp;
413-
}
414-
var chain_hash = sha256_digest(chainArrayFpStr).toUpperCase();
415-
this.log(INFO, "SHA-256 hash of cert chain for "+new String(channel.URI.host)+" is "+ chain_hash);
383+
channel.QueryInterface(Ci.nsIHttpChannel);
384+
var chainEnum = certchain.getChain();
385+
var chainArray = [];
386+
var chainArrayFpStr = '';
387+
var fps = [];
388+
for(var i = 0; i < chainEnum.length; i++) {
389+
var cert = chainEnum.queryElementAt(i, Ci.nsIX509Cert);
390+
chainArray.push(cert);
391+
var fp = this.ourFingerprint(cert);
392+
fps.push(fp);
393+
chainArrayFpStr = chainArrayFpStr + fp;
394+
}
395+
var chain_hash = sha256_digest(chainArrayFpStr).toUpperCase();
396+
this.log(INFO, "SHA-256 hash of cert chain for "+new String(channel.URI.host)+" is "+ chain_hash);
416397

417-
if(!this.myGetBoolPref("use_whitelist")) {
418-
this.log(WARN, "Not using whitelist to filter cert chains.");
419-
}
420-
else if (this.isChainWhitelisted(chain_hash)) {
421-
this.log(INFO, "This cert chain is whitelisted. Not submitting.");
422-
return;
423-
}
424-
else {
425-
this.log(INFO, "Cert chain is NOT whitelisted. Proceeding with submission.");
426-
}
398+
if(!this.myGetBoolPref("use_whitelist")) {
399+
this.log(WARN, "Not using whitelist to filter cert chains.");
400+
}
401+
else if (this.isChainWhitelisted(chain_hash)) {
402+
this.log(INFO, "This cert chain is whitelisted. Not submitting.");
403+
return;
404+
}
405+
else {
406+
this.log(INFO, "Cert chain is NOT whitelisted. Proceeding with submission.");
407+
}
427408

428-
if (channel.URI.port == -1) {
429-
this.submitChainArray(chainArray, fps, new String(channel.URI.host), channel, host_ip, false);
430-
} else {
431-
this.submitChainArray(chainArray, fps, channel.URI.host+":"+channel.URI.port, channel, host_ip, false);
432-
}
409+
if (channel.URI.port == -1) {
410+
this.submitChainArray(chainArray, fps, new String(channel.URI.host), channel, host_ip, false);
411+
} else {
412+
this.submitChainArray(chainArray, fps, channel.URI.host+":"+channel.URI.port, channel, host_ip, false);
433413
}
434414
},
435415

0 commit comments

Comments
 (0)