summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrizzlyuser <grizzlyuser@protonmail.com>2023-01-17 16:49:02 +0100
committerbill-auger <mr.j.spam.me@gmail.com>2023-02-08 15:55:59 -0500
commit4b5218aa766c653c039a50330ea0040ecb7ba27a (patch)
tree65b9c6a985a08e4fb3d9a379646eeda6f88ac863
parentac2d276682d34084e6c0445ab217cb1c85e6c326 (diff)
libre/iceweasel: 109.0
* Update version and patches according to upstream changes * Remote Settings patching: fix modification of response headers after local fetching of JSON file from bundled resources, because response headers became immutable in this version. * FSDG: Remove some values of preferences containing URLs to AMO (see commit messages from 9002-FSDG-preference-defaults.patch) and add a corresponding validation to PKGBUILD. Also remove some related property overrides from vendor.js.in and patch them in the code, please find the reasoning in the same patch. Also remove extensions.htmlaboutaddons.discover.enabled preference override from vendor.js.in, because it was removed upstream in [1]. * Remove technical patch for python-zstandard 0.19, fixed upstream * Remove RENAME_PROFILE logic from PKGBUILD, as the comment from that code suggests to remove it in 2023 [1] https://hg.mozilla.org/mozilla-central/rev/e542391fb8c5
-rw-r--r--libre/iceweasel/0001-libwebrtc-screen-cast-sync.patch53
-rw-r--r--libre/iceweasel/0002-Bug-1804973-Wayland-Check-size-for-valid-EGLWindows-.patch25
-rw-r--r--libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch208
-rw-r--r--libre/iceweasel/9002-FSDG-preference-defaults.patch102
-rw-r--r--libre/iceweasel/9004-FSDG-misc.patch72
-rw-r--r--libre/iceweasel/PKGBUILD70
-rw-r--r--libre/iceweasel/process-json-files.py2
-rw-r--r--libre/iceweasel/rename-profile.sh101
-rw-r--r--libre/iceweasel/vendor.js.in11
-rw-r--r--libre/iceweasel/zstandard-0.19.0.diff10
10 files changed, 367 insertions, 287 deletions
diff --git a/libre/iceweasel/0001-libwebrtc-screen-cast-sync.patch b/libre/iceweasel/0001-libwebrtc-screen-cast-sync.patch
index 708072656..76f109020 100644
--- a/libre/iceweasel/0001-libwebrtc-screen-cast-sync.patch
+++ b/libre/iceweasel/0001-libwebrtc-screen-cast-sync.patch
@@ -21,7 +21,7 @@ Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1790496
third_party/gbm/gbm/gbm.h | 452 ++++++
.../libpipewire => gbm/libgbm}/moz.build | 4 +-
third_party/gbm/libgbm/mozgbm.cpp | 66 +
- .../desktop_capture_generic_gn/moz.build | 45 +-
+ .../desktop_capture_gn/moz.build | 48 +-
.../desktop_capture_options.cc | 4 +-
.../desktop_capture/desktop_capture_options.h | 6 +-
.../linux/wayland/base_capturer_pipewire.cc | 2 +-
@@ -29,7 +29,7 @@ Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1790496
.../desktop_capture/window_capturer_linux.cc | 8 -
third_party/moz.build | 6 +
.../pipewire/libpipewire/mozpipewire.cpp | 49 +-
- 20 files changed, 5450 insertions(+), 33 deletions(-)
+ 20 files changed, 5453 insertions(+), 33 deletions(-)
create mode 100644 third_party/drm/README
create mode 100644 third_party/drm/drm/drm.h
create mode 100644 third_party/drm/drm/drm_fourcc.h
@@ -43,7 +43,7 @@ Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1790496
create mode 100644 third_party/gbm/libgbm/mozgbm.cpp
diff --git a/dom/media/webrtc/moz.build b/dom/media/webrtc/moz.build
-index ddf9321b58ea..af0f7ab64cc3 100644
+index b6e09dbb5c9a..ada0fcb4a5d9 100644
--- a/dom/media/webrtc/moz.build
+++ b/dom/media/webrtc/moz.build
@@ -84,6 +84,8 @@ if CONFIG["MOZ_WEBRTC_SIGNALING"]:
@@ -5498,10 +5498,10 @@ index 000000000000..bc024a11c0b7
+ }
+ return gbm_device_destroy_fn(gbm);
+}
-diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
-index 809899a92847..8869fae89703 100644
---- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
-+++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build
+index 8631744ab1bf..366ea67aa9ab 100644
+--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build
++++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn/moz.build
@@ -8,25 +8,28 @@
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
@@ -5532,14 +5532,15 @@ index 809899a92847..8869fae89703 100644
"/third_party/libwebrtc/",
"/third_party/libwebrtc/third_party/abseil-cpp/",
"/third_party/pipewire/",
-@@ -240,7 +243,15 @@ if CONFIG["CPU_ARCH"] == "arm":
+@@ -242,7 +245,16 @@ if CONFIG["CPU_ARCH"] == "arm":
DEFINES["_GNU_SOURCE"] = True
- UNIFIED_SOURCES += [
+ SOURCES += [
- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc"
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc",
++ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/scoped_glib.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc",
@@ -5549,15 +5550,15 @@ index 809899a92847..8869fae89703 100644
]
if CONFIG["CPU_ARCH"] == "ppc64":
-@@ -295,27 +306,51 @@ if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
+@@ -297,27 +309,53 @@ if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
DEFINES["_GNU_SOURCE"] = True
- UNIFIED_SOURCES += [
+ SOURCES += [
- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc"
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc",
-+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/scoped_glib.cc",
++ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_stream_utils.cc",
@@ -5571,11 +5572,12 @@ index 809899a92847..8869fae89703 100644
DEFINES["WEBRTC_USE_PIPEWIRE"] = True
DEFINES["_GNU_SOURCE"] = True
- UNIFIED_SOURCES += [
+ SOURCES += [
- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc"
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc",
++ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/scoped_glib.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc",
@@ -5590,11 +5592,12 @@ index 809899a92847..8869fae89703 100644
DEFINES["WEBRTC_USE_PIPEWIRE"] = True
DEFINES["_GNU_SOURCE"] = True
- UNIFIED_SOURCES += [
+ SOURCES += [
- "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc"
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/mouse_cursor_monitor_pipewire.cc",
++ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/restore_token_manager.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/scoped_glib.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screen_capture_portal_interface.cc",
+ "/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc",
@@ -5605,10 +5608,10 @@ index 809899a92847..8869fae89703 100644
if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.cc b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.cc
-index 8bdc83b76218..ab7932195c85 100644
+index 767dbfefa543..22c59ef4cccd 100644
--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.cc
+++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.cc
-@@ -14,33 +14,33 @@
+@@ -17,31 +17,31 @@
#elif defined(WEBRTC_WIN)
#include "modules/desktop_capture/win/full_screen_win_application_handler.h"
#endif
@@ -5617,8 +5620,6 @@ index 8bdc83b76218..ab7932195c85 100644
#include "modules/desktop_capture/linux/wayland/shared_screencast_stream.h"
#endif
- #include "rtc_base/ref_counted_object.h"
-
namespace webrtc {
DesktopCaptureOptions::DesktopCaptureOptions() {}
@@ -5645,7 +5646,7 @@ index 8bdc83b76218..ab7932195c85 100644
#endif
#if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS)
diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.h b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.h
-index 1605d30f82d1..eb5b8a2a8777 100644
+index 4d2a8da334da..bab39ccf5661 100644
--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.h
+++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.h
@@ -17,7 +17,7 @@
@@ -5657,7 +5658,7 @@ index 1605d30f82d1..eb5b8a2a8777 100644
#include "modules/desktop_capture/linux/wayland/shared_screencast_stream.h"
#endif
-@@ -181,22 +181,20 @@ class RTC_EXPORT DesktopCaptureOptions {
+@@ -181,28 +181,26 @@ class RTC_EXPORT DesktopCaptureOptions {
bool allow_pipewire() const { return allow_pipewire_; }
void set_allow_pipewire(bool allow) { allow_pipewire_ = allow; }
@@ -5669,6 +5670,12 @@ index 1605d30f82d1..eb5b8a2a8777 100644
rtc::scoped_refptr<SharedScreenCastStream> stream) {
screencast_stream_ = stream;
}
+
+ void set_width(uint32_t width) { width_ = width; }
+ uint32_t get_width() const { return width_; }
+
+ void set_height(uint32_t height) { height_ = height; }
+ uint32_t get_height() const { return height_; }
-#endif
#endif
@@ -5682,14 +5689,14 @@ index 1605d30f82d1..eb5b8a2a8777 100644
// BaseCapturerPipeWire and MouseCursorMonitorPipeWire as cursor information
// is sent together with screen content.
diff --git a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
-index 75659a9eb9e2..32578411059b 100644
+index e9158bf0cccf..655ec50ce9d7 100644
--- a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
+++ b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
-@@ -105,7 +105,7 @@ bool BaseCapturerPipeWire::GetSourceList(SourceList* sources) {
+@@ -136,7 +136,7 @@ bool BaseCapturerPipeWire::GetSourceList(SourceList* sources) {
// is often treated as a null/placeholder id, so we shouldn't use that.
// TODO(https://crbug.com/1297671): Reconsider type of ID when plumbing
// token that will enable stream re-use.
-- sources->push_back({1});
+- sources->push_back({source_id_});
+ sources->push_back({PIPEWIRE_ID, 0, PIPEWIRE_NAME});
return true;
}
diff --git a/libre/iceweasel/0002-Bug-1804973-Wayland-Check-size-for-valid-EGLWindows-.patch b/libre/iceweasel/0002-Bug-1804973-Wayland-Check-size-for-valid-EGLWindows-.patch
new file mode 100644
index 000000000..4735a44c7
--- /dev/null
+++ b/libre/iceweasel/0002-Bug-1804973-Wayland-Check-size-for-valid-EGLWindows-.patch
@@ -0,0 +1,25 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: stransky <stransky@redhat.com>
+Date: Thu, 15 Dec 2022 08:09:22 +0000
+Subject: [PATCH] Bug 1804973 [Wayland] Check size for valid EGLWindows only
+ r=emilio
+
+Differential Revision: https://phabricator.services.mozilla.com/D164651
+---
+ widget/gtk/MozContainerWayland.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/widget/gtk/MozContainerWayland.cpp b/widget/gtk/MozContainerWayland.cpp
+index 954c650af533..2a4a492077c3 100644
+--- a/widget/gtk/MozContainerWayland.cpp
++++ b/widget/gtk/MozContainerWayland.cpp
+@@ -704,6 +704,9 @@ bool moz_container_wayland_egl_window_needs_size_update(MozContainer* container,
+ nsIntSize aSize,
+ int aScale) {
+ MozContainerWayland* wl_container = &container->wl_container;
++ if (!wl_container->eglwindow) {
++ return false;
++ }
+ if (wl_container->buffer_scale != aScale) {
+ return true;
+ }
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 2cc30dd70..5e64a7f02 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 07801d1961effd9182c80a990a23f338e3972efb Mon Sep 17 00:00:00 2001
+From 7d313f93cebc14b7eb6fc1654b60a143b5cd7f52 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
@@ -26,19 +26,19 @@ If necessary, missing files can be added later.
.../newtab/data/content/activity-stream.bundle.js | 2 +-
services/settings/Utils.jsm | 2 +-
.../periodic-updates/scripts/periodic_file_updates.sh | 2 +-
- .../components/backgroundtasks/BackgroundTask_message.sys.mjs | 4 ++--
+ .../backgroundtasks/BackgroundTask_message.sys.mjs | 4 ++--
toolkit/components/search/SearchUtils.sys.mjs | 8 ++++----
toolkit/components/search/docs/DefaultSearchEngines.rst | 2 +-
.../components/search/docs/SearchEngineConfiguration.rst | 2 +-
- toolkit/modules/AppConstants.sys.mjs | 4 ++--
+ toolkit/modules/AppConstants.sys.mjs | 4 ++--
toolkit/mozapps/defaultagent/RemoteSettings.cpp | 2 +-
10 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-index e663fbd32b..a7b7a1994f 100644
+index 17155bb4ba..859560e25b 100644
--- a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
+++ b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-@@ -1116,7 +1116,7 @@ export class ASRouterAdminInner extends React.PureComponent {
+@@ -1237,7 +1237,7 @@ export class ASRouterAdminInner extends React.PureComponent {
<a
className="providerUrl"
target="_blank"
@@ -48,10 +48,10 @@ index e663fbd32b..a7b7a1994f 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 938b44f87b..cdfd5b8589 100644
+index 159e948352..5cbe5ac2c2 100644
--- a/browser/components/newtab/data/content/activity-stream.bundle.js
+++ b/browser/components/newtab/data/content/activity-stream.bundle.js
-@@ -1487,7 +1487,7 @@ class ASRouterAdminInner extends (external_React_default()).PureComponent {
+@@ -1593,7 +1593,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",
@@ -61,10 +61,10 @@ index 938b44f87b..cdfd5b8589 100644
}, "nimbus-desktop-experiments"), ")");
}
diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index a8b0c67ce1..9761486718 100644
+index 50114dfbbc..9d957283da 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -107,7 +107,7 @@ var Utils = {
+@@ -101,7 +101,7 @@ var Utils = {
: AppConstants.REMOTE_SETTINGS_SERVER_URL;
},
@@ -74,10 +74,10 @@ index a8b0c67ce1..9761486718 100644
/**
* 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 f177a1440c..c41b0beece 100755
+index b88ee476da..440615e4e1 100755
--- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
+++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
-@@ -285,7 +285,7 @@ function compare_suffix_lists {
+@@ -286,7 +286,7 @@ function compare_suffix_lists {
}
function compare_remote_settings_files {
@@ -87,7 +87,7 @@ index f177a1440c..c41b0beece 100755
# 1. List remote settings collections from server.
echo "INFO: fetch remote settings list from server"
diff --git a/toolkit/components/backgroundtasks/BackgroundTask_message.sys.mjs b/toolkit/components/backgroundtasks/BackgroundTask_message.sys.mjs
-index 55e8f70e77..2b5167b36b 100644
+index dbbfa53d39..11b93b07f2 100644
--- a/toolkit/components/backgroundtasks/BackgroundTask_message.sys.mjs
+++ b/toolkit/components/backgroundtasks/BackgroundTask_message.sys.mjs
@@ -19,8 +19,8 @@
@@ -102,10 +102,10 @@ index 55e8f70e77..2b5167b36b 100644
// --preview: enable Remote Settings and Experiment previews.
//
diff --git a/toolkit/components/search/SearchUtils.sys.mjs b/toolkit/components/search/SearchUtils.sys.mjs
-index a3072d19b3..d24df38913 100644
+index 65581754e8..4e7ccf48e4 100644
--- a/toolkit/components/search/SearchUtils.sys.mjs
+++ b/toolkit/components/search/SearchUtils.sys.mjs
-@@ -154,13 +154,13 @@ export var SearchUtils = {
+@@ -150,13 +150,13 @@ export var SearchUtils = {
ENGINES_URLS: {
"prod-main":
@@ -145,10 +145,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.sys.mjs b/toolkit/modules/AppConstants.sys.mjs
-index 15125bcca0..1b3e502730 100644
+index 59ba540c6d..2b9ff5796b 100644
--- a/toolkit/modules/AppConstants.sys.mjs
+++ b/toolkit/modules/AppConstants.sys.mjs
-@@ -420,9 +420,9 @@ var AppConstants = Object.freeze({
+@@ -416,9 +416,9 @@ export var AppConstants = Object.freeze({
REMOTE_SETTINGS_SERVER_URL:
#ifdef MOZ_THUNDERBIRD
@@ -174,10 +174,10 @@ index 667d9fc628..b2bf628f29 100644
#define PROD_CID "windows-default-browser-agent"
#define PROD_ID "state"
--
-2.37.2
+2.39.0
-From 70b74406d004aa6a4da38d179495f767ec583e58 Mon Sep 17 00:00:00 2001
+From 233227d0f2da317fe71a643b1c54d623f56f5d84 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
@@ -189,15 +189,15 @@ setup. Remove the record from broadcast-listeners.json file stored in
the user profile, so that it doesn't get picked up by push broadcast
service.
---
- dom/push/PushBroadcastService.sys.mjs | 13 +++++++++++++
- services/settings/remote-settings.js | 11 ++---------
+ dom/push/PushBroadcastService.sys.mjs | 13 +++++++++++++
+ services/settings/remote-settings.js | 11 ++---------
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/dom/push/PushBroadcastService.sys.mjs b/dom/push/PushBroadcastService.sys.mjs
-index 80df53ee49..109d602d4a 100644
+index cca80fee6c..c83b0f77d7 100644
--- a/dom/push/PushBroadcastService.sys.mjs
+++ b/dom/push/PushBroadcastService.sys.mjs
-@@ -179,6 +179,19 @@ var BroadcastService = class {
+@@ -170,6 +170,19 @@ export var BroadcastService = class {
}
}
@@ -218,7 +218,7 @@ index 80df53ee49..109d602d4a 100644
* Call the listeners of the specified broadcasts.
*
diff --git a/services/settings/remote-settings.js b/services/settings/remote-settings.js
-index 44727dfc0e..ece21d09bc 100644
+index c479de2a17..f797df533a 100644
--- a/services/settings/remote-settings.js
+++ b/services/settings/remote-settings.js
@@ -582,11 +582,7 @@ function remoteSettingsFunction() {
@@ -246,10 +246,10 @@ index 44727dfc0e..ece21d09bc 100644
},
};
--
-2.37.2
+2.39.0
-From 9f91207a91cb895a67f90f5e2e4e3968e8bd7b0e Mon Sep 17 00:00:00 2001
+From c4bd08fa8614bcf212975f4c0b3555437e8a8d59 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
@@ -290,10 +290,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.2
+2.39.0
-From 8f0541899626807c4cb11996b5763463f3b9dc6f Mon Sep 17 00:00:00 2001
+From b106c8b4e919e1d6c42f66bb07461c63848ebb2b 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
@@ -305,17 +305,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 | 18 +++++++++++++++---
- services/settings/dumps/monitor/moz.build | 8 ++++++++
+ services/settings/Utils.jsm | 28 ++++++++++++++++++++---
+ services/settings/dumps/monitor/moz.build | 8 +++++++
services/settings/dumps/moz.build | 1 +
- 4 files changed, 25 insertions(+), 3 deletions(-)
+ 4 files changed, 35 insertions(+), 3 deletions(-)
create mode 100644 services/settings/dumps/monitor/moz.build
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
-index 14e582fc61..821b1e2167 100644
+index 9229a0bd0e..565a7b7508 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -259,6 +259,7 @@
+@@ -263,6 +263,7 @@
@RESPATH@/browser/defaults/settings/last_modified.json
@RESPATH@/browser/defaults/settings/blocklists
@RESPATH@/browser/defaults/settings/main
@@ -324,10 +324,10 @@ index 14e582fc61..821b1e2167 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 9761486718..da55d60201 100644
+index 9d957283da..abdd0a53fa 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -379,7 +379,7 @@ var Utils = {
+@@ -370,7 +370,7 @@ var Utils = {
async fetchLatestChanges(serverUrl, options = {}) {
const { expectedTimestamp, lastEtag = "", filters = {} } = options;
@@ -336,20 +336,30 @@ index 9761486718..da55d60201 100644
const params = {
...filters,
_expected: expectedTimestamp ?? 0,
-@@ -394,7 +394,11 @@ var Utils = {
+@@ -385,7 +385,21 @@ var Utils = {
.map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
.join("&");
}
- const response = await Utils.fetch(url);
-+ const response = await fetch(url);
-+ const responseDate = new Date().toUTCString()
-+ response.headers.set("Date", responseDate);
-+ response.headers.set("Last-Modified", responseDate);
-+ response.headers.set("Content-Type", "application/json");
++ const rawResponse = await fetch(url);
++ const responseDate = new Date().toUTCString();
++
++ const headers = new Headers();
++ headers.set("Date", responseDate);
++ headers.set("Last-Modified", responseDate);
++ headers.set("Content-Type", "application/json");
++
++ const responseAttributes = {
++ status: rawResponse.status,
++ statusText: rawResponse.statusText,
++ headers,
++ };
++
++ const response = new Response(rawResponse.body, responseAttributes);
if (response.status >= 500) {
throw new Error(`Server error ${response.status} ${response.statusText}`);
-@@ -429,7 +433,15 @@ var Utils = {
+@@ -420,7 +434,15 @@ var Utils = {
}
}
@@ -368,7 +378,7 @@ index 9761486718..da55d60201 100644
// 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..25c53a2eeb
+index 0000000000..d3d017fda5
--- /dev/null
+++ b/services/settings/dumps/monitor/moz.build
@@ -0,0 +1,8 @@
@@ -393,10 +403,10 @@ index f407580bfa..53e9d8b45e 100644
]
--
-2.37.2
+2.39.0
-From dca0c5d7c983a24d742c45705a899430afed41bd Mon Sep 17 00:00:00 2001
+From bd6216d755e4d1c1c8ebba4123732b0b2358101c 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
@@ -408,10 +418,10 @@ current and any future code that relies on it.
1 file changed, 10 deletions(-)
diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index da55d60201..ff45380ff8 100644
+index abdd0a53fa..2cc3ba917b 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -193,16 +193,6 @@ var Utils = {
+@@ -184,16 +184,6 @@ var Utils = {
* @return {bool} Whether network is down or not.
*/
get isOffline() {
@@ -429,10 +439,10 @@ index da55d60201..ff45380ff8 100644
},
--
-2.37.2
+2.39.0
-From 1e29854983d5fcc360a6b407b4cd11f6af8d993e Mon Sep 17 00:00:00 2001
+From 237ecd7acdd299b2f89787e4f5f50bb5cc4d970c 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
@@ -445,7 +455,7 @@ 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 2e8073271b..24b4ce2af8 100644
+index 57754f0a2b..0ae0c8762a 100644
--- a/services/settings/RemoteSettingsWorker.jsm
+++ b/services/settings/RemoteSettingsWorker.jsm
@@ -191,6 +191,10 @@ class Worker {
@@ -483,10 +493,10 @@ index 9804e80c91..de67b0fb6f 100644
/**
--
-2.37.2
+2.39.0
-From 49543366ee33ad44a5577d082e51a11a2e7b4b7f Mon Sep 17 00:00:00 2001
+From afc7c3a747931dbd1ed02b5bc2af2fd29b607875 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
@@ -517,14 +527,14 @@ the upgrade to local-only setup.
[1] https://firefox-source-docs.mozilla.org/services/common/services/RemoteSettings.html#initial-data
---
- services/settings/RemoteSettingsClient.jsm | 63 ++++++++++------------
- 1 file changed, 27 insertions(+), 36 deletions(-)
+ services/settings/RemoteSettingsClient.jsm | 66 +++++++++-------------
+ 1 file changed, 28 insertions(+), 38 deletions(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index ae94f272d8..75589ff02e 100644
+index 1d42fc98ff..c8a0898367 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -678,11 +678,9 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -692,11 +692,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.
@@ -538,7 +548,7 @@ index ae94f272d8..75589ff02e 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()).
-@@ -945,33 +943,23 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -959,38 +957,28 @@ class RemoteSettingsClient extends EventEmitter {
* @returns {Promise}
*/
async _validateCollectionSignature(records, timestamp, metadata) {
@@ -564,6 +574,9 @@ index ae94f272d8..75589ff02e 100644
records,
timestamp
);
+
+- lazy.console.debug(`${this.identifier} verify signature using ${x5u}`);
++ lazy.console.debug(`${this.identifier} verify signature using size ${size} and hash ${hash}`);
if (
- !(await this._verifier.asyncVerifyContentSignature(
- serialized,
@@ -577,8 +590,12 @@ index ae94f272d8..75589ff02e 100644
+ hash
))
) {
- throw new InvalidSignatureError(this.identifier);
-@@ -1144,24 +1132,27 @@ class RemoteSettingsClient extends EventEmitter {
+- throw new InvalidSignatureError(this.identifier, x5u);
++ throw new InvalidSignatureError(this.identifier);
+ }
+ }
+
+@@ -1160,24 +1148,26 @@ class RemoteSettingsClient extends EventEmitter {
* @param since timestamp of last sync (optional)
*/
async _fetchChangeset(expectedTimestamp, since) {
@@ -600,13 +617,13 @@ index ae94f272d8..75589ff02e 100644
+ const { data } = await lazy.SharedUtils.loadJSONDump(
+ this.bucketName,
+ this.collectionName
-+ );
+ );
+ const remoteRecords = data ?? [];
+
+ const serialized = await lazy.RemoteSettingsWorker.canonicalStringify(
+ remoteRecords,
+ expectedTimestamp
- );
++ );
+ const bytes = new TextEncoder().encode(serialized);
+ const metadata = {
+ app_build_id: Services.appinfo.appBuildID,
@@ -615,7 +632,6 @@ index ae94f272d8..75589ff02e 100644
+ size: bytes.length,
+ },
+ }
-+
return {
- remoteTimestamp,
+ remoteTimestamp: expectedTimestamp,
@@ -623,10 +639,10 @@ index ae94f272d8..75589ff02e 100644
remoteRecords,
};
--
-2.37.2
+2.39.0
-From b6ce5faacf9bdf97066c7182399b58d5ef91a445 Mon Sep 17 00:00:00 2001
+From 3f0d975225fb9d786eb8b4ae303f49f96f8d91e1 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()
@@ -648,7 +664,7 @@ occurs during the session.
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 75589ff02e..90280fc848 100644
+index c8a0898367..4b35ad0eef 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
@@ -22,6 +22,7 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
@@ -667,7 +683,7 @@ index 75589ff02e..90280fc848 100644
XPCOMUtils.defineLazyGetter(lazy, "console", () => lazy.Utils.log);
-@@ -319,6 +321,11 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -324,6 +326,11 @@ class RemoteSettingsClient extends EventEmitter {
this._lastCheckTimePref = lastCheckTimePref;
this._verifier = null;
this._syncRunning = false;
@@ -679,7 +695,7 @@ index 75589ff02e..90280fc848 100644
// This attribute allows signature verification to be disabled, when running tests
// or when pulling data from a dev server.
-@@ -348,6 +355,11 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -353,6 +360,11 @@ class RemoteSettingsClient extends EventEmitter {
this.db.identifier = this.identifier;
}
@@ -691,7 +707,7 @@ index 75589ff02e..90280fc848 100644
get identifier() {
return `${this.bucketName}/${this.collectionName}`;
}
-@@ -419,6 +431,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -426,6 +438,10 @@ class RemoteSettingsClient extends EventEmitter {
let lastModified = forceSync ? null : await this.db.getLastModified();
let hasLocalData = lastModified !== null;
@@ -702,7 +718,7 @@ index 75589ff02e..90280fc848 100644
if (forceSync) {
if (!this._importingPromise) {
this._importingPromise = (async () => {
-@@ -527,7 +543,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -541,7 +557,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.
@@ -714,7 +730,7 @@ index 75589ff02e..90280fc848 100644
}
lazy.console.debug(
-@@ -567,6 +586,12 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -581,6 +600,12 @@ class RemoteSettingsClient extends EventEmitter {
return final;
}
@@ -728,10 +744,10 @@ index 75589ff02e..90280fc848 100644
* Synchronize the local database with the remote server.
*
--
-2.37.2
+2.39.0
-From 617d90b265e5d82aa964247f3bd68eb92ebd2cf0 Mon Sep 17 00:00:00 2001
+From 137f0c81f37356fb97e7037ee64c2fa65ed242ea 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
@@ -753,7 +769,7 @@ noticeable performance issues.
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 90280fc848..3d9f04696f 100644
+index 4b35ad0eef..a8ce913d8e 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
@@ -19,6 +19,7 @@ const { Downloader } = ChromeUtils.import(
@@ -764,7 +780,7 @@ index 90280fc848..3d9f04696f 100644
ClientEnvironmentBase:
"resource://gre/modules/components-utils/ClientEnvironment.jsm",
Database: "resource://services-settings/Database.jsm",
-@@ -1132,7 +1133,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1148,7 +1149,10 @@ class RemoteSettingsClient extends EventEmitter {
const old = oldById.get(r.id);
if (old) {
oldById.delete(r.id);
@@ -777,10 +793,10 @@ index 90280fc848..3d9f04696f 100644
}
} else {
--
-2.37.2
+2.39.0
-From 66122f118e859c33f1d972b658340dfc43b4b875 Mon Sep 17 00:00:00 2001
+From 3e1e4c19780fd84fd0fdeaaa222239b4572fb251 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
@@ -798,10 +814,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 3d9f04696f..e102c8b89d 100644
+index a8ce913d8e..19883607f2 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -256,7 +256,7 @@ class AttachmentDownloader extends Downloader {
+@@ -261,7 +261,7 @@ class AttachmentDownloader extends Downloader {
allRecords
.filter(r => !!r.attachment)
.map(r =>
@@ -810,7 +826,7 @@ index 3d9f04696f..e102c8b89d 100644
)
);
}
-@@ -1092,7 +1092,7 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1108,7 +1108,7 @@ class RemoteSettingsClient extends EventEmitter {
// Signature failed, clear local DB because it contains
// bad data (local + remote changes).
lazy.console.debug(`${this.identifier} clear local data`);
@@ -819,7 +835,7 @@ index 3d9f04696f..e102c8b89d 100644
// Local data was tampered, throw and it will retry from empty DB.
lazy.console.error(`${this.identifier} local data was corrupted`);
throw new CorruptedDataError(this.identifier);
-@@ -1114,7 +1114,7 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1130,7 +1130,7 @@ class RemoteSettingsClient extends EventEmitter {
// _importJSONDump() only clears DB if dump is available,
// therefore do it here!
if (imported < 0) {
@@ -828,7 +844,7 @@ index 3d9f04696f..e102c8b89d 100644
}
}
}
-@@ -1154,6 +1154,12 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1170,6 +1170,12 @@ class RemoteSettingsClient extends EventEmitter {
return syncResult;
}
@@ -842,10 +858,10 @@ index 3d9f04696f..e102c8b89d 100644
* Fetch information from changeset endpoint.
*
--
-2.37.2
+2.39.0
-From 3ef189a633dfbe5a95cf5b290808b0003e8ba5c1 Mon Sep 17 00:00:00 2001
+From 8da7335ac9baa4f524293ec810af7b360009ec19 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
@@ -860,10 +876,10 @@ necessary cleanup. So remove the checks.
1 file changed, 5 deletions(-)
diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index e102c8b89d..9cb3455aaf 100644
+index 19883607f2..8b4420943f 100644
--- a/services/settings/RemoteSettingsClient.jsm
+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -1034,14 +1034,9 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1050,14 +1050,9 @@ class RemoteSettingsClient extends EventEmitter {
updated: [],
deleted: [],
};
@@ -879,10 +895,10 @@ index e102c8b89d..9cb3455aaf 100644
await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, {
clear: retry,
--
-2.37.2
+2.39.0
-From 3d8d5ef12ab1c06cff841a9cca15a575750fc48d Mon Sep 17 00:00:00 2001
+From 5b40750eb05b0eb230ec44f0f5640ecc8d5e3b47 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
@@ -892,7 +908,7 @@ Subject: [PATCH 12/13] Attachments: load only from dump and drop cached
1 file changed, 8 insertions(+), 29 deletions(-)
diff --git a/services/settings/Attachments.jsm b/services/settings/Attachments.jsm
-index 00bf059d55..979e22c06a 100644
+index 67a1f32261..6ff0a3b7c6 100644
--- a/services/settings/Attachments.jsm
+++ b/services/settings/Attachments.jsm
@@ -151,9 +151,10 @@ class Downloader {
@@ -903,7 +919,7 @@ index 00bf059d55..979e22c06a 100644
fallbackToDump = false,
} = options || {};
+ const fallbackToCache = false;
-+
++
if (!attachmentId) {
// Check for pre-condition. This should not happen, but it is explicitly
// checked to avoid mixing up attachments, which could be dangerous.
@@ -923,7 +939,7 @@ index 00bf059d55..979e22c06a 100644
+ await this.cacheImpl.delete(attachmentId);
} catch (e) {
// Failed to read from cache, e.g. IndexedDB unusable.
- Cu.reportError(e);
+ console.error(e);
@@ -300,7 +302,7 @@ class Downloader {
* @returns {String} the absolute file path to the downloaded attachment.
*/
@@ -971,10 +987,10 @@ index 00bf059d55..979e22c06a 100644
/**
--
-2.37.2
+2.39.0
-From 0ba5c3f95dd3c8a468d49c73b5067bd78deb1442 Mon Sep 17 00:00:00 2001
+From cac0e35f9b818570f37681ee7cd12071e8e5d747 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
@@ -999,10 +1015,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 192915c16f..307f983896 100644
+index fca74af174..d05d118e58 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
-@@ -12540,7 +12540,7 @@
+@@ -13250,7 +13250,7 @@
# 3: Consult CRLite and enforce "Not Revoked" results, but defer to OCSP for "Revoked".
- name: security.pki.crlite_mode
type: RelaxedAtomicUint32
@@ -1012,10 +1028,10 @@ index 192915c16f..307f983896 100644
- name: security.tls.version.min
diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp
-index aab4319651..f21432a7e3 100644
+index 5844ffecfd..6084ffc93c 100644
--- a/security/manager/ssl/nsNSSComponent.cpp
+++ b/security/manager/ssl/nsNSSComponent.cpp
-@@ -1434,6 +1434,7 @@ void nsNSSComponent::setValidationOptions(
+@@ -1430,6 +1430,7 @@ void nsNSSComponent::setValidationOptions(
CRLiteMode defaultCRLiteMode = CRLiteMode::Disabled;
CRLiteMode crliteMode =
static_cast<CRLiteMode>(StaticPrefs::security_pki_crlite_mode());
@@ -1024,5 +1040,5 @@ index aab4319651..f21432a7e3 100644
case CRLiteMode::Disabled:
case CRLiteMode::TelemetryOnly:
--
-2.37.2
+2.39.0
diff --git a/libre/iceweasel/9002-FSDG-preference-defaults.patch b/libre/iceweasel/9002-FSDG-preference-defaults.patch
index a5e843578..1804afa9c 100644
--- a/libre/iceweasel/9002-FSDG-preference-defaults.patch
+++ b/libre/iceweasel/9002-FSDG-preference-defaults.patch
@@ -106,3 +106,105 @@ index af9c349671..0ecb9726bd 100644
--
2.35.1
+From 842d945be96cddf4192fed890066f96bc9894a83 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Tue, 17 Jan 2023 21:59:51 +0100
+Subject: [PATCH] FSDG: Remove some references to AMO
+
+* addons.mozilla.org (AMO) is a third-party repository, not compatible
+ with the FSDG, because it is not committed to only including free
+ software, see [1]. The work to remove the references to it from
+ Iceweasel right now is far from being complete.
+* Remove URLs to services.addons.mozilla.org as one of these URLs is
+ used to fetch recommendations from AMO after the click on Extensions
+ button from the toolbar.
+* Disable abuse reporting functionality as it uses the API on the same
+ hostname. Sanity check during build preparation should verify this
+ hostname is not available in the sources, and make it clear the patch
+ needs reworking when that check fails.
+* Remove AMO URL to fetch langpacks. These are for Firefox, and Parabola
+ has Iceweasel langpacks anyway.
+* Remove some AMO URLs from mobile.js. There's no Android version of
+ Iceweasel AFAIK, but these are some steps towards total removal of
+ references to AMO.
+* Remove some AMO related preferences from vendor.js.in and patch them
+ directly in the sources, to avoid the rotting and to get notified
+ quickly when Mozilla introduces any changes to them in the future.
+
+[1] https://labs.parabola.nu/issues/2409#note-4
+---
+ browser/app/profile/firefox.js | 10 +++++-----
+ mobile/android/app/mobile.js | 8 ++++----
+ modules/libpref/init/all.js | 8 ++++----
+ 3 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
+index 9b56ba74cf..cc3f0b88f8 100644
+--- a/browser/app/profile/firefox.js
++++ b/browser/app/profile/firefox.js
+@@ -37,11 +37,11 @@ pref("extensions.postDownloadThirdPartyPrompt", true);
+
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true);
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v4/addons/search/?guid=%IDS%&lang=%LOCALE%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
+-pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
+-pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v4/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
+-pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
++pref("extensions.getAddons.get.url", "");
++pref("extensions.getAddons.search.browseURL", "https://www.parabola.nu/packages/?q=%TERMS%");
++pref("extensions.getAddons.link.url", "https://www.parabola.nu/packages/?q=iceweasel-");
++pref("extensions.getAddons.langpacks.url", "");
++pref("extensions.getAddons.discovery.api_url", "");
+
+ // The URL for the privacy policy related to recommended extensions.
+ pref("extensions.recommendations.privacyPolicyUrl", "https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=privacy-policy-link#addons");
+diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
+index 71e2959f18..acb7e4072c 100644
+--- a/mobile/android/app/mobile.js
++++ b/mobile/android/app/mobile.js
+@@ -183,10 +183,10 @@ pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla
+
+ /* preferences for the Get Add-ons pane */
+ pref("extensions.getAddons.cache.enabled", true);
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/android/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
+-pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/android/collections/4757633/mob/?page=1&collection_sort=-popularity");
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v4/addons/search/?guid=%IDS%&lang=%LOCALE%");
+-pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v4/addons/language-tools/?app=android&type=language&appversion=%VERSION%");
++pref("extensions.getAddons.search.browseURL", "");
++pref("extensions.getAddons.browseAddons", "");
++pref("extensions.getAddons.get.url", "");
++pref("extensions.getAddons.langpacks.url", "");
+
+ /* preference for the locale picker */
+ pref("extensions.getLocales.get.url", "");
+diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
+index 5ec8703f29..48e92b1478 100644
+--- a/modules/libpref/init/all.js
++++ b/modules/libpref/init/all.js
+@@ -1938,11 +1938,11 @@ pref("services.settings.poll_interval", 86400); // 24H
+ // other channels always report events.
+ pref("services.common.uptake.sampleRate", 1); // 1%
+
+-pref("extensions.abuseReport.enabled", true);
++pref("extensions.abuseReport.enabled", false);
+ // Allow AMO to handoff reports to the Firefox integrated dialog.
+ pref("extensions.abuseReport.amWebAPI.enabled", true);
+-pref("extensions.abuseReport.url", "https://services.addons.mozilla.org/api/v4/abuse/report/addon/");
+-pref("extensions.abuseReport.amoDetailsURL", "https://services.addons.mozilla.org/api/v4/addons/addon/");
++pref("extensions.abuseReport.url", "");
++pref("extensions.abuseReport.amoDetailsURL", "");
+
+ // Blocklist preferences
+ pref("extensions.blocklist.enabled", true);
+@@ -3362,7 +3362,7 @@ pref("extensions.webextensions.performanceCountersMaxAge", 5000);
+ // Whether to allow the inline options browser in HTML about:addons page.
+ pref("extensions.htmlaboutaddons.inline-options.enabled", true);
+ // Show recommendations on the extension and theme list views.
+-pref("extensions.htmlaboutaddons.recommendations.enabled", true);
++pref("extensions.htmlaboutaddons.recommendations.enabled", false);
+
+ // The URL for the privacy policy related to recommended add-ons.
+ pref("extensions.recommendations.privacyPolicyUrl", "");
+--
+2.39.0
diff --git a/libre/iceweasel/9004-FSDG-misc.patch b/libre/iceweasel/9004-FSDG-misc.patch
index 591daa0c3..63330af9c 100644
--- a/libre/iceweasel/9004-FSDG-misc.patch
+++ b/libre/iceweasel/9004-FSDG-misc.patch
@@ -993,22 +993,86 @@ index 2217ca055c..0000000000
--
2.36.0
+From 842d945be96cddf4192fed890066f96bc9894a83 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Tue, 17 Jan 2023 21:59:51 +0100
+Subject: [PATCH] FSDG: Remove 'Extensions for developers' menu item
+
+ Main menu -> 'More tools' -> 'Extensions for developers' opens
+ addons.mozilla.org (AMO), a third-party repository, not compatible
+ with the FSDG, because it is not committed to only including free
+ software, see [1].
+
+[1] https://labs.parabola.nu/issues/2409#note-4
+---
+ browser/components/newtab/lib/CFRPageActions.jsm | 2 +-
+ devtools/client/framework/devtools-browser.js | 3 ++-
+ devtools/client/menus.js | 2 +-
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/browser/components/newtab/lib/CFRPageActions.jsm b/browser/components/newtab/lib/CFRPageActions.jsm
+index 2ca59d73e3..6e06ee7c93 100644
+--- a/browser/components/newtab/lib/CFRPageActions.jsm
++++ b/browser/components/newtab/lib/CFRPageActions.jsm
+@@ -38,7 +38,7 @@ const SUMO_BASE_URL = Services.urlFormatter.formatURLPref(
+ "app.support.baseURL"
+ );
+ const ADDONS_API_URL =
+- "https://services.addons.mozilla.org/api/v4/addons/addon";
++ "";
+
+ const DELAY_BEFORE_EXPAND_MS = 1000;
+ const CATEGORY_ICONS = {
+diff --git a/devtools/client/framework/devtools-browser.js b/devtools/client/framework/devtools-browser.js
+index 8357df95d0..a9eb87c232 100644
+--- a/devtools/client/framework/devtools-browser.js
++++ b/devtools/client/framework/devtools-browser.js
+@@ -155,8 +155,9 @@ var gDevToolsBrowser = (exports.gDevToolsBrowser = {
+ toggleMenuItem("menu_browserConsole", false);
+ toggleMenuItem("menu_responsiveUI", false);
+ toggleMenuItem("menu_eyedropper", false);
+- toggleMenuItem("extensionsForDevelopers", false);
+ }
++
++ toggleMenuItem("extensionsForDevelopers", false);
+ },
+
+ /**
+diff --git a/devtools/client/menus.js b/devtools/client/menus.js
+index b47e1c4a3f..fd62bfd3df 100644
+--- a/devtools/client/menus.js
++++ b/devtools/client/menus.js
+@@ -189,7 +189,7 @@ exports.menuitems = [
+ appMenuL10nId: "appmenu-developer-tools-extensions",
+ oncommand(event) {
+ openDocLink(
+- "https://addons.mozilla.org/firefox/collections/mozilla/webdeveloper/"
++ ""
+ );
+ },
+ },
+--
+2.39.0
+
diff --git a/browser/app/permissions b/browser/app/permissions
-index 991284081d..888cc811ce 100644
+index 5bc1d66fcd..a8252ab784 100644
--- a/browser/app/permissions
+++ b/browser/app/permissions
-@@ -15,11 +15,5 @@ origin uitour 1 https://support.mozilla.org
+@@ -17,14 +17,8 @@ origin uitour 1 https://truecolors.firefox.com
origin uitour 1 about:home
origin uitour 1 about:newtab
-
+
-# XPInstall
-origin install 1 https://addons.mozilla.org
-
# Remote troubleshooting
origin remote-troubleshooting 1 https://support.mozilla.org
--
+
-# addon install
-origin install 1 https://fpn.firefox.com
+-
+ # autoplay video/audio
+ origin autoplay-media 1 about:welcome
diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
index 7d37d26..4ebbc06 100644
--- a/browser/components/preferences/sync.inc.xhtml
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 95e6b3349..b91a8b2b4 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -73,7 +73,7 @@
pkgname=iceweasel
epoch=1
-pkgver=108.0
+pkgver=109.0
pkgrel=1
pkgrel+=.parabola1
_brandingver=102.0-1
@@ -156,6 +156,7 @@ source=(
$pkgname.desktop
identity-icons-brand.svg
0001-libwebrtc-screen-cast-sync.patch
+ 0002-Bug-1804973-Wayland-Check-size-for-valid-EGLWindows-.patch
)
source=(${source[*]/identity-icons-brand.svg/})
source+=(
@@ -166,7 +167,6 @@ source+=(
9004-FSDG-misc.patch
process-json-files.py
vendor.js.in
- zstandard-0.19.0.diff
)
source_armv7h=(build-arm-libopus.patch)
source_i686=(
@@ -182,38 +182,37 @@ validpgpkeys+=(
'BFA8008A8265677063B11BF47171986E4B745536' # Andreas Grapentin
'3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40' # bill-auger
)
-sha256sums=('ce0d31f89111fcce9e2dd490d810b6a704f7214ba0186fa2d2ec960099808e63'
+sha256sums=('0678a03b572b5992fb85f0923a25b236acf81e5ea2c08e549b63a56076a69351'
'SKIP'
'9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58'
- '5c164f6dfdf2d97f3f317e417aaa2e6ae46a9b3a160c3162d5073fe39d203286')
+ 'b1ce6936749ab1614bbce4fddc87058341ed207dde77af609fdc5ac83538517a'
+ '34439dfb17371520e5e99444096ded97325ab2559b9039ae16055975d015ac51')
sha256sums+=('d29c194ed7b3b4fa0f511866723118938c2be40077b4e9aadf8b3e6bfff91049'
'SKIP'
- '29117bc6311dcd05c9427877fde4ec491f328b758526edf8da534f68054097b9'
- 'a2c71759290dd48c87bf8aacb681040dcaefdabe0d57317de361d2d2d509664b'
- '13b701372b6fb35b96a1d58853db64643feb9be061ebc461b41ceca5de8eea62'
- '0c5333c4fc28ba9ca5b4d00127918d662fe8c570d4ebc0a64e5174e0ef41ae01'
- '6a0250c20a6f4cbf0ff1320c194342fe691ece56959d87de41be8f82a8feca65'
- '5095942e37c4d9814788b7ac5a48661fbcf1d2ced56a02b74e5a58e7e8a5bd45'
- '8f5ae64094170978ff97f2c14a14a3ef5e69083aa8b513630725aeaa7e892e8f')
+ '58f6cdb31df0da4c8bf599d033ceb8f97c3e19b21c72b5b4cb70f13e1dfa5139' # 9001-FSDG-sync-remote-settings-with-local-dump.patch
+ '1e4d28bd87688334b20cce9213490111e004ea6bcf1654f550da8ebe6bdbf3ef' # 9002-FSDG-preference-defaults.patch
+ '13b701372b6fb35b96a1d58853db64643feb9be061ebc461b41ceca5de8eea62' # 9003-FSDG-urihandlers.patch
+ '18a71507cabd1d02f9d1e2b78bc29f157833b2a6b3fed20457524821fed555a1' # 9004-FSDG-misc.patch
+ '591b07d4a23bf978329420b7d7f53e16824dfbbf30ef0ffe8efd73a6cd836624' # process-json-files.py
+ '8e113fd2730be3fd11b2a24918dd62e8741513cf4dce9819d8eae358c5411adc') # vendor.js.in
sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
sha256sums_i686=('2f0c81a38c4578f68f5456b618fe84a78974072821488173eb55e0e72287e353'
'10c5276eab2e87f400a6ec15d7ffbef3b0407ee888dea36f1128927ca55b9041'
'1c2015e9f59c2c3bc898e04c6c6d33523f835638fd314d24944a8063cbce79d8'
'2fb39374fd3d80eea9e346032a2a4b2bc2e357dee7380855b24bcf19b1335d06')
-b2sums=('ac8e5d613899df4634d7126735b219938b48f49c9306c09eb1669fadcc362f6d492ec3cb6d8a8113eced73fc3351c54d6e5d4ce70b1c77a3a87db22adb76ce81'
+b2sums=('56ec8c49f0dd1cb4ba29afb5d68fd724614b993b2a1a59b9c03bf6349bae980d558ef18dbe2170af59f3e690308b753a88619e2abe48db58af5b7fcbecfa03f5'
'SKIP'
'f86353bbba05d8994db34c6abb66094aa61d2c37c8599930dbe9d215413f0f718a1ce55a8f2d07a65074c3947e28fc80d44c925bd9be239a870f82d2a1803635'
- '28a22a11572fba86bf8412f86a2eca8dc34ce42e790d9c9b1e0b1a66959b2b0240353e0aef22741d6d2baa08bc7ff35ddfd3770b706654ffa8089a26495e4ee3')
+ '3a7de17f0a56c4ccbbd4754a63a8798f787e87acc947b0fc0c1e5086c99337979b7f66a741fdc5475b34085eaf80dbc99d742c22a95d6ed412e38012794a44c9'
+ 'ad4618e6c0e6ac8cca387579f26e8f9a0eaab8e6f8ac8f9e2ad179bce09f5247848a9ce78d4042f3e400771f9c0914e8d6504f792d002481529e755f5eaf8916')
b2sums+=('c2a2ead1b44c563583abb5cd3579e8f2724ea79e12aba1b315f201a09547d611b4a3c98de12f063b25826fd1520562d411ab917780bab4d78a1240fe56096b1b'
'SKIP'
- 'f4c439b01302f2db242656fce1b15de483ef146ae9d7783809386f4295ce09eb1f5629335f2c1c296d8afde46e01e10fc01c97b1ea7d8c6c8c48d15e41e8fdc8'
- '2eaacb9fb15391557a36cae10ec6d70b5a4ab6f71c4b24d268f5c0df78b272f0d88c9c7498ae92c60f1436dff82dc8c49e94b0a535535329a2419302aee7b7a8'
- '9e4ccfb8850d9f9a5222f5186b35f2ae7986b6c6d435de024b109a6fa01e65a1362664cfb6ea81621387cf33364cc8d3d466fae1bee24ab5fc7e23c4cb17bf2c'
- '42e08d0872dffa94ec73d29c08b60ce4d966be2f785e07a01ec3ef2ac05bbe895675655b60e85f9c705878291df7ead69e7ef9d7bce8c95a47b6a124231f889c'
- '2a746251ffdbe91bc8933c798242a32dfda7f9621d26924a752e5fa9b5f97a1b8cd83fbb0e9063d62fc36e08f8222371ac7873202c2ce5f8498c12024b4ccdc4'
- '5f0bb717734f94594e146d72a95e65bf631716affca84c5cdd1d3777f2c9ddd1a9ec243c806f7a846a5cfcaa5793d8f84b0e0720d4f868ae6368857a69506427'
- '1b8ace4e8fc6ebc99d527c33781182218c4b8c640914cc8e800616a1e370cb1ea6da890bcf45fb753a4594513755585290141fe9c12fbc039c00f56ade6cf0c4'
- 'dfce473a5492e79faf9120ff4026861623cfb89d39046f96ea52ef83e01d1288ec0bf46b5bde4a68b24c9562493e66028621555f69a783e5f89cb2d0897bb4aa')
+ '553f96ab709cfc60324829b7225f89081b0aae06fd6d52699e83ee8483dc23ff227caec68949cf62caaffad09a26e817287508000dae5df60d3062de2e6a8bce' # 9001-FSDG-sync-remote-settings-with-local-dump.patch
+ 'bdb08d681f6f17ae9f8e0bb37e23087a0401d4be26c91ead3eda4654362ad37c3b1cddf69596e2b2278f77e0fd45714b7dbb7a97aca35aae5417e916079d24bf' # 9002-FSDG-preference-defaults.patch
+ '9e4ccfb8850d9f9a5222f5186b35f2ae7986b6c6d435de024b109a6fa01e65a1362664cfb6ea81621387cf33364cc8d3d466fae1bee24ab5fc7e23c4cb17bf2c' # 9003-FSDG-urihandlers.patch
+ 'd63a2a7514f305a6c42bdf8fe228cbf905f1217431c3dbac6093426b04898cd2e5b49dfb592c56179495fbd71f7d7e074b759a5b5b181dcb4f3da86cb1272236' # 9004-FSDG-misc.patch
+ 'f53c0bdd1b1e09f3e4e4e376f6ada654fc6f5a02a248c87daad1f644fc8cf9bdb1009802f352b59d76b17c6d6a81745da1e7c59a5e2421fd2b8475bb9ba34798' # process-json-files.py
+ '5302b6abcfec3155c578e0664e6a0ac921234c5912d74c4a9b0feb3a051ed4ef5f11b93ee37739a3a92fc6693683374f92ac9c3f560780f879c4249d0718157a') # vendor.js.in
b2sums_armv7h=('6e5980e56343a23bce4fcda58f6abc8f2debca0c278c87b09e53abb17ff15849c26e8df3bbff2388985f8fe5a4e9be9982c602ef7159546f0ae335fca1000a41')
b2sums_i686=('97035e44cd1deae7bb2422c81eec7294feb51f43f460b4d7ddba083e1d8a48d265a36ca43cf1d9dee49b01ee6df0c76e0f6916cc73cb7ad9caa1c235a59da0e4'
'009789d3bb93ba418929019135804fc3de7de161e5be8efba7fc75646fbde395720be5b7a7d3f5d1671f459fdd2944dd14aca306bbf1c975436d4f7765d62d15'
@@ -321,6 +320,12 @@ _check_patching() {
! echo "9003-FSDG-misc.patch needs reworking" || \
return 1
+ # services.addons.mozilla.org API endpoint
+ local amo_api_endpoint='services.addons.mozilla.org'
+ ! grep -qr $amo_api_endpoint &> /dev/null || \
+ ! echo '9002-FSDG-preference-defaults.patch needs reworking: AMO API endpoint hostname found in source tree' || \
+ return 1
+
# Remote Settings
local settings_server='firefox.settings.services.mozilla.com'
! grep -qr $settings_server &> /dev/null || \
@@ -344,9 +349,8 @@ prepare() {
# https://src.fedoraproject.org/rpms/firefox/blob/rawhide/f/libwebrtc-screen-cast-sync.patch
patch -Np1 -i ../0001-libwebrtc-screen-cast-sync.patch
- # Unbreak build with python-zstandard 0.19.0
- echo "applying zstandard-0.19.0.diff"
- patch -Np1 -i ../zstandard-0.19.0.diff
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1804973
+ patch -Np1 -i ../0002-Bug-1804973-Wayland-Check-size-for-valid-EGLWindows-.patch
# arch-specific technical patching
case ${CARCH} in
@@ -690,9 +694,7 @@ END
rm -v toolkit/crashreporter/tools/upload_symbols.py
rm -frv third_party/rust/winapi-{i686,x86_64}-pc-windows-gnu/**/*.a
-
## patching sanity checks ##
-
_check_patching
}
@@ -917,20 +919,4 @@ END
# else # anti-feature
# cp -fvt "$startdir" obj/dist/*crashreporter-symbols-full.tar.zst # anti-feature
# fi
-
- # BEGIN RENAME_PROFILE - temporary
- # replace binary with a temporary wrapper, to rename the user profile directory
- # NOTE: prior to v99, if another 'firefox' is installed in addition to iceweasel,
- # both applications would share a profile, which is not very sane behavior.
- # TODO: this 'rename-profile.sh' source file, and the following two LOC,
- # could be removed after a reasonable deprecation period (eg: in 2023)
- mv "${pkgdir}"/usr/lib/${pkgname}/ice{,-}weasel
- install -Dm755 ../rename-profile.sh "${pkgdir}"/usr/lib/${pkgname}/iceweasel
- # END RENAME_PROFILE
}
-
-
-# BEGIN RENAME_PROFILE - temporary - see note in package()
-depends+=(gxmessage) ; source+=(rename-profile.sh) ;
-sha256sums+=('da332a538662b6f8ebe67c0aee85a12af57a6f20309b1eec9f30add3ac1cbc4f')
-# END RENAME_PROFILE
diff --git a/libre/iceweasel/process-json-files.py b/libre/iceweasel/process-json-files.py
index faf2cd412..0958872dc 100644
--- a/libre/iceweasel/process-json-files.py
+++ b/libre/iceweasel/process-json-files.py
@@ -1,6 +1,6 @@
#! /usr/bin/python3
-# Copyright (C) 2020, 2021 grizzlyuser <grizzlyuser@protonmail.com>
+# Copyright (C) 2020, 2021, 2022, 2023 grizzlyuser <grizzlyuser@protonmail.com>
# Based on: https://gitlab.trisquel.org/trisquel/wrapage-helpers/-/blob/81881d89b2bf7d502dd14fcccdb471fec6f6b206/helpers/DATA/firefox/reprocess-search-config.py
# Below is the notice from the original author:
#
diff --git a/libre/iceweasel/rename-profile.sh b/libre/iceweasel/rename-profile.sh
deleted file mode 100644
index 655cb5335..000000000
--- a/libre/iceweasel/rename-profile.sh
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-# rename existing 'firefox' user profile directory to 'iceweasel'
-#
-# NOTE: Prior to v99, if another Firefox is installed in addition to Iceweasel,
-# both applications would share a profile, which is not very sane behavior.
-# TODO: This source file could be deleted after a reasonable deprecation period.
-#
-# NOTE: The Iceweasel binary is inaccessible via the usual means
-# (`iceweasel`, `/usr/bin/iceweasel`, or the iceweasel.desktop launcher).
-# The binary has been renamed to ice-weasel, and replaced by this script.
-# Therefore all usual means of launching, will go through this script.
-
-
-Defer()
-{
- gxmessage -title "Parabola Iceweasel Updater" \
- -buttons "OK:0" \
- -default "OK" \
- -font "sans 16" \
- -geometry 620x460 \
- -center -wrap -ontop -sticky \
-"A new version of Iceweasel has been installed;
-but the upgrade can not continue just yet.
-
-A previous version of Iceweasel is already running.
-
-Please close all running Iceweasel windows,
-then start Iceweasel again.
-
-If this message persists, try restarting the computer."
-}
-
-Prompt()
-{
- gxmessage -title "Parabola Iceweasel Updater" \
- -buttons "Move:0,Copy:1" \
- -default "Move" \
- -font "monospace 12" \
- -geometry 780x580 \
- -center -wrap -ontop -sticky \
-"A new version of Iceweasel has been installed; but the upgrade can not continue just yet.
-
-This upgrade intends to move the storage location of the Iceweasel user profile, from ~/.mozilla/firefox to ~/.mozilla/iceweasel, in order to isolate it from other Firefox variants.
-
-You have two options:
-
- * 'Move': This is the recommended option,
- if you do not have any other Firefox variants installed.
- However, if you have another Firefox variant installed,
- the other's preferences may be reset to defaults.
- Parabola does not distribute any other Firefox variant,
- which would be affected by this decision.
- If all software on your computer came from the Parabola repos
- (as recommended), then 'Move' is the best option.
-
- * 'Copy': If you have another Firefox variant installed,
- it will keep all user preferences as they are,
- and Iceweasel will inherit the preferences.
-
-Note that neither option would affect Icecat, nor any other Firefox variant
-which does not store user profiles under ~/.mozilla/firefox.
-"
-}
-
-Launch() { /usr/lib/iceweasel/ice-weasel "$@" ; }
-
-
-if [[ -d ~/.mozilla/firefox ]] && \
- ! [[ -e ~/.mozilla/iceweasel ]]
-then # This is the expected case, where the user has previously run
- # either Iceweasel or Firefox on this system;
- # and this is the first time, that this script has run.
- pids=( $(pgrep --euid ${EUID} firefox ) \
- $(pgrep --euid ${EUID} iceweasel) )
- if [[ -n "${pids[*]/$$/}" ]]
- then # In this case, Firefox or Iceweasel is already running;
- # so ask the user to terminate them.
- Defer
- else # Ready to move the profile directory.
- # Give the user the option to preserve the Firefox profile,
- # then launch the binary.
- if Prompt
- then mv ~/.mozilla/{firefox,iceweasel}
- else cp -a ~/.mozilla/{firefox,iceweasel}
- fi
- Launch "$@"
- fi
-else # This branch is executed in any of three cases:
- # 1) The user has run Iceweasel or some other Firefox variant in the past,
- # AND ~/.mozilla/iceweasel already exists for some reason.
- # 2) The expected case, where the user has previously selected 'Copy'
- # during a previous run of this script,
- # perhaps from a previous Iceweasel release.
- # 3) The remaining expected case, where the user has never run
- # neither Iceweasel nor Firefox on this system.
- # So, simply launch the binary.
- # This is potentially problematic in the (unlikely) case #1;
- # but is easily resolved manually: $ rm -rf ~/.mozilla/iceweasel
- Launch "$@"
-fi
diff --git a/libre/iceweasel/vendor.js.in b/libre/iceweasel/vendor.js.in
index 1569e9858..88984a761 100644
--- a/libre/iceweasel/vendor.js.in
+++ b/libre/iceweasel/vendor.js.in
@@ -281,11 +281,6 @@ pref("dom.input.dirpicker", false);
// https://labs.parabola.nu/issues/1628
pref("security.sandbox.content.syscall_whitelist", "16");
-// Disable recommendations of extensions and themes on about:addons page
-// https://labs.parabola.nu/issues/2409
-pref("extensions.htmlaboutaddons.discover.enabled", false);
-pref("extensions.htmlaboutaddons.recommendations.enabled", false);
-
// Disable "Recommend extensions as you browse" in about:preferences#general
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
@@ -293,10 +288,6 @@ pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
pref("extensions.webextensions.restrictedDomains", "");
pref("privacy.resistFingerprinting.block_mozAddonManager", true);
-// URL for 'Find more extensions / themes' in about:addons page
-pref("extensions.getAddons.search.browseURL", "https://www.parabola.nu/packages/?q=%TERMS%");
-pref("extensions.getAddons.link.url", "https://www.parabola.nu/packages/?q=iceweasel-");
-
// Disable 'What's New' gift icon in toolbar and main menu.
// It shows downloaded news that sometimes contain links to non-free software like mobile Firefox.
pref("browser.messaging-system.whatsNewPanel.enabled", false);
@@ -306,7 +297,7 @@ pref("browser.messaging-system.whatsNewPanel.enabled", false);
pref("extensions.getAddons.showPane", false);
// Disable some bits of Normandy, subsystem that allows Mozilla to make changes remotely.
-// Should be already disbled by setting MOZ_NORMANDY to False in build configuration.
+// Should be already disabled by setting MOZ_NORMANDY to False in build configuration.
// Setting these preferences just in case and to not frustrate users.
pref("app.normandy.api_url", "http://127.0.0.1/");
pref("app.normandy.enabled", false);
diff --git a/libre/iceweasel/zstandard-0.19.0.diff b/libre/iceweasel/zstandard-0.19.0.diff
deleted file mode 100644
index 7bf4668cc..000000000
--- a/libre/iceweasel/zstandard-0.19.0.diff
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git i/python/sites/mach.txt w/python/sites/mach.txt
-index 01f4f8c23da3b..85cfaf2b273ac 100644
---- i/python/sites/mach.txt
-+++ w/python/sites/mach.txt
-@@ -134,4 +134,4 @@ pypi-optional:glean-sdk==50.1.0:telemetry will not be collected
- # We aren't (yet) able to pin packages in automation, so we have to
- # support down to the oldest locally-installed version (5.4.2).
- pypi-optional:psutil>=5.4.2,<=5.8.0:telemetry will be missing some data
--pypi-optional:zstandard>=0.11.1,<=0.17.0:zstd archives will not be possible to extract
-+pypi-optional:zstandard>=0.11.1,<=0.19.0:zstd archives will not be possible to extract