summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrizzlyuser <grizzlyuser@protonmail.com>2022-07-30 18:37:35 +0200
committerbill-auger <mr.j.spam.me@gmail.com>2022-08-01 23:50:59 -0400
commit694801dd02f2f478f0e67f2815adb09c9f95ffc2 (patch)
treeda06d3e858e69d52cdc569b9526e2cdb384fe42f
parent576120558380347d9f068960b8d7f54d0f4e1ac0 (diff)
libre/iceweasel: 103.0-1.parabola1
* Update patches according to upstream changes * Remove patching of more-from-mozilla-qr-code-advanced.svg, dropped upstream [1]. * Add removal of winapi-{i686,x86_64}-pc-windows-gnu folders as these seem to contain some suspicious prebuilt static libraries [2] WARNING!!! Links can lead to nonfree works, like JavaScript frontend code, especially on GitHub. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1767066 [2] https://github.com/retep998/winapi-rs/issues?q=license
-rw-r--r--libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch246
-rw-r--r--libre/iceweasel/9004-FSDG-misc.patch30
-rw-r--r--libre/iceweasel/PKGBUILD33
3 files changed, 146 insertions, 163 deletions
diff --git a/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch b/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
index 08ab1e2e8..6df6152c4 100644
--- a/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
+++ b/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
@@ -1,4 +1,4 @@
-From e2e22a52ee5e5cf9f7c55854b828bb65a919b563 Mon Sep 17 00:00:00 2001
+From e63cc6359790ab8d7139bf9cdf8e3b527ba780e6 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
@@ -47,10 +47,10 @@ index 0a9da8d804..fdc387aa63 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 3439547610..e4b170454c 100644
+index cb7c26e729..696813dd53 100644
--- a/browser/components/newtab/data/content/activity-stream.bundle.js
+++ b/browser/components/newtab/data/content/activity-stream.bundle.js
-@@ -1577,7 +1577,7 @@ class ASRouterAdminInner extends (external_React_default()).PureComponent {
+@@ -1576,7 +1576,7 @@ class ASRouterAdminInner extends (external_React_default()).PureComponent {
label = /*#__PURE__*/external_React_default().createElement("span", null, "remote settings (", /*#__PURE__*/external_React_default().createElement("a", {
className: "providerUrl",
target: "_blank",
@@ -60,10 +60,10 @@ index 3439547610..e4b170454c 100644
}, "nimbus-desktop-experiments"), ")");
}
diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index 31ad77d286..9f2e97f14c 100644
+index 23d6bf1a20..6f87bfa812 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -106,7 +106,7 @@ var Utils = {
+@@ -108,7 +108,7 @@ var Utils = {
: AppConstants.REMOTE_SETTINGS_SERVER_URL;
},
@@ -86,10 +86,10 @@ index 3bc70462c4..dc9592c9fa 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 0bf60e5f16..5561b885f6 100644
+index a3100fac89..3720829575 100644
--- a/toolkit/components/search/SearchUtils.jsm
+++ b/toolkit/components/search/SearchUtils.jsm
-@@ -158,13 +158,13 @@ var SearchUtils = {
+@@ -157,13 +157,13 @@ var SearchUtils = {
ENGINES_URLS: {
"prod-main":
@@ -129,10 +129,10 @@ index c782f9f7c3..4d773d27c5 100644
+.. _viewed live: resource://app/defaults/settings/main/search-config.json
.. _Normandy: /toolkit/components/normandy/normandy/services.html
diff --git a/toolkit/modules/AppConstants.jsm b/toolkit/modules/AppConstants.jsm
-index 7f8ac95dd9..fc34169ea5 100644
+index 9311d06758..fd87704d83 100644
--- a/toolkit/modules/AppConstants.jsm
+++ b/toolkit/modules/AppConstants.jsm
-@@ -420,9 +420,9 @@ this.AppConstants = Object.freeze({
+@@ -423,9 +423,9 @@ var AppConstants = Object.freeze({
REMOTE_SETTINGS_SERVER_URL:
#ifdef MOZ_THUNDERBIRD
@@ -158,10 +158,10 @@ index 667d9fc628..b2bf628f29 100644
#define PROD_CID "windows-default-browser-agent"
#define PROD_ID "state"
--
-2.37.0
+2.37.1
-From 9329ba8b85b542759a089818d70ba86d0a5b9a60 Mon Sep 17 00:00:00 2001
+From 1b75c1b90928d362b6b7723b57c3c0d501145807 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
@@ -174,11 +174,11 @@ the user profile, so that it doesn't get picked up by push broadcast
service.
---
dom/push/PushBroadcastService.jsm | 13 +++++++++++++
- services/settings/remote-settings.js | 7 ++-----
- 2 files changed, 15 insertions(+), 5 deletions(-)
+ services/settings/remote-settings.js | 11 ++---------
+ 2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/dom/push/PushBroadcastService.jsm b/dom/push/PushBroadcastService.jsm
-index 1ee7986f6a..db73413b1a 100644
+index 85c1bf6634..d2094ebb9c 100644
--- a/dom/push/PushBroadcastService.jsm
+++ b/dom/push/PushBroadcastService.jsm
@@ -179,6 +179,19 @@ var BroadcastService = class {
@@ -202,19 +202,23 @@ index 1ee7986f6a..db73413b1a 100644
* Call the listeners of the specified broadcasts.
*
diff --git a/services/settings/remote-settings.js b/services/settings/remote-settings.js
-index f7e8e24748..57d11d71b3 100644
+index bfe9226f88..01abff0fb1 100644
--- a/services/settings/remote-settings.js
+++ b/services/settings/remote-settings.js
-@@ -533,7 +533,7 @@ function remoteSettingsFunction() {
+@@ -580,11 +580,7 @@ function remoteSettingsFunction() {
moduleURI: __URI__,
symbolName: "remoteSettingsBroadcastHandler",
};
-- pushBroadcastService.addListener(BROADCAST_ID, currentVersion, moduleInfo);
-+ pushBroadcastService.deleteListener(BROADCAST_ID);
+- lazy.pushBroadcastService.addListener(
+- BROADCAST_ID,
+- currentVersion,
+- moduleInfo
+- );
++ lazy.pushBroadcastService.deleteListener(BROADCAST_ID);
};
return remoteSettings;
-@@ -553,9 +553,6 @@ var remoteSettingsBroadcastHandler = {
+@@ -604,9 +600,6 @@ var remoteSettingsBroadcastHandler = {
`Push notification received (version=${version} phase=${phase})`
);
@@ -226,10 +230,10 @@ index f7e8e24748..57d11d71b3 100644
},
};
--
-2.37.0
+2.37.1
-From 11631dd36d3eeecc5f22171d5e059fbe7662c77c Mon Sep 17 00:00:00 2001
+From 8b367f58916f12d73a392fa629673e3a797a1a64 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
@@ -270,10 +274,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.37.0
+2.37.1
-From d720d5680fa97ad53998b6050bc28df4503f0c39 Mon Sep 17 00:00:00 2001
+From ea39895fee8e1dcf71b8779d33ae641a30dca384 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
@@ -304,10 +308,10 @@ index 73a41dc25b..04c2a3fb6a 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 9f2e97f14c..4e140f0fdd 100644
+index 6f87bfa812..8f878754a5 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -377,7 +377,7 @@ var Utils = {
+@@ -380,7 +380,7 @@ var Utils = {
async fetchLatestChanges(serverUrl, options = {}) {
const { expectedTimestamp, lastEtag = "", filters = {} } = options;
@@ -316,7 +320,7 @@ index 9f2e97f14c..4e140f0fdd 100644
const params = {
...filters,
_expected: expectedTimestamp ?? 0,
-@@ -392,7 +392,11 @@ var Utils = {
+@@ -395,7 +395,11 @@ var Utils = {
.map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
.join("&");
}
@@ -329,7 +333,7 @@ index 9f2e97f14c..4e140f0fdd 100644
if (response.status >= 500) {
throw new Error(`Server error ${response.status} ${response.statusText}`);
-@@ -427,7 +431,15 @@ var Utils = {
+@@ -430,7 +434,15 @@ var Utils = {
}
}
@@ -373,10 +377,10 @@ index f407580bfa..53e9d8b45e 100644
]
--
-2.37.0
+2.37.1
-From 98496943d01589201771f69e14ba6b3cb7395e48 Mon Sep 17 00:00:00 2001
+From 442dd6b2fff0cd43c9e7e43d1d2bd63269ddc3c2 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
@@ -384,22 +388,23 @@ Subject: [PATCH 05/13] Utils: disable offline checking
Since only local data is read now, it should always return false for the
current and any future code that relies on it.
---
- services/settings/Utils.jsm | 9 ---------
- 1 file changed, 9 deletions(-)
+ services/settings/Utils.jsm | 10 ----------
+ 1 file changed, 10 deletions(-)
diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index 4e140f0fdd..5d448da54c 100644
+index 8f878754a5..fdf7181c14 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -192,15 +192,6 @@ var Utils = {
+@@ -194,16 +194,6 @@ var Utils = {
* @return {bool} Whether network is down or not.
*/
get isOffline() {
- try {
- return (
- Services.io.offline ||
-- CaptivePortalService.state == CaptivePortalService.LOCKED_PORTAL ||
-- !gNetworkLinkService.isLinkUp
+- lazy.CaptivePortalService.state ==
+- lazy.CaptivePortalService.LOCKED_PORTAL ||
+- !lazy.gNetworkLinkService.isLinkUp
- );
- } catch (ex) {
- log.warn("Could not determine network status.", ex);
@@ -408,10 +413,10 @@ index 4e140f0fdd..5d448da54c 100644
},
--
-2.37.0
+2.37.1
-From 738c1836a53ead5253ab3e0f9750aec94192dff0 Mon Sep 17 00:00:00 2001
+From c2f06f79b0d5d78ab3a81ec7f85053d7b3e761af 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
@@ -424,25 +429,25 @@ integrity checking of the locally cached data.
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/services/settings/RemoteSettingsWorker.jsm b/services/settings/RemoteSettingsWorker.jsm
-index 147ebb6b13..c86e218fd3 100644
+index 9fc1794f90..50e69f56a0 100644
--- a/services/settings/RemoteSettingsWorker.jsm
+++ b/services/settings/RemoteSettingsWorker.jsm
-@@ -189,6 +189,10 @@ class Worker {
+@@ -191,6 +191,10 @@ class Worker {
// task on the current thread instead of the worker thread.
- return SharedUtils.checkContentHash(buffer, size, hash);
+ return lazy.SharedUtils.checkContentHash(buffer, size, hash);
}
+
+ async getContentHash(bytes) {
-+ return SharedUtils.getContentHash(bytes);
++ return lazy.SharedUtils.getContentHash(bytes);
+ }
}
// Now, first add a shutdown blocker. If that fails, we must have
diff --git a/services/settings/SharedUtils.jsm b/services/settings/SharedUtils.jsm
-index 5d32fb38bd..753a1b1393 100644
+index 9804e80c91..de67b0fb6f 100644
--- a/services/settings/SharedUtils.jsm
+++ b/services/settings/SharedUtils.jsm
-@@ -28,11 +28,16 @@ var SharedUtils = {
+@@ -23,11 +23,16 @@ var SharedUtils = {
return false;
}
// Has expected content?
@@ -462,10 +467,10 @@ index 5d32fb38bd..753a1b1393 100644
/**
--
-2.37.0
+2.37.1
-From fa07a0a3fbd62a0d973a4ca07fdc3a5cf2209841 Mon Sep 17 00:00:00 2001
+From f9aa27662b2018a543d71e2443397beecc73ee5e 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
@@ -500,16 +505,16 @@ the upgrade to local-only setup.
1 file changed, 27 insertions(+), 36 deletions(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index eee1487491..90e82772c4 100644
+index 2b07a06b26..77da7304b6 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -592,11 +592,9 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -668,11 +668,9 @@ class RemoteSettingsClient extends EventEmitter {
// If the data is up-to-date but don't have metadata (records loaded from dump),
// we fetch them and validate the signature immediately.
-- if (this.verifySignature && ObjectUtils.isEmpty(localMetadata)) {
-+ if (this.verifySignature && ObjectUtils.isEmpty(localMetadata?.json_dump_metadata)) {
- console.debug(`${this.identifier} pull collection metadata`);
+- if (this.verifySignature && lazy.ObjectUtils.isEmpty(localMetadata)) {
++ if (this.verifySignature && lazy.ObjectUtils.isEmpty(localMetadata?.json_dump_metadata)) {
+ lazy.console.debug(`${this.identifier} pull collection metadata`);
- const metadata = await this.httpClient().getData({
- query: { _expected: expectedTimestamp },
- });
@@ -517,7 +522,7 @@ index eee1487491..90e82772c4 100644
await this.db.importChanges(metadata);
// We don't bother validating the signature if the dump was just loaded. We do
// if the dump was loaded at some other point (eg. from .get()).
-@@ -825,33 +823,23 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -935,33 +933,23 @@ class RemoteSettingsClient extends EventEmitter {
* @returns {Promise}
*/
async _validateCollectionSignature(records, timestamp, metadata) {
@@ -537,9 +542,9 @@ index eee1487491..90e82772c4 100644
- signature: { x5u, signature },
+ json_dump_metadata: { hash, size },
} = metadata;
-- const certChain = await (await Utils.fetch(x5u)).text();
+- const certChain = await (await lazy.Utils.fetch(x5u)).text();
// Merge remote records with local ones and serialize as canonical JSON.
- const serialized = await RemoteSettingsWorker.canonicalStringify(
+ const serialized = await lazy.RemoteSettingsWorker.canonicalStringify(
records,
timestamp
);
@@ -549,15 +554,15 @@ index eee1487491..90e82772c4 100644
- "p384ecdsa=" + signature,
- certChain,
- this.signerName,
-- Utils.CERT_CHAIN_ROOT_IDENTIFIER
-+ !(await RemoteSettingsWorker.checkContentHash(
+- lazy.Utils.CERT_CHAIN_ROOT_IDENTIFIER
++ !(await lazy.RemoteSettingsWorker.checkContentHash(
+ new TextEncoder().encode(serialized),
+ size,
+ hash
))
) {
throw new InvalidSignatureError(this.identifier);
-@@ -1024,24 +1012,27 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1134,24 +1122,27 @@ class RemoteSettingsClient extends EventEmitter {
* @param since timestamp of last sync (optional)
*/
async _fetchChangeset(expectedTimestamp, since) {
@@ -576,21 +581,21 @@ index eee1487491..90e82772c4 100644
- _since: since,
- },
- }
-+ const { data } = await SharedUtils.loadJSONDump(
++ const { data } = await lazy.SharedUtils.loadJSONDump(
+ this.bucketName,
+ this.collectionName
- );
++ );
+ const remoteRecords = data ?? [];
+
-+ const serialized = await RemoteSettingsWorker.canonicalStringify(
++ const serialized = await lazy.RemoteSettingsWorker.canonicalStringify(
+ remoteRecords,
+ expectedTimestamp
-+ );
+ );
+ const bytes = new TextEncoder().encode(serialized);
+ const metadata = {
+ app_build_id: Services.appinfo.appBuildID,
+ json_dump_metadata: {
-+ hash: await RemoteSettingsWorker.getContentHash(bytes),
++ hash: await lazy.RemoteSettingsWorker.getContentHash(bytes),
+ size: bytes.length,
+ },
+ }
@@ -602,10 +607,10 @@ index eee1487491..90e82772c4 100644
remoteRecords,
};
--
-2.37.0
+2.37.1
-From 9e4840347d561c7dc98ab6f84e3c3a195297c29e Mon Sep 17 00:00:00 2001
+From aa6967b7f10899464253074271f27180ca4069fe 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()
@@ -623,45 +628,42 @@ 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 | 30 +++++++++++++++++++++-
- 1 file changed, 29 insertions(+), 1 deletion(-)
+ services/settings/RemoteSettingsClient.jsm | 27 +++++++++++++++++++++-
+ 1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 90e82772c4..2a009eca7c 100644
+index 77da7304b6..81404d9801 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -16,6 +16,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
+@@ -23,6 +23,7 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
ClientEnvironmentBase:
"resource://gre/modules/components-utils/ClientEnvironment.jsm",
Database: "resource://services-settings/Database.jsm",
+ DeferredTask: "resource://gre/modules/DeferredTask.jsm",
- Downloader: "resource://services-settings/Attachments.jsm",
IDBHelpers: "resource://services-settings/IDBHelpers.jsm",
KintoHttpClient: "resource://services-common/kinto-http-client.js",
-@@ -27,6 +28,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
+ ObjectUtils: "resource://gre/modules/ObjectUtils.jsm",
+@@ -33,6 +34,7 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
});
const TELEMETRY_COMPONENT = "remotesettings";
+const DEFERRED_SYNC_DELAY_MILLISECONDS = 1000;
- XPCOMUtils.defineLazyGetter(this, "console", () => Utils.log);
+ XPCOMUtils.defineLazyGetter(lazy, "console", () => lazy.Utils.log);
-@@ -249,6 +251,14 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -320,6 +322,11 @@ class RemoteSettingsClient extends EventEmitter {
this._lastCheckTimePref = lastCheckTimePref;
this._verifier = null;
this._syncRunning = false;
-+ this._deferredSync = new DeferredTask(
-+ async () => {
-+ if (!this._syncRunning && !(await this._isSynced())) {
-+ await this.sync();
-+ }
-+ },
-+ DEFERRED_SYNC_DELAY_MILLISECONDS
-+ );
++ this._deferredSync = new lazy.DeferredTask(async () => {
++ if (!this._syncRunning && !(await this._isSynced())) {
++ await this.sync();
++ }
++ }, DEFERRED_SYNC_DELAY_MILLISECONDS);
// This attribute allows signature verification to be disabled, when running tests
// or when pulling data from a dev server.
-@@ -278,6 +288,11 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -349,6 +356,11 @@ class RemoteSettingsClient extends EventEmitter {
this.db.identifier = this.identifier;
}
@@ -673,7 +675,7 @@ index 90e82772c4..2a009eca7c 100644
get identifier() {
return `${this.bucketName}/${this.collectionName}`;
}
-@@ -346,6 +361,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -417,6 +429,10 @@ class RemoteSettingsClient extends EventEmitter {
let lastModified = await this.db.getLastModified();
let hasLocalData = lastModified !== null;
@@ -684,7 +686,7 @@ index 90e82772c4..2a009eca7c 100644
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.
-@@ -444,7 +463,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -517,7 +533,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,
// we return results early.
@@ -695,14 +697,14 @@ index 90e82772c4..2a009eca7c 100644
+ return filtered;
}
- console.debug(
-@@ -484,6 +506,12 @@ class RemoteSettingsClient extends EventEmitter {
+ lazy.console.debug(
+@@ -557,6 +576,12 @@ class RemoteSettingsClient extends EventEmitter {
return final;
}
+ async _isSynced() {
+ this._synced ||=
-+ Services.appinfo.appBuildID === (await this.db.getMetadata())?.app_build_id;
++ Services.appinfo.appBuildID === (await this.db?.getMetadata())?.app_build_id;
+ return this._synced;
+ }
+
@@ -710,10 +712,10 @@ index 90e82772c4..2a009eca7c 100644
* Synchronize the local database with the remote server.
*
--
-2.37.0
+2.37.1
-From 72de3dbe162430638a58838b714f1872c2dd8195 Mon Sep 17 00:00:00 2001
+From d38df88747ef8df356af5178fde18bf3a25836b6 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
@@ -735,34 +737,34 @@ noticeable performance issues.
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 2a009eca7c..dbcdb559df 100644
+index 81404d9801..c06650e2d8 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -13,6 +13,7 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+@@ -20,6 +20,7 @@ const { Downloader } = ChromeUtils.import(
+ const lazy = {};
- XPCOMUtils.defineLazyModuleGetters(this, {
- AppConstants: "resource://gre/modules/AppConstants.jsm",
+ XPCOMUtils.defineLazyModuleGetters(lazy, {
+ CanonicalJSON: "resource://gre/modules/CanonicalJSON.jsm",
ClientEnvironmentBase:
"resource://gre/modules/components-utils/ClientEnvironment.jsm",
Database: "resource://services-settings/Database.jsm",
-@@ -1015,7 +1016,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1122,7 +1123,10 @@ class RemoteSettingsClient extends EventEmitter {
const old = oldById.get(r.id);
if (old) {
oldById.delete(r.id);
- if (r.last_modified != old.last_modified) {
+ if (
+ r.last_modified != old.last_modified ||
-+ CanonicalJSON.stringify(r) != CanonicalJSON.stringify(old)
++ lazy.CanonicalJSON.stringify(r) != lazy.CanonicalJSON.stringify(old)
+ ) {
syncResult.updated.push({ old, new: r });
}
} else {
--
-2.37.0
+2.37.1
-From 0ddc970c40569ca7b20ec67a413519589e7c52f6 Mon Sep 17 00:00:00 2001
+From f746bdc4a82e8a29ea8a5470cb5cdedba6594dbc 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
@@ -780,10 +782,10 @@ logic gets the data about the attachments from those records.
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index dbcdb559df..c20ce412b2 100644
+index c06650e2d8..d5d934447a 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -207,7 +207,7 @@ class AttachmentDownloader extends Downloader {
+@@ -257,7 +257,7 @@ class AttachmentDownloader extends Downloader {
allRecords
.filter(r => !!r.attachment)
.map(r =>
@@ -792,16 +794,16 @@ index dbcdb559df..c20ce412b2 100644
)
);
}
-@@ -975,7 +975,7 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1082,7 +1082,7 @@ class RemoteSettingsClient extends EventEmitter {
// Signature failed, clear local DB because it contains
// bad data (local + remote changes).
- console.debug(`${this.identifier} clear local data`);
+ lazy.console.debug(`${this.identifier} clear local data`);
- await this.db.clear();
+ await this._clearAll();
// Local data was tampered, throw and it will retry from empty DB.
- console.error(`${this.identifier} local data was corrupted`);
+ lazy.console.error(`${this.identifier} local data was corrupted`);
throw new CorruptedDataError(this.identifier);
-@@ -997,7 +997,7 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1104,7 +1104,7 @@ class RemoteSettingsClient extends EventEmitter {
// _importJSONDump() only clears DB if dump is available,
// therefore do it here!
if (imported < 0) {
@@ -810,7 +812,7 @@ index dbcdb559df..c20ce412b2 100644
}
}
}
-@@ -1037,6 +1037,12 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1144,6 +1144,12 @@ class RemoteSettingsClient extends EventEmitter {
return syncResult;
}
@@ -824,10 +826,10 @@ index dbcdb559df..c20ce412b2 100644
* Fetch information from changeset endpoint.
*
--
-2.37.0
+2.37.1
-From 00e45ee5b33b5e6030fa2d3b589cce5418822a3e Mon Sep 17 00:00:00 2001
+From 3e2487052231283079591eb158d6f45b43f1c091 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
@@ -842,16 +844,16 @@ necessary cleanup. So remove the checks.
1 file changed, 5 deletions(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index c20ce412b2..79ec40ee9e 100644
+index d5d934447a..9a25d5103d 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -917,14 +917,9 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1024,14 +1024,9 @@ class RemoteSettingsClient extends EventEmitter {
updated: [],
deleted: [],
};
- // If data wasn't changed, return empty sync result.
- // This can happen when we update the signature but not the data.
- console.debug(
+ lazy.console.debug(
`${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}`
);
- if (localTimestamp && remoteTimestamp < localTimestamp) {
@@ -861,20 +863,20 @@ index c20ce412b2..79ec40ee9e 100644
await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, {
clear: retry,
--
-2.37.0
+2.37.1
-From 37d74c55d8c1d852666f179fe6ea45fd99ff83ca Mon Sep 17 00:00:00 2001
+From ba7f771d057358ae0575f0f392116b4406b6c1a5 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
---
- services/settings/Attachments.jsm | 35 +++++++------------------------
- 1 file changed, 8 insertions(+), 27 deletions(-)
+ services/settings/Attachments.jsm | 37 +++++++------------------------
+ 1 file changed, 8 insertions(+), 29 deletions(-)
diff --git a/services/settings/Attachments.jsm b/services/settings/Attachments.jsm
-index 2bf846e4e1..542f34f97e 100644
+index 5ac6249f67..9dc7bcdbf0 100644
--- a/services/settings/Attachments.jsm
+++ b/services/settings/Attachments.jsm
@@ -151,9 +151,10 @@ class Downloader {
@@ -915,7 +917,7 @@ index 2bf846e4e1..542f34f97e 100644
const {
attachment: { filename, size, hash },
} = record;
-@@ -357,31 +359,10 @@ class Downloader {
+@@ -359,33 +361,10 @@ class Downloader {
*/
async downloadAsBytes(record, options = {}) {
const {
@@ -934,7 +936,9 @@ index 2bf846e4e1..542f34f97e 100644
- if (!checkHash) {
- return buffer;
- }
-- if (await RemoteSettingsWorker.checkContentHash(buffer, size, hash)) {
+- if (
+- await lazy.RemoteSettingsWorker.checkContentHash(buffer, size, hash)
+- ) {
- return buffer;
- }
- // Content is corrupted.
@@ -951,10 +955,10 @@ index 2bf846e4e1..542f34f97e 100644
/**
--
-2.37.0
+2.37.1
-From 5f475d79389de681e2eac63527a6d497b0b0da77 Mon Sep 17 00:00:00 2001
+From 1c0858235dd0f65b00ed622eac269d35c24ee458 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
@@ -979,10 +983,10 @@ certificate revocations.
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
-index c487b04a35..b0808338ef 100644
+index 79267cded6..d67f43052a 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
-@@ -12269,7 +12269,7 @@
+@@ -12446,7 +12446,7 @@
# 3: Consult CRLite and enforce "Not Revoked" results, but defer to OCSP for "Revoked".
- name: security.pki.crlite_mode
type: RelaxedAtomicUint32
@@ -992,10 +996,10 @@ index c487b04a35..b0808338ef 100644
- name: security.tls.version.min
diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp
-index 12da07c56f..39f85cf5b3 100644
+index 0996c198d2..f8525a9325 100644
--- a/security/manager/ssl/nsNSSComponent.cpp
+++ b/security/manager/ssl/nsNSSComponent.cpp
-@@ -1453,6 +1453,7 @@ void nsNSSComponent::setValidationOptions(
+@@ -1434,6 +1434,7 @@ void nsNSSComponent::setValidationOptions(
CRLiteMode defaultCRLiteMode = CRLiteMode::Disabled;
CRLiteMode crliteMode =
static_cast<CRLiteMode>(StaticPrefs::security_pki_crlite_mode());
@@ -1004,5 +1008,5 @@ index 12da07c56f..39f85cf5b3 100644
case CRLiteMode::Disabled:
case CRLiteMode::TelemetryOnly:
--
-2.37.0
+2.37.1
diff --git a/libre/iceweasel/9004-FSDG-misc.patch b/libre/iceweasel/9004-FSDG-misc.patch
index c45b97eb0..99c49dfc3 100644
--- a/libre/iceweasel/9004-FSDG-misc.patch
+++ b/libre/iceweasel/9004-FSDG-misc.patch
@@ -122,14 +122,6 @@ diff --git a/browser/base/content/test/static/browser_all_files_referenced.js b/
index 4c59b84a7c..44d36d3b28 100644
--- a/browser/base/content/test/static/browser_all_files_referenced.js
+++ b/browser/base/content/test/static/browser_all_files_referenced.js
-@@ -33,7 +33,6 @@ var gExceptionPaths = [
- "chrome://browser/content/assets/moz-vpn.svg",
- "chrome://browser/content/assets/vpn-logo.svg",
- "chrome://browser/content/assets/focus-promo.png",
-- "chrome://browser/content/preferences/more-from-mozilla-qr-code-advanced.svg",
- "chrome://browser/content/assets/klar-qr-code.svg",
-
- // These app marketplace icons are referenced based on the user's locale
@@ -136,17 +135,6 @@ var whitelist = [
// extensions/pref/autoconfig/src/nsReadConfig.cpp
{ file: "resource://gre/defaults/autoconfig/prefcalls.js" },
@@ -149,10 +141,10 @@ index 4c59b84a7c..44d36d3b28 100644
// layout/mathml/nsMathMLChar.cpp
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
-index 912d9edf08..dd4697a368 100644
+index 2131a15cee..dd4697a368 100644
--- a/browser/components/preferences/jar.mn
+++ b/browser/components/preferences/jar.mn
-@@ -14,12 +14,8 @@ browser.jar:
+@@ -14,11 +14,8 @@ browser.jar:
content/browser/preferences/containers.js
content/browser/preferences/sync.js
content/browser/preferences/experimental.js
@@ -162,20 +154,8 @@ index 912d9edf08..dd4697a368 100644
content/browser/preferences/findInPage.js
- content/browser/preferences/more-from-mozilla-qr-code-simple.svg
- content/browser/preferences/more-from-mozilla-qr-code-simple-cn.svg
-- content/browser/preferences/more-from-mozilla-qr-code-advanced.svg
content/browser/preferences/web-appearance-dark.svg
content/browser/preferences/web-appearance-light.svg
-diff --git a/browser/components/preferences/more-from-mozilla-qr-code-advanced.svg b/browser/components/preferences/more-from-mozilla-qr-code-advanced.svg
-deleted file mode 100644
-index 4848d3e20c..0000000000
---- a/browser/components/preferences/more-from-mozilla-qr-code-advanced.svg
-+++ /dev/null
-@@ -1,4 +0,0 @@
--<!-- This Source Code Form is subject to the terms of the Mozilla Public
-- - License, v. 2.0. If a copy of the MPL was not distributed with this
-- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
--<svg width="113" height="113" fill="content" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4 2h105a2 2 0 0 1 2 2v105a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2ZM0 4a4 4 0 0 1 4-4h105a4 4 0 0 1 4 4v105a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4Zm10 6h22.448v22.448H10V10Zm6.414 3.207h-3.207V29.24H29.24V13.207H16.414ZM38.862 10h6.414v3.207h3.207v3.207h-3.207v3.207h3.207v-3.207h3.207V10h6.413v3.207h3.207V10h3.207v6.414h-9.62v6.414h3.206v3.207h3.207v-3.207h3.207V19.62h3.207v-3.207h3.207v3.207h3.207v-6.414h3.207V22.828h-3.207v3.207H70.93v6.413h-3.207v-3.207h-3.207v6.414H61.31v-6.414h-3.207v3.207h-3.206v-6.413h-6.414v-3.207h-6.414v3.207h-3.207v-3.207h-3.207v-6.414h6.414v-3.207h-3.207V10Zm6.414 22.448h-3.207v-6.413h3.207v6.413Zm-9.62 9.621h6.413v-3.207h-3.207v-3.207h6.414v-3.207h3.207v-3.207h3.207v3.207h3.207v6.414H51.69v-3.207h-3.207v3.207h3.207v3.207h-6.414v3.207h-3.207V54.897h-3.207v3.206h-3.207v-3.206h-3.207V51.69h-3.207v-3.207h3.207v-3.207h3.207v3.207h3.207v-3.207h-3.207v-3.207Zm-3.208 0v3.207h-3.207v-3.207h3.207Zm-3.207-3.207v-3.207h6.414v6.414h-3.207v-3.207h-3.207Zm-9.62 0v-3.207h6.414v3.207h3.206v3.207h-6.413v-3.207H19.62Zm0 0v3.207h-3.207v3.207h-3.207v-3.207H10v-3.207H19.621Zm6.414 19.241V51.69h3.206v3.207h3.207v3.206h-6.413Zm0 3.207v-3.207h-3.207V48.483h3.207v-3.207H19.62v3.207h-6.414v6.414h6.414v3.206h3.207v3.207h-6.414v-3.207H10v19.242h12.828v-3.207H19.62V70.93h6.414v6.414h6.413v-3.207h3.207V83.759h3.207v-3.207h3.207v16.034h16.034v3.207H48.483V103h9.62v-3.207h3.207V103h16.035v-3.207H67.724v-3.207H61.31V93.38H70.931v-3.207h12.828v6.414h-3.207V93.38h-6.414v3.207h6.414V103H93.379v-3.207h3.207v-3.207h3.207v3.207H103V93.38h-3.207v-3.207H90.172v-3.206h3.207v-3.207h3.207V70.93h-9.62v-3.207H96.586v-3.207H93.38V61.31h3.207v-3.207H93.38v-3.206h3.207V51.69h3.207V64.517H103V51.69h-3.207v-3.207H103v-3.207h-3.207v3.207h-3.207v3.207H93.38v-3.207h-3.207v3.207h-3.206v3.207h-3.207v-6.414h3.207v-3.207H96.586v-3.207h3.207v-3.207h-3.207v-3.207h-6.414v3.207H83.76v3.207h-6.414v-3.207h-3.207v6.414H70.93v3.207h3.207v-3.207H83.759v3.207h-6.414v3.207h3.207v3.207H70.93v3.206H80.552v3.207h3.207v-3.207h3.207v3.207h3.206v3.207h-3.206v3.207h-3.207v-3.207h-6.414V61.31H70.93v3.207h3.207v3.207h-6.414v6.414h-3.207V70.93H61.31v3.207h-3.207V70.93h-3.206v3.207H51.69V83.759h-3.207v3.207h-3.207v-6.414h-3.207v-3.207h3.207v-3.207h-3.207v3.207h-3.207V70.93h-3.207v-6.414h3.207v3.207h3.207V61.31h-6.414v-3.207h-3.207v3.207h-6.413Zm0 3.207V61.31h-3.207v3.207H19.62v3.207h3.207v-3.207h3.207Zm3.206 6.414h3.207v3.207h-3.207V70.93Zm0 0v-3.207h3.207v-3.207h-6.413v6.414h3.206Zm25.656 16.035h-6.414v3.206h-3.207v3.207H58.103v-3.207h3.207v-3.206h3.207v-3.207h3.207v6.413h3.207V83.76h-3.207v-3.207h-3.207v-3.207H61.31v3.207h-3.207v3.207h-3.206v3.207Zm3.206 0h3.207v-3.207h3.207v-3.207H61.31v3.207h-3.207v3.207Zm0 0h-3.206v3.206h3.206v-3.206Zm-3.206-12.828v3.207h3.206v-3.207h-3.206Zm28.862-3.207v-3.207h-6.414v3.207H70.93v3.207h6.414V70.93h6.414Zm0 0v3.207h3.207V70.93h-3.207Zm6.413-16.034h-3.206v3.206h3.206v-3.206Zm-6.413 3.206v-3.206h-3.207v3.206h3.207Zm6.413-19.24v3.206h3.207v-3.207h-3.207Zm0 16.034V51.69h3.207v3.207h-3.207Zm3.207 28.862v-3.207h-3.207v3.207h3.207Zm-3.207 9.62v6.414h3.207V93.38h-3.207Zm0 0v-3.207h-3.206v3.207h3.206Zm-6.413 3.207v3.207h3.207v-3.207h-3.207ZM54.897 38.862H64.517v3.207h-9.62v-3.207Zm19.24-25.655h-6.413V10h6.414v3.207Zm-12.827 9.62h-3.207v-3.206h3.207v3.207ZM80.552 10H103v22.448H80.552V10Zm6.413 3.207H83.76V29.24H99.793V13.207H86.966Zm-70.551 3.207H26.035V26.035H16.414V16.414Zm70.552 0H96.586V26.035h-9.62V16.414ZM35.656 29.24h3.206v3.207h-3.207v-3.207Zm38.482 0h3.207v6.414h-3.207v-6.414Zm-6.414 6.414h3.207v3.207h-3.207v-3.207Zm32.07 32.07H103V77.344h-3.207V67.724Zm-6.415 6.413h-3.207v3.207h3.207v-3.207Zm-19.241 3.207H70.93v3.207h3.207v-3.207Zm6.414 0h-3.207V86.966H86.966V77.345h-6.414ZM10 80.552h22.448V103H10V80.552Zm6.414 3.207h-3.207V99.793H29.24V83.76H16.414Zm64.138-3.207h3.207v3.207h-3.207v-3.207Zm-64.138 6.413H26.035V96.587H16.414v-9.62Zm19.241 0h3.207v6.414h-3.207v-6.413Zm6.414 12.828h3.207V103h-3.207v-3.207Z" fill="#141422"/><path d="M65.068 53.042c-.403-.968-1.219-2.014-1.858-2.344.456.882.772 1.83.938 2.81l.002.015c-1.048-2.609-2.822-3.663-4.273-5.954a11.08 11.08 0 0 1-.218-.355 2.928 2.928 0 0 1-.102-.19 1.685 1.685 0 0 1-.144-.383.024.024 0 0 0-.015-.008.032.032 0 0 0-.017 0l-.005.002-.007.004.004-.006c-2.326 1.361-3.116 3.882-3.187 5.144a4.633 4.633 0 0 0-2.55.982 2.782 2.782 0 0 0-.239-.181 4.295 4.295 0 0 1-.026-2.264c-.854.414-1.613 1-2.229 1.723h-.004c-.367-.465-.341-1.999-.32-2.32a1.656 1.656 0 0 0-.31.165c-.323.231-.626.49-.904.775a8.089 8.089 0 0 0-.866 1.039v.001-.002a7.821 7.821 0 0 0-1.242 2.806l-.013.06c-.017.082-.08.49-.091.579l-.002.02a8.82 8.82 0 0 0-.15 1.277v.048a9.26 9.26 0 0 0 18.385 1.566c.016-.12.029-.238.042-.359a9.523 9.523 0 0 0-.6-4.652v.002ZM54.395 60.29c.043.02.083.043.128.063l.006.004a5.116 5.116 0 0 1-.134-.067Zm9.755-6.765v-.01l.001.01h-.001Z" fill="url(#a)"/><path d="M65.068 53.042c-.403-.968-1.219-2.014-1.858-2.344.456.883.772 1.83.938 2.81v.009l.002.01a8.387 8.387 0 0 1-.289 6.25c-1.061 2.277-3.629 4.611-7.65 4.497-4.344-.123-8.172-3.348-8.886-7.57-.13-.666 0-1.003.065-1.544-.089.42-.139.848-.148 1.277v.048a9.26 9.26 0 0 0 18.385 1.566c.016-.12.029-.238.042-.358a9.525 9.525 0 0 0-.6-4.652h-.001Z" fill="url(#b)"/><path d="M65.068 53.042c-.403-.968-1.219-2.014-1.858-2.344.456.883.772 1.83.938 2.81v.009l.002.01a8.387 8.387 0 0 1-.289 6.25c-1.061 2.277-3.629 4.611-7.65 4.497-4.344-.123-8.172-3.348-8.886-7.57-.13-.666 0-1.003.065-1.544-.089.42-.139.848-.148 1.277v.048a9.26 9.26 0 0 0 18.385 1.566c.016-.12.029-.238.042-.358a9.525 9.525 0 0 0-.6-4.652h-.001Z" fill="url(#c)"/><path d="m60.566 54.129.058.042a5.043 5.043 0 0 0-.86-1.121c-2.88-2.88-.755-6.241-.397-6.413l.004-.006c-2.326 1.362-3.116 3.883-3.187 5.145.108-.008.215-.017.325-.017a4.673 4.673 0 0 1 4.057 2.37Z" fill="url(#d)"/><path d="M56.514 54.705c-.015.23-.83 1.025-1.114 1.025-2.633 0-3.06 1.593-3.06 1.593.116 1.341 1.05 2.446 2.18 3.03.052.026.105.05.157.074.09.04.181.077.272.111a4.12 4.12 0 0 0 1.205.233c4.616.216 5.51-5.52 2.179-7.185a3.196 3.196 0 0 1 2.233.542 4.673 4.673 0 0 0-4.058-2.37c-.11 0-.217.01-.325.017a4.633 4.633 0 0 0-2.55.982c.142.12.301.28.637.61.628.62 2.24 1.26 2.243 1.336l.001.002Z" fill="url(#e)"/><path d="M56.514 54.705c-.015.23-.83 1.025-1.114 1.025-2.633 0-3.06 1.593-3.06 1.593.116 1.341 1.05 2.446 2.18 3.03.052.026.105.05.157.074.09.04.181.077.272.111a4.12 4.12 0 0 0 1.205.233c4.616.216 5.51-5.52 2.179-7.185a3.196 3.196 0 0 1 2.233.542 4.673 4.673 0 0 0-4.058-2.37c-.11 0-.217.01-.325.017a4.633 4.633 0 0 0-2.55.982c.142.12.301.28.637.61.628.62 2.24 1.26 2.243 1.336l.001.002Z" fill="url(#f)"/><path d="M53.202 52.452c.075.047.137.09.192.127a4.295 4.295 0 0 1-.026-2.264c-.855.414-1.614 1-2.23 1.723.046-.001 1.389-.025 2.064.414Z" fill="url(#g)"/><path d="M47.323 56.705c.715 4.222 4.542 7.447 8.886 7.57 4.021.113 6.59-2.222 7.65-4.498a8.387 8.387 0 0 0 .289-6.25v-.009c0-.007-.002-.01 0-.009l.002.016c.328 2.145-.763 4.222-2.469 5.629l-.005.012c-3.324 2.707-6.504 1.633-7.146 1.195a4.961 4.961 0 0 1-.135-.067c-1.938-.927-2.738-2.69-2.566-4.206a2.379 2.379 0 0 1-2.194-1.38 3.493 3.493 0 0 1 3.405-.136 4.611 4.611 0 0 0 3.476.136c-.003-.075-1.615-.716-2.243-1.335-.336-.331-.495-.49-.637-.61a2.78 2.78 0 0 0-.238-.181c-.055-.038-.117-.078-.192-.127-.675-.44-2.018-.415-2.063-.414h-.004c-.367-.465-.341-2-.32-2.32a1.66 1.66 0 0 0-.31.165c-.323.23-.626.49-.904.775-.319.32-.61.667-.87 1.036v.002-.002a7.82 7.82 0 0 0-1.242 2.805c-.005.019-.334 1.457-.172 2.203h.002Z" fill="url(#h)"/><path d="M59.763 53.05c.339.331.628.71.86 1.122.052.039.099.077.14.114 2.099 1.935.999 4.67.917 4.864 1.705-1.405 2.795-3.483 2.468-5.629-1.047-2.611-2.824-3.665-4.272-5.956a11.265 11.265 0 0 1-.218-.355 2.923 2.923 0 0 1-.102-.191 1.686 1.686 0 0 1-.144-.383.024.024 0 0 0-.015-.008.035.035 0 0 0-.018 0l-.004.003-.007.004c-.358.17-2.483 3.533.397 6.41l-.002.004Z" fill="url(#i)"/><path d="M60.762 54.287a1.93 1.93 0 0 0-.139-.114l-.057-.042a3.196 3.196 0 0 0-2.233-.542c3.33 1.665 2.437 7.4-2.179 7.184a4.12 4.12 0 0 1-1.205-.232 4.906 4.906 0 0 1-.428-.186l.007.004c.643.44 3.822 1.513 7.146-1.195l.005-.012c.083-.193 1.183-2.929-.917-4.864v-.001Z" fill="url(#j)"/><path d="M52.34 57.321s.427-1.593 3.06-1.593c.285 0 1.1-.794 1.114-1.025a4.612 4.612 0 0 1-3.476-.136 3.492 3.492 0 0 0-3.405.136 2.378 2.378 0 0 0 2.194 1.38c-.172 1.514.629 3.278 2.566 4.206.043.02.084.043.128.063-1.13-.585-2.065-1.69-2.181-3.03Z" fill="url(#k)"/><path d="M65.068 53.042c-.403-.968-1.219-2.014-1.858-2.344.456.882.772 1.83.938 2.81l.002.015c-1.048-2.609-2.822-3.663-4.273-5.954a11.265 11.265 0 0 1-.218-.355 2.923 2.923 0 0 1-.102-.19 1.685 1.685 0 0 1-.144-.383.024.024 0 0 0-.015-.008.033.033 0 0 0-.017 0l-.005.002-.007.004.004-.006c-2.326 1.361-3.116 3.882-3.187 5.144.108-.008.215-.017.325-.017a4.673 4.673 0 0 1 4.057 2.37 3.197 3.197 0 0 0-2.233-.542c3.331 1.665 2.437 7.4-2.178 7.184a4.117 4.117 0 0 1-1.205-.232 4.828 4.828 0 0 1-.429-.186l.007.004a4.825 4.825 0 0 1-.135-.067c.043.02.084.043.128.063-1.13-.584-2.064-1.69-2.18-3.03 0 0 .427-1.593 3.06-1.593.285 0 1.099-.794 1.114-1.024-.004-.076-1.616-.717-2.244-1.336-.336-.331-.495-.49-.636-.61a2.765 2.765 0 0 0-.24-.181 4.293 4.293 0 0 1-.025-2.264c-.855.414-1.614 1-2.23 1.723h-.004c-.366-.465-.34-1.999-.32-2.32a1.653 1.653 0 0 0-.309.165 6.75 6.75 0 0 0-.905.775 8.08 8.08 0 0 0-.866 1.039v.001-.002a7.82 7.82 0 0 0-1.242 2.805l-.013.062c-.017.081-.095.495-.106.584-.072.427-.117.858-.137 1.29v.049a9.261 9.261 0 0 0 18.386 1.566l.042-.359a9.525 9.525 0 0 0-.6-4.652Zm-.919.475.002.01-.002-.01Z" fill="url(#l)"/><defs><radialGradient id="b" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(63.247 48.782) scale(19.3057)"><stop offset=".129" stop-color="#FFBD4F"/><stop offset=".186" stop-color="#FFAC31"/><stop offset=".247" stop-color="#FF9D17"/><stop offset=".283" stop-color="#FF980E"/><stop offset=".403" stop-color="#FF563B"/><stop offset=".467" stop-color="#FF3750"/><stop offset=".71" stop-color="#F5156C"/><stop offset=".782" stop-color="#EB0878"/><stop offset=".86" stop-color="#E50080"/></radialGradient><radialGradient id="c" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(56.08 56.666) scale(19.3057)"><stop offset=".3" stop-color="#960E18"/><stop offset=".351" stop-color="#B11927" stop-opacity=".74"/><stop offset=".435" stop-color="#DB293D" stop-opacity=".343"/><stop offset=".497" stop-color="#F5334B" stop-opacity=".094"/><stop offset=".53" stop-color="#FF3750" stop-opacity="0"/></radialGradient><radialGradient id="d" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(58.468 44.481) scale(13.9847)"><stop offset=".132" stop-color="#FFF44F"/><stop offset=".252" stop-color="#FFDC3E"/><stop offset=".506" stop-color="#FF9D12"/><stop offset=".526" stop-color="#FF980E"/></radialGradient><radialGradient id="e" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(53.929 61.684) scale(9.19171)"><stop offset=".353" stop-color="#3A8EE6"/><stop offset=".472" stop-color="#5C79F0"/><stop offset=".669" stop-color="#9059FF"/><stop offset="1" stop-color="#C139E6"/></radialGradient><radialGradient id="f" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.73773 -1.14544 1.34103 5.5467 57.013 55.01)"><stop offset=".206" stop-color="#9059FF" stop-opacity="0"/><stop offset=".278" stop-color="#8C4FF3" stop-opacity=".064"/><stop offset=".747" stop-color="#7716A8" stop-opacity=".45"/><stop offset=".975" stop-color="#6E008B" stop-opacity=".6"/></radialGradient><radialGradient id="g" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(55.84 48.065) scale(6.61363)"><stop stop-color="#FFE226"/><stop offset=".121" stop-color="#FFDB27"/><stop offset=".295" stop-color="#FFC82A"/><stop offset=".502" stop-color="#FFA930"/><stop offset=".732" stop-color="#FF7E37"/><stop offset=".792" stop-color="#FF7139"/></radialGradient><radialGradient id="h" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(61.097 43.764) scale(28.2178)"><stop offset=".113" stop-color="#FFF44F"/><stop offset=".456" stop-color="#FF980E"/><stop offset=".622" stop-color="#FF5634"/><stop offset=".716" stop-color="#FF3647"/><stop offset=".904" stop-color="#E31587"/></radialGradient><radialGradient id="i" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.1701 20.56421 -13.49616 1.42422 58.751 45.329)"><stop stop-color="#FFF44F"/><stop offset=".06" stop-color="#FFE847"/><stop offset=".168" stop-color="#FFC830"/><stop offset=".304" stop-color="#FF980E"/><stop offset=".356" stop-color="#FF8B16"/><stop offset=".455" stop-color="#FF672A"/><stop offset=".57" stop-color="#FF3647"/><stop offset=".737" stop-color="#E31587"/></radialGradient><radialGradient id="j" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(55.84 50.454) scale(17.614)"><stop offset=".137" stop-color="#FFF44F"/><stop offset=".48" stop-color="#FF980E"/><stop offset=".592" stop-color="#FF5634"/><stop offset=".655" stop-color="#FF3647"/><stop offset=".904" stop-color="#E31587"/></radialGradient><radialGradient id="k" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(60.38 51.41) scale(19.2794)"><stop offset=".094" stop-color="#FFF44F"/><stop offset=".231" stop-color="#FFE141"/><stop offset=".509" stop-color="#FFAF1E"/><stop offset=".626" stop-color="#FF980E"/></radialGradient><linearGradient id="a" x1="63.842" y1="49.59" x2="48.468" y2="64.423" gradientUnits="userSpaceOnUse"><stop offset=".048" stop-color="#FFF44F"/><stop offset=".111" stop-color="#FFE847"/><stop offset=".225" stop-color="#FFC830"/><stop offset=".368" stop-color="#FF980E"/><stop offset=".401" stop-color="#FF8B16"/><stop offset=".462" stop-color="#FF672A"/><stop offset=".534" stop-color="#FF3647"/><stop offset=".705" stop-color="#E31587"/></linearGradient><linearGradient id="l" x1="63.656" y1="49.512" x2="50.577" y2="62.593" gradientUnits="userSpaceOnUse"><stop offset=".167" stop-color="#FFF44F" stop-opacity=".8"/><stop offset=".266" stop-color="#FFF44F" stop-opacity=".634"/><stop offset=".489" stop-color="#FFF44F" stop-opacity=".217"/><stop offset=".6" stop-color="#FFF44F" stop-opacity="0"/></linearGradient></defs></svg>
-\ No newline at end of file
diff --git a/browser/components/preferences/more-from-mozilla-qr-code-simple-cn.svg b/browser/components/preferences/more-from-mozilla-qr-code-simple-cn.svg
deleted file mode 100644
index 5052db9702..0000000000
@@ -1066,10 +1046,10 @@ index e33c814f62..5698f2b3e9 100644
</p>
</div>
<a target="_blank" id="get-vpn-link" data-l10n-id="get-vpn-link"></a>
-diff --git a/browser/components/protections/content/vpn-card.js b/browser/components/protections/content/vpn-card.js
+diff --git a/browser/components/protections/content/vpn-card.mjs b/browser/components/protections/content/vpn-card.mjs
index 2417f1a641..698c48ccc3 100644
---- a/browser/components/protections/content/vpn-card.js
-+++ b/browser/components/protections/content/vpn-card.js
+--- a/browser/components/protections/content/vpn-card.mjs
++++ b/browser/components/protections/content/vpn-card.mjs
@@ -23,22 +23,6 @@ export default class VPNCard {
vpnLink.addEventListener("click", () => {
this.doc.sendTelemetryEvent("click", "vpn_card_link");
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 0abf140f0..6565edb58 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -60,7 +60,7 @@
pkgname=iceweasel
epoch=1
-pkgver=102.0.1
+pkgver=103.0
pkgrel=1
pkgrel+=.parabola1
_brandingver=102.0-1
@@ -75,8 +75,10 @@ makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
python-setuptools python-zstandard lld dump_syms
wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
-[[ "${CARCH}" == 'armv7h' ]] && makedepends+=( ${makedepends[*]/wasi*/} )
-makedepends_i686=(gcc10)
+[[ "${CARCH}" == 'armv7h' ]] && makedepends=( ${makedepends[*]/wasi*/} ) # armv7h has no wasi compiler
+[[ "${CARCH}" == 'i686' ]] && makedepends=( ${makedepends[*]/wasi-compiler-rt/wasi-compiler-rt=13.0.1-1.0} ) # dustbin
+[[ "${CARCH}" == 'i686' ]] && makedepends=( ${makedepends[*]/wasi-libc++*/} )
+[[ "${CARCH}" == 'i686' ]] && makedepends+=( wasi-libc++=13.0.1-1.0 wasi-libc++abi=13.0.1-1.0 ) # dustbin
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'pulseaudio: Audio support'
@@ -86,7 +88,7 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
replaces=('firefox')
options=(!emptydirs !makeflags !strip !lto !debug)
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
- cbindgen-0.24.0.diff zstandard-0.18.0.diff
+ zstandard-0.18.0.diff
$pkgname.desktop identity-icons-brand.svg)
source=(${source[*]/identity-icons-brand.svg/})
source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}.branding.tar.xz{,.sig}
@@ -100,17 +102,16 @@ source_armv7h=(build-arm-libopus.patch)
source_i686=('avoid-libxul-OOM-python-check.patch'
'rust-static-disable-network-test-on-static-libraries.patch'
'firefox-99.0.1-fdlibm-double.patch')
-sha256sums=('7bba6ffd6e8e42d5c38aa2a453f5fa30dfc9ef150f2175aa0625edb68fddae70'
+sha256sums=('acc41d050560db4c4177ea86e2d00e47d74229041fea4c02c0e9e87e64093773'
'SKIP'
- '4628d136c3beada292e83cd8e89502cac4aa3836851b34259a665582a7713978'
'a6857ad2f2e2091c6c4fdcde21a59fbeb0138914c0e126df64b50a5af5ff63be'
'9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
sha256sums+=('d29c194ed7b3b4fa0f511866723118938c2be40077b4e9aadf8b3e6bfff91049'
'SKIP'
- '77b79ce95a560d371b08925a4f8c005b38e45936f61c8e4a4378d5ac56313cba'
+ '1c385fa5b2e2dd1cb7404c2d101de499a6b4b1324ddc051c5fb94aea6c24b42a'
'a2c71759290dd48c87bf8aacb681040dcaefdabe0d57317de361d2d2d509664b'
'e192458a2a9878483984e1400bb3c66df369adfbf6f144b90445f80973c32ed1'
- 'a6a0bf8296d42a0ea2664efd45e9131df1f19fc6199724ec78d66119589850dd'
+ '2697d54f827a493f7d74b8b8b01a10c70fd286a02924faae0d09c5f432a841a8'
'6a0250c20a6f4cbf0ff1320c194342fe691ece56959d87de41be8f82a8feca65'
'c93ce98e1cb64033079343ff1f3037fab6a3bc6d3eb5bc14c5edb70e2d45965d')
sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
@@ -135,7 +136,7 @@ validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
# disable PGO for 32-bit arches
-_should_skip_pgo=0 # for x86_64
+_should_skip_pgo=0 # for x86_64 (try '1' if the build hangs indefinitely)
[[ "${CARCH}" != 'armv7h' && "${CARCH}" != 'i686' ]] || _should_skip_pgo=1
@@ -209,9 +210,6 @@ prepare() {
mkdir mozbuild
cd firefox-$pkgver
- # Unbreak build with cbindgen 0.24.0
- patch -Np1 -i ../cbindgen-0.24.0.diff
-
# Unbreak build with python-zstandard 0.18.0
patch -Np1 -i ../zstandard-0.18.0.diff
@@ -323,11 +321,11 @@ ac_add_options --disable-rust-simd
ac_add_options --enable-strip
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
-export CC=gcc-10
-export CXX=g++-10
-export AR=gcc-ar-10
-export NM=gcc-nm-10
-export RANLIB=gcc-ranlib-10
+export CC=gcc
+export CXX=g++
+export AR=gcc-ar
+export NM=gcc-nm
+export RANLIB=gcc-ranlib
export STRIP=strip
END
@@ -492,6 +490,7 @@ END
echo "applying 9004-FSDG-misc.patch"
patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9004-FSDG-misc.patch
rm toolkit/crashreporter/tools/upload_symbols.py
+ rm -frv third_party/rust/winapi-{i686,x86_64}-pc-windows-gnu/**/*.a
## patching sanity checks ##