summaryrefslogtreecommitdiff
path: root/libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch
diff options
context:
space:
mode:
authorgrizzlyuser <grizzlyuser@protonmail.com>2021-04-21 13:04:13 +0300
committerbill-auger <mr.j.spam.me@gmail.com>2021-05-10 18:17:42 -0400
commita93245e60a120025711d77f64705e99aee01c1c2 (patch)
treee9c91c3044d33da540e4a4f6970ad031a626cde5 /libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch
parent259f930cbfae7463f10e8c4fc73fa788c8ebd105 (diff)
downloadabslibre-a93245e60a120025711d77f64705e99aee01c1c2.tar.gz
abslibre-a93245e60a120025711d77f64705e99aee01c1c2.tar.bz2
abslibre-a93245e60a120025711d77f64705e99aee01c1c2.zip
libre/iceweasel: 88.0 update according to upstream
Diffstat (limited to 'libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch')
-rw-r--r--libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch163
1 files changed, 81 insertions, 82 deletions
diff --git a/libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch b/libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch
index 9ca7caec8..79d53a45f 100644
--- a/libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch
+++ b/libre/iceweasel/9001-always-sync-remote-settings-with-local-dump.patch
@@ -1,4 +1,4 @@
-From c115ebc66ae779c18128e0b815fcf29da268a4f8 Mon Sep 17 00:00:00 2001
+From 15cacd9bfdb9c08def24e780d83bb8dd672c711f Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 17:20:39 +0200
Subject: [PATCH 01/13] Point to local omni.ja files, not remote server
@@ -22,10 +22,10 @@ If necessary, missing files can be added later.
9 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-index 8c5e540bd2..329e4e66f9 100644
+index e0d8e45cc0..4cb5fca1c6 100644
--- a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
+++ b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-@@ -1260,7 +1260,7 @@ export class ASRouterAdminInner extends React.PureComponent {
+@@ -1230,7 +1230,7 @@ export class ASRouterAdminInner extends React.PureComponent {
<a
className="providerUrl"
target="_blank"
@@ -35,11 +35,11 @@ index 8c5e540bd2..329e4e66f9 100644
>
nimbus-desktop-experiments
diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js
-index fb6d64d432..d8213e7e20 100644
+index 5227e5af81..427759dcfe 100644
--- a/browser/components/newtab/data/content/activity-stream.bundle.js
+++ b/browser/components/newtab/data/content/activity-stream.bundle.js
-@@ -1835,7 +1835,7 @@ class ASRouterAdminInner extends react__WEBPACK_IMPORTED_MODULE_4___default.a.Pu
- label = react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("span", null, "remote settings (", react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("a", {
+@@ -1841,7 +1841,7 @@ class ASRouterAdminInner extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Pu
+ label = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", null, "remote settings (", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a", {
className: "providerUrl",
target: "_blank",
- href: "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/nimbus-desktop-experiments/records",
@@ -48,10 +48,10 @@ index fb6d64d432..d8213e7e20 100644
}, "nimbus-desktop-experiments"), ")");
}
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index 2406affed4..907e8ebcef 100644
+index 1ed81b6f53..edca292681 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
-@@ -2250,7 +2250,7 @@ pref("security.cert_pinning.hpkp.enabled", false);
+@@ -2210,7 +2210,7 @@ pref("security.cert_pinning.hpkp.enabled", false);
// Remote settings preferences
// Note: if you change this, make sure to also review security.onecrl.maximum_staleness_in_seconds
pref("services.settings.poll_interval", 86400); // 24H
@@ -61,7 +61,7 @@ index 2406affed4..907e8ebcef 100644
// The percentage of clients who will report uptake telemetry as
diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index 66df850904..0df0fdc677 100644
+index ee23591a6a..ef91781ac6 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
@@ -60,11 +60,11 @@ var Utils = {
@@ -73,13 +73,13 @@ index 66df850904..0df0fdc677 100644
: gServerURL;
},
-- CHANGES_PATH: "/buckets/monitor/collections/changes/records",
+- CHANGES_PATH: "/buckets/monitor/collections/changes/changeset",
+ CHANGES_PATH: "/monitor/changes.json",
/**
* Logger instance.
diff --git a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
-index c2492615e0..2b10ad01f6 100755
+index 7764777c1a..3c8db49743 100755
--- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
+++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
@@ -279,7 +279,7 @@ function compare_suffix_lists {
@@ -92,10 +92,10 @@ index c2492615e0..2b10ad01f6 100755
# 1. List remote settings collections from server.
echo "INFO: fetch remote settings list from server"
diff --git a/toolkit/components/search/SearchUtils.jsm b/toolkit/components/search/SearchUtils.jsm
-index 278f9f9c08..7bac023c11 100644
+index 8a3c6acb84..b0a9c4b86f 100644
--- a/toolkit/components/search/SearchUtils.jsm
+++ b/toolkit/components/search/SearchUtils.jsm
-@@ -139,13 +139,13 @@ var SearchUtils = {
+@@ -159,13 +159,13 @@ var SearchUtils = {
ENGINES_URLS: {
"prod-main":
@@ -114,10 +114,10 @@ index 278f9f9c08..7bac023c11 100644
// The following constants are left undocumented in nsISearchService.idl
diff --git a/toolkit/components/search/docs/DefaultSearchEngines.rst b/toolkit/components/search/docs/DefaultSearchEngines.rst
-index 5668646648..deb7d20185 100644
+index 0648471396..37948dca31 100644
--- a/toolkit/components/search/docs/DefaultSearchEngines.rst
+++ b/toolkit/components/search/docs/DefaultSearchEngines.rst
-@@ -63,4 +63,4 @@ is updated.
+@@ -86,4 +86,4 @@ is updated.
.. _configuration schema: SearchConfigurationSchema.html
.. _remote settings: /services/common/services/RemoteSettings.html
@@ -148,10 +148,10 @@ index 667d9fc628..b2bf628f29 100644
#define PROD_CID "windows-default-browser-agent"
#define PROD_ID "state"
--
-2.30.0
+2.31.1
-From f76e1c055def541e358886d0e73ba4710d3e5084 Mon Sep 17 00:00:00 2001
+From f1e92b5fb7844a57ad63d8a52b4867db9817fc14 Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 17:34:08 +0200
Subject: [PATCH 02/13] Remove polling triggered by push broadcasts
@@ -168,10 +168,10 @@ service.
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/dom/push/PushBroadcastService.jsm b/dom/push/PushBroadcastService.jsm
-index 27ed31ee9c..71f1316994 100644
+index aa1504211d..d635a2c3aa 100644
--- a/dom/push/PushBroadcastService.jsm
+++ b/dom/push/PushBroadcastService.jsm
-@@ -179,6 +179,19 @@ var BroadcastService = class {
+@@ -178,6 +178,19 @@ var BroadcastService = class {
}
}
@@ -216,10 +216,10 @@ index 6d0185faf9..aae93fa440 100644
},
};
--
-2.30.0
+2.31.1
-From fcf60ef5835e673e03807d898f90e48907f44e63 Mon Sep 17 00:00:00 2001
+From 3054d3efe22802ab5503dd812e0a0283bbd791f1 Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 17:41:54 +0200
Subject: [PATCH 03/13] Remove timer that triggers polling for changes
@@ -260,10 +260,10 @@ index 3bfed26ea4..807eb220ec 100644
-# see syntax https://searchfox.org/mozilla-central/rev/cc280c4be94ff8cf64a27cc9b3d6831ffa49fa45/toolkit/components/timermanager/UpdateTimerManager.jsm#155
-category update-timer RemoteSettingsComponents @mozilla.org/services/settings;1,getService,services-settings-poll-changes,services.settings.poll_interval,86400,259200
--
-2.30.0
+2.31.1
-From 8600d50c402f523973f67dfb03c1ea8614fcf48c Mon Sep 17 00:00:00 2001
+From c856641861ca70da2d5aa720e402f2e505ebe5ac Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 17:47:41 +0200
Subject: [PATCH 04/13] Utils: fetch timestamps of each collection locally
@@ -275,17 +275,17 @@ timestamps from that file and mock response headers to not confuse any
code that expects them.
---
browser/installer/package-manifest.in | 1 +
- services/settings/Utils.jsm | 14 ++++++++++++--
+ services/settings/Utils.jsm | 13 ++++++++++++-
services/settings/dumps/monitor/moz.build | 8 ++++++++
services/settings/dumps/moz.build | 1 +
- 4 files changed, 22 insertions(+), 2 deletions(-)
+ 4 files changed, 22 insertions(+), 1 deletion(-)
create mode 100644 services/settings/dumps/monitor/moz.build
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
-index 75c79a7168..ac01689596 100644
+index ec20499166..c618c02a8f 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -295,6 +295,7 @@
+@@ -298,6 +298,7 @@
@RESPATH@/browser/defaults/settings/blocklists
@RESPATH@/browser/defaults/settings/pinning
@RESPATH@/browser/defaults/settings/main
@@ -294,44 +294,45 @@ index 75c79a7168..ac01689596 100644
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index 0df0fdc677..0e631ddc0d 100644
+index ef91781ac6..8736951968 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -145,7 +145,7 @@ var Utils = {
- // "collection":"certificates"
- // }]}
+@@ -150,7 +150,7 @@ var Utils = {
+ async fetchLatestChanges(serverUrl, options = {}) {
+ const { expectedTimestamp, lastEtag = "", filters = {} } = options;
- let url = serverUrl + Utils.CHANGES_PATH;
+ let url = Utils.SERVER_URL + Utils.CHANGES_PATH;
-
- // Use ETag to obtain a `304 Not modified` when no change occurred,
- // and `?_since` parameter to only keep entries that weren't processed yet.
+ const params = {
+ ...filters,
+ _expected: expectedTimestamp ?? 0,
@@ -166,6 +166,9 @@ var Utils = {
.join("&");
}
- const response = await fetch(url, { headers });
+ const response = await fetch(url);
+ const responseDate = new Date().toUTCString()
+ response.headers.set("Date", responseDate);
+ response.headers.set("Last-Modified", responseDate);
- let changes = [];
- // If no changes since last time, go on with empty list of changes.
-@@ -203,7 +206,14 @@ var Utils = {
- );
- }
- } else {
-- changes = payload.data;
-+ const { bucket, collection } = filters;
-+ if (!bucket || !collection) {
-+ throw new Error('Unable to fetch latest change without bucket or collection');
-+ }
-+ const change = payload.data.find(
-+ change => change.bucket === bucket && change.collection === collection
-+ ) ?? { last_modified: 0, bucket, collection };
-+ changes = [change];
+ if (response.status >= 500) {
+ throw new Error(`Server error ${response.status} ${response.statusText}`);
+@@ -200,7 +194,15 @@ var Utils = {
}
}
- // The server should always return ETag. But we've had situations where the CDN
+
+- const { changes = [], timestamp } = payload;
++ const { timestamp } = payload;
++ const { bucket, collection } = filters;
++ if (!bucket || !collection) {
++ throw new Error('Unable to fetch latest change without bucket or collection');
++ }
++ const change = payload.changes.find(
++ change => change.bucket === bucket && change.collection === collection
++ ) ?? { last_modified: 0, bucket, collection };
++ const changes = [change];
+
+ let serverTimeMillis = Date.parse(response.headers.get("Date"));
+ // Since the response is served via a CDN, the Date header value could have been cached.
diff --git a/services/settings/dumps/monitor/moz.build b/services/settings/dumps/monitor/moz.build
new file mode 100644
index 0000000000..d3d017fda5
@@ -359,10 +360,10 @@ index 3cc9436f61..3742da5667 100644
"security-state",
]
--
-2.30.0
+2.31.1
-From 99af961e47d810c965c0145f19a92eedec1abafc Mon Sep 17 00:00:00 2001
+From a0f311bed359d484fbf85e696b5b7e3a288292f8 Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 17:52:10 +0200
Subject: [PATCH 05/13] Utils: disable offline checking
@@ -374,7 +375,7 @@ current and any future code that relies on it.
1 file changed, 9 deletions(-)
diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index 0e631ddc0d..d034d8ea78 100644
+index 8736951968..8ac085feea 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
@@ -80,15 +80,6 @@ var Utils = {
@@ -394,10 +395,10 @@ index 0e631ddc0d..d034d8ea78 100644
},
--
-2.30.0
+2.31.1
-From 55830695a1e2457aecca1392d46c98c3e210d58a Mon Sep 17 00:00:00 2001
+From 95e4979573c79c987160a71e913c7564de22127f Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 17:56:02 +0200
Subject: [PATCH 06/13] Refactor hashing logic to a separate function
@@ -448,10 +449,10 @@ index db5017a742..1a8e83c2e8 100644
/**
--
-2.30.0
+2.31.1
-From 9dc19397aebfb6b9f74afa0fb4d653a29e14e964 Mon Sep 17 00:00:00 2001
+From daac032f8a4e12451cda9ec6b1eca29f5a35521f Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 18:05:02 +0200
Subject: [PATCH 07/13] Client: Fetch and hash records from local dump
@@ -587,10 +588,10 @@ index 80dd563e11..1025ab33a2 100644
remoteRecords,
};
--
-2.30.0
+2.31.1
-From 4dfbb2ccacd011b05839c19127942b497141f2a1 Mon Sep 17 00:00:00 2001
+From 4d36e599e6b24e10960ebb978c038c66c5ade06d Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 18:42:56 +0200
Subject: [PATCH 08/13] Client: start deferred sync on get() or on()
@@ -608,11 +609,11 @@ false, it triggers a sync. Then adds a flag if the client has been
correctly synchronized with the dump, so that no metadata checking
occurs during the session.
---
- services/settings/RemoteSettingsClient.jsm | 32 ++++++++++++++++++++--
- 1 file changed, 30 insertions(+), 2 deletions(-)
+ services/settings/RemoteSettingsClient.jsm | 30 +++++++++++++++++++++-
+ 1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 1025ab33a2..253251823a 100644
+index 1025ab33a2..1cebf2bc29 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
@@ -16,6 +16,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
@@ -658,19 +659,17 @@ index 1025ab33a2..253251823a 100644
get identifier() {
return `${this.bucketName}/${this.collectionName}`;
}
-@@ -353,7 +368,11 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -353,6 +368,10 @@ class RemoteSettingsClient extends EventEmitter {
try {
let hasLocalData = await Utils.hasLocalData(this);
-- if (syncIfEmpty && !hasLocalData) {
+ if (!(await this._isSynced())) {
+ throw new MissingSignatureError(this.identifier);
+ }
+
-+ if (syncIfEmpty && !hasLocalData) {
+ if (syncIfEmpty && !hasLocalData) {
// .get() was called before we had the chance to synchronize the local database.
// We'll try to avoid returning an empty list.
- if (!this._importingPromise) {
@@ -414,7 +433,10 @@ class RemoteSettingsClient extends EventEmitter {
// No need to verify signature on JSON dumps.
// If local DB cannot be read, then we don't even try to do anything,
@@ -697,10 +696,10 @@ index 1025ab33a2..253251823a 100644
* Synchronize the local database with the remote server.
*
--
-2.30.0
+2.31.1
-From 89dc912d08b7d4eed113439efa17dce57eda106e Mon Sep 17 00:00:00 2001
+From defc4080596f5407a98f0c9f1a456f685226054f Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 18:53:51 +0200
Subject: [PATCH 09/13] Client: deep compare records if timestamps match
@@ -722,7 +721,7 @@ noticeable performance issues.
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 253251823a..b45a55919c 100644
+index 1cebf2bc29..2c18c5cfb6 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
@@ -13,6 +13,7 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
@@ -746,10 +745,10 @@ index 253251823a..b45a55919c 100644
}
} else {
--
-2.30.0
+2.31.1
-From 5f4207fd155c2dae802522070627c34ced6a192e Mon Sep 17 00:00:00 2001
+From c2ee19f01bc37e15c7742af8a502ffaa10745a52 Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 19:01:39 +0200
Subject: [PATCH 10/13] Client: delete more data on cleanup
@@ -767,7 +766,7 @@ logic gets the data about the attachments from those records.
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index b45a55919c..3dbd972f87 100644
+index 2c18c5cfb6..8b65dc0cba 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
@@ -221,7 +221,10 @@ class AttachmentDownloader extends Downloader {
@@ -814,10 +813,10 @@ index b45a55919c..3dbd972f87 100644
* Fetch information from changeset endpoint.
*
--
-2.30.0
+2.31.1
-From b3c304e2fe95d0a75c524a5aa96a68a34ce2ae34 Mon Sep 17 00:00:00 2001
+From 56d2af487f7077753ea4df6bd0b1e6c91ed7ab9f Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 19:07:56 +0200
Subject: [PATCH 11/13] Client: remove comparison of collection timestamps
@@ -832,7 +831,7 @@ necessary cleanup. So remove the checks.
1 file changed, 5 deletions(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 3dbd972f87..d319a77c27 100644
+index 8b65dc0cba..6274596591 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
@@ -917,14 +917,9 @@ class RemoteSettingsClient extends EventEmitter {
@@ -851,10 +850,10 @@ index 3dbd972f87..d319a77c27 100644
const start = Cu.now() * 1000;
await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, {
--
-2.30.0
+2.31.1
-From 804007d2861f829315e575660d47b9a4c430d151 Mon Sep 17 00:00:00 2001
+From c009c1a9ba2477c9335921b706256f115ecfd498 Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 19:15:44 +0200
Subject: [PATCH 12/13] Attachments: load only from dump and drop cached
@@ -942,10 +941,10 @@ index 0eeb632799..eaa7db8c81 100644
/**
--
-2.30.0
+2.31.1
-From 4ee3b715e10a5f9a5ef7830b047ae7f64e55e5f4 Mon Sep 17 00:00:00 2001
+From 2035bd7a6ce1816417b619d3f1ce994a8b44ce9d Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Wed, 30 Dec 2020 19:22:20 +0200
Subject: [PATCH 13/13] Disable CRLite entirely for now
@@ -970,7 +969,7 @@ certificate revocations.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index dba747cbbb..7dcabe01b2 100644
+index edca292681..da7e23d674 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -172,7 +172,7 @@ pref("security.cert_pinning.max_max_age_seconds", 5184000);
@@ -983,5 +982,5 @@ index dba747cbbb..7dcabe01b2 100644
// Represents the expected certificate transparency log merge delay (including
// the time to generate a CRLite filter). Currently 28 hours in seconds.
--
-2.30.0
+2.31.1