Skip to content

Commit 9121444

Browse files
committed
Merge branch '4.0'
Conflicts: makexpi.sh src/Changelog src/chrome/content/about.xul src/chrome/content/rules/Akamai.xml src/chrome/content/rules/Atlassian.xml src/chrome/content/rules/Blockchain.info.xml src/chrome/content/rules/Blockchainbdgpzk.onion.xml src/chrome/content/rules/CCC.xml src/chrome/content/rules/CommonDreams.xml src/chrome/content/rules/Disqus.com.xml src/chrome/content/rules/F5.xml src/chrome/content/rules/Freedom.Press.xml src/chrome/content/rules/HostGator.xml src/chrome/content/rules/ICANN.xml src/chrome/content/rules/KernelOrg.xml src/chrome/content/rules/LI_CDN.com.xml src/chrome/content/rules/LinkedIn.xml src/chrome/content/rules/Mozilla.xml src/chrome/content/rules/RobotShop.xml src/chrome/content/rules/SSLlabs.xml src/chrome/content/rules/Societyforscience.org.xml src/chrome/content/rules/The-Nation.xml src/components/https-everywhere.js src/install.rdf
2 parents 41cf3b8 + bb983a9 commit 9121444

File tree

10 files changed

+29
-37
lines changed

10 files changed

+29
-37
lines changed

chromium/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@
3838
"<all_urls>"
3939
],
4040
"update_url": "https://www.eff.org/files/https-everywhere-chrome-updates.xml",
41-
"version": "2014.11.25"
41+
"version": "2015.1.22"
4242
}

src/Changelog

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@
1212
* Support for multi-process Firefox (aka electrolysis or e10s).
1313
* Merge latest rulesets.
1414

15-
4.0.2 (2014-10-15)
15+
Firefox 4.0.3 / Chrome-2015.01.22 (2015-01-22)
16+
* Ruleset updates.
17+
* Update SSL Observatory code to match Firefox API changes in hashing.
18+
* Bring code in line with guidelines for addons.mozilla.org.
19+
20+
4.0.2 (2014-10-15)
1621
* Disable SSL 3 to Prevent POODLE attack:
1722
https://github.com/EFForg/https-everywhere/pull/674
1823
* NEW: HTTP Nowhere mode. Block all plaintext http

src/chrome/content/code/ApplicableList.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,13 +210,9 @@ ApplicableList.prototype = {
210210

211211
add_command: function(rule) {
212212
var command = this.document.createElement("command");
213-
if (typeof rule.id !== 'number') {
214-
this.log(WARN, "Rule has invalid id " + rule.id);
215-
return;
216-
}
217-
command.setAttribute('id', rule.id+'-command');
213+
command.setAttribute('id', JSON.stringify(rule.id)+'-command');
218214
command.setAttribute('label', rule.name);
219-
command.setAttribute('oncommand', 'toggle_rule("'+rule.id+'")');
215+
command.setAttribute('oncommand', 'toggle_rule("'+JSON.stringify(rule.id)+'")');
220216
this.commandset.appendChild(command);
221217
},
222218

src/chrome/content/code/ChannelReplacement.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
2+
13
function CtxCapturingListener(tracingChannel, captureObserver) {
24
this.originalListener = tracingChannel.setNewListener(this);
35
this.captureObserver = captureObserver;
@@ -13,7 +15,7 @@ CtxCapturingListener.prototype = {
1315
},
1416
onDataAvailable: function(request, ctx, inputStream, offset, count) {},
1517
onStopRequest: function(request, ctx, statusCode) {},
16-
QueryInterface: xpcom_generateQI([Ci.nsIStreamListener])
18+
QueryInterface: XPCOMUtils.generateQI([Ci.nsIStreamListener])
1719
};
1820

1921
function ChannelReplacement(chan, newURI, newMethod) {
@@ -211,7 +213,7 @@ ChannelReplacement.prototype = {
211213

212214
_redirectCallback: ("nsIAsyncVerifyRedirectCallback" in Ci)
213215
? {
214-
QueryInterface: xpcom_generateQI([Ci.nsIAsyncVerifyRedirectCallback]),
216+
QueryInterface: XPCOMUtils.generateQI([Ci.nsIAsyncVerifyRedirectCallback]),
215217
onRedirectVerifyCallback: function(result) {}
216218
}
217219
: null
@@ -332,7 +334,7 @@ function LoadGroupWrapper(channel, callback) {
332334
channel.loadGroup = this;
333335
}
334336
LoadGroupWrapper.prototype = {
335-
QueryInterface: xpcom_generateQI([Ci.nsILoadGroup]),
337+
QueryInterface: XPCOMUtils.generateQI([Ci.nsILoadGroup]),
336338

337339
get activeCount() {
338340
return this._inner ? this._inner.activeCount : 0;
@@ -380,7 +382,7 @@ LoadGroupWrapper.prototype = {
380382
if (this._channel.loadGroup) this._channel.loadGroup = this._inner;
381383
},
382384
_emptyEnum: {
383-
QueryInterface: xpcom_generateQI([Ci.nsISimpleEnumerator]),
385+
QueryInterface: XPCOMUtils.generateQI([Ci.nsISimpleEnumerator]),
384386
getNext: function() { return null; },
385387
hasMoreElements: function() { return false; }
386388
}

src/chrome/content/code/Cookie.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
2+
13
function Cookie(s, host) {
24
this.parse(s, host);
35
}
@@ -143,6 +145,6 @@ Cookie.prototype = {
143145
get isDomain() { return this.domain && this.domain[0] == '.'; },
144146
policy: 0,
145147
status: 0,
146-
QueryInterface: xpcom_generateQI([Ci.nsICookie, Ci.nsICookie2])
148+
QueryInterface: XPCOMUtils.generateQI([Ci.nsICookie, Ci.nsICookie2])
147149

148150
};

src/chrome/content/code/IOUtil.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
2+
13
const IO = {
24
readFile: function(file, charset) {
35
var res;
@@ -57,7 +59,7 @@ function nsISupportsWrapper(wrapped) {
5759
this.wrappedJSObject = wrapped;
5860
}
5961
nsISupportsWrapper.prototype = {
60-
QueryInterface: xpcom_generateQI([])
62+
QueryInterface: XPCOMUtils.generateQI([])
6163
};
6264

6365
const IOUtil = {

src/chrome/content/fetch-source.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ httpsEverywhere.fetchSource = {
2727
CI: Components.interfaces,
2828

2929
// Constants for generating URL from which source will be fetched
30-
BASE_SITE: 'https://gitweb.torproject.org/https-everywhere.git/blob_plain/',
30+
BASE_SITE: 'https://gitweb.torproject.org/https-everywhere.git/plain/',
3131
DIRECTORY: '/src/chrome/content/rules/',
3232
HEAD_STRING: 'HEAD',
3333

@@ -58,7 +58,7 @@ httpsEverywhere.fetchSource = {
5858
*/
5959
getURL: function(filename, GITCommitID) {
6060
var fs = httpsEverywhere.fetchSource;
61-
return fs.BASE_SITE + GITCommitID + ":" + fs.DIRECTORY + filename;
61+
return fs.BASE_SITE + fs.DIRECTORY + filename + "?h=" + GITCommitID;
6262
},
6363

6464
/**

src/chrome/content/rules/MediaTemple.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
- ac.mediatemple.net
4747
4848
-->
49-
<ruleset name="Media Temple (partial)">
49+
<ruleset name="Media Temple (partial)" default_off="Needs ruleset tests">
5050

5151
<target host="gridserver.com" />
5252
<target host="*.gridserver.com" />
@@ -57,6 +57,10 @@
5757
-->
5858
<exclusion pattern="^http://mediatemple\.net/blog(?:$|[?/])" />
5959
<target host="*.mt-cdn.net" />
60+
<!--
61+
Redirects to http:
62+
-->
63+
<exclusion pattern="^http://mediatemple\.net/blog(?:$|[?/])" />
6064

6165

6266
<!-- Not secured by server:

src/components/https-everywhere.js

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -114,17 +114,6 @@ var ABE = {
114114
}
115115
};
116116

117-
function xpcom_generateQI(iids) {
118-
var checks = [];
119-
for each (var iid in iids) {
120-
checks.push("CI." + iid.name + ".equals(iid)");
121-
}
122-
var src = checks.length
123-
? "if (" + checks.join(" || ") + ") return this;\n"
124-
: "";
125-
return new Function("iid", src + "throw Components.results.NS_ERROR_NO_INTERFACE;");
126-
}
127-
128117
function xpcom_checkInterfaces(iid,iids,ex) {
129118
for (var j = iids.length; j-- >0;) {
130119
if (iid.equals(iids[j])) return true;
@@ -159,14 +148,6 @@ function HTTPSEverywhere() {
159148
this.httpNowhereEnabled = this.prefs.getBoolPref("http_nowhere.enabled");
160149
this.isMobile = this.doMobileCheck();
161150

162-
// Disable SSLv3 to prevent POODLE attack.
163-
// https://www.imperialviolet.org/2014/10/14/poodle.html
164-
var root_prefs = this.get_prefs(PREFBRANCH_NONE);
165-
var TLS_MIN = "security.tls.version.min";
166-
if (root_prefs.getIntPref(TLS_MIN) < 1) {
167-
root_prefs.setIntPref(TLS_MIN, 1);
168-
}
169-
170151
// We need to use observers instead of categories for FF3.0 for these:
171152
// https://developer.mozilla.org/en/Observer_Notifications
172153
// https://developer.mozilla.org/en/nsIObserverService.

src/install.rdf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<Description>
2424
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
2525
<em:minVersion>20.0</em:minVersion>
26-
<em:maxVersion>37.0</em:maxVersion>
26+
<em:maxVersion>99.*</em:maxVersion>
2727
</Description>
2828
</em:targetApplication>
2929
<!-- Seamonkey -->

0 commit comments

Comments
 (0)