commit 6ca61602cfb82a47124b072ae6a5f10a93bcd94b
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu Nov 11 00:20:35 2021 +0000
Bug 40383: Workaround issue in https-e wasm
---
...01-Bug-40383-Disable-https-e-wasm-ruleset.patch | 26 ++++++++++++++++++++++
projects/https-everywhere/build | 5 +++++
projects/https-everywhere/config | 2 ++
3 files changed, 33 insertions(+)
diff --git a/projects/https-everywhere/0001-Bug-40383-Disable-https-e-wasm-ruleset.patch b/projects/https-everywhere/0001-Bug-40383-Disable-https-e-wasm-ruleset.patch
new file mode 100644
index 0000000..87befad
--- /dev/null
+++ b/projects/https-everywhere/0001-Bug-40383-Disable-https-e-wasm-ruleset.patch
@@ -0,0 +1,26 @@
+From 647aa186351f7a6ee6050e0a3a2bde7ccf5a8192 Mon Sep 17 00:00:00 2001
+From: Matthew Finkel <sysrqb(a)torproject.org>
+Date: Wed, 10 Nov 2021 20:00:18 +0000
+Subject: [PATCH] Bug 40383: Disable https-e wasm ruleset
+
+---
+ chromium/background-scripts/rules.js | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/background-scripts/rules.js b/chromium/background-scripts/rules.js
+index 7f0a5b5506..55a3f75094 100644
+--- a/chromium/background-scripts/rules.js
++++ b/chromium/background-scripts/rules.js
+@@ -216,7 +216,8 @@ RuleSets.prototype = {
+ this.store = store;
+ this.ruleActiveStates = await this.store.get_promise('ruleActiveStates', {});
+ try {
+- this.wasm_rs = wasm.RuleSets.new();
++ // Bug 40383: Disable wasm ruleset for now.
++ //this.wasm_rs = wasm.RuleSets.new();
+ } catch(e) {
+ util.log(util.WARN, 'Falling back to pure JS implementation: ' + e);
+ }
+--
+2.25.1
+
diff --git a/projects/https-everywhere/build b/projects/https-everywhere/build
index 10dd4bf..4719fd6 100644
--- a/projects/https-everywhere/build
+++ b/projects/https-everywhere/build
@@ -2,6 +2,11 @@
[% c("var/set_default_env") -%]
tar xf [% project %]-[% c('version') %].tar.gz
cd [% project %]-[% c('version') %]
+
+[% IF c("var/windows") %]
+ patch -p1 < $rootdir/0001-Bug-40383-Disable-https-e-wasm-ruleset.patch
+[% END -%]
+
./make.sh
# Since 5.0.2 a .xpi for AMO is built, too. We don't need it.
rm pkg/*-amo.xpi
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 9af5ff6..012680a 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -33,3 +33,5 @@ var:
input_files:
- project: container-image
+ - filename: 0001-Bug-40383-Disable-https-e-wasm-ruleset.patch
+ enable: '[% c("var/windows") %]'