From 8739ae12ddde57c4a895f36fb7e9470b6729a0846d839fa0a836b2243c1e7aed Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 2 Nov 2021 13:51:34 +0000 Subject: [PATCH] - Mozilla Firefox 94.0 * https://www.mozilla.org/en-US/firefox/94.0/releasenotes MFSA 2021-48 (bsc#1192250) * CVE-2021-38503 (bmo#1729517) iframe sandbox rules did not apply to XSLT stylesheets * CVE-2021-38504 (bmo#1730156) Use-after-free in file picker dialog * CVE-2021-38505 (bmo#1730194) Windows 10 Cloud Clipboard may have recorded sensitive user data * CVE-2021-38506 (bmo#1730750) Firefox could be coaxed into going into fullscreen mode without notification or warning * CVE-2021-38507 (bmo#1730935) Opportunistic Encryption in HTTP2 could be used to bypass the Same-Origin-Policy on services hosted on other ports * MOZ-2021-0003 (bmo#1736886) Universal XSS in Firefox for Android via QR Code URLs * CVE-2021-38508 (bmo#1366818) Permission Prompt could be overlaid, resulting in user confusion and potential spoofing * MOZ-2021-0004 (bmo#1659155) Web Extensions could access pre-redirect URL when their context menu was triggered by a user * CVE-2021-38509 (bmo#1718571) Javascript alert box could have been spoofed onto an arbitrary domain * CVE-2021-38510 (bmo#1731779) Download Protections were bypassed by .inetloc files on Mac OS * MOZ-2021-0005 (bmo#1719203) 'Copy Image Link' context menu action could have been abused OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=942 --- MozillaFirefox.changes | 49 +++ MozillaFirefox.spec | 18 +- firefox-93.0.source.tar.xz | 3 - firefox-93.0.source.tar.xz.asc | 16 - firefox-94.0.source.tar.xz | 3 + firefox-94.0.source.tar.xz.asc | 16 + firefox-kde.patch | 16 +- l10n-93.0.tar.xz | 3 - l10n-94.0.tar.xz | 3 + mozilla-bmo1602730.patch | 25 -- mozilla-bmo1725828.patch | 553 --------------------------- mozilla-bmo1729124.patch | 50 --- mozilla-kde.patch | 41 +- mozilla-silence-no-return-type.patch | 12 +- tar_stamps | 8 +- 15 files changed, 107 insertions(+), 709 deletions(-) delete mode 100644 firefox-93.0.source.tar.xz delete mode 100644 firefox-93.0.source.tar.xz.asc create mode 100644 firefox-94.0.source.tar.xz create mode 100644 firefox-94.0.source.tar.xz.asc delete mode 100644 l10n-93.0.tar.xz create mode 100644 l10n-94.0.tar.xz delete mode 100644 mozilla-bmo1602730.patch delete mode 100644 mozilla-bmo1725828.patch delete mode 100644 mozilla-bmo1729124.patch diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index 33022c3..fe425f0 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Sat Oct 30 07:52:22 UTC 2021 - Wolfgang Rosenauer + +- Mozilla Firefox 94.0 + * https://www.mozilla.org/en-US/firefox/94.0/releasenotes + MFSA 2021-48 (bsc#1192250) + * CVE-2021-38503 (bmo#1729517) + iframe sandbox rules did not apply to XSLT stylesheets + * CVE-2021-38504 (bmo#1730156) + Use-after-free in file picker dialog + * CVE-2021-38505 (bmo#1730194) + Windows 10 Cloud Clipboard may have recorded sensitive user data + * CVE-2021-38506 (bmo#1730750) + Firefox could be coaxed into going into fullscreen mode + without notification or warning + * CVE-2021-38507 (bmo#1730935) + Opportunistic Encryption in HTTP2 could be used to bypass the + Same-Origin-Policy on services hosted on other ports + * MOZ-2021-0003 (bmo#1736886) + Universal XSS in Firefox for Android via QR Code URLs + * CVE-2021-38508 (bmo#1366818) + Permission Prompt could be overlaid, resulting in user + confusion and potential spoofing + * MOZ-2021-0004 (bmo#1659155) + Web Extensions could access pre-redirect URL when their + context menu was triggered by a user + * CVE-2021-38509 (bmo#1718571) + Javascript alert box could have been spoofed onto an + arbitrary domain + * CVE-2021-38510 (bmo#1731779) + Download Protections were bypassed by .inetloc files on Mac OS + * MOZ-2021-0005 (bmo#1719203) + 'Copy Image Link' context menu action could have been abused + to see authentication tokens + * MOZ-2021-0006 (bmo#1724233) + URL Parsing may incorrectly parse internationalized domains + * MOZ-2021-0007 (bmo#1606864, bmo#1712671, bmo#1730048, bmo#1735152) + Memory safety bugs fixed in Firefox 94 and Firefox ESR 91.3 +- removed obsolete patches + * mozilla-bmo1602730.patch + * mozilla-bmo1725828.patch + * mozilla-bmo1729124.patch +- requires + NSS >= 3.71 + rust >= 1.53 +- fix Plasma detection (boo#1191825) +- fix Link error "undefined hidden symbol:" + https://github.com/openSUSE/firefox-maintenance/issues/37 + ------------------------------------------------------------------- Tue Oct 26 19:48:24 UTC 2021 - Wolfgang Rosenauer diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index 449d38a..da23247 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -28,9 +28,9 @@ # orig_suffix b3 # major 69 # mainver %major.99 -%define major 93 +%define major 94 %define mainver %major.0 -%define orig_version 93.0 +%define orig_version 94.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -100,13 +100,13 @@ BuildRequires: gcc9-c++ BuildRequires: gcc-c++ %endif %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 -BuildRequires: cargo >= 1.51 -BuildRequires: rust >= 1.51 +BuildRequires: cargo >= 1.53 +BuildRequires: rust >= 1.53 %else # Newer sle/leap/tw use parallel versioned rust releases which have # a different method for provides that we can use to request a # specific version -BuildRequires: rust+cargo >= 1.51 +BuildRequires: rust+cargo >= 1.53 %endif %if 0%{useccache} != 0 BuildRequires: ccache @@ -118,7 +118,7 @@ BuildRequires: libiw-devel BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.32 -BuildRequires: mozilla-nss-devel >= 3.70 +BuildRequires: mozilla-nss-devel >= 3.71 BuildRequires: nasm >= 2.14 BuildRequires: nodejs >= 10.22.1 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 @@ -218,15 +218,12 @@ Patch19: mozilla-bmo1512162.patch Patch20: mozilla-fix-top-level-asm.patch Patch21: mozilla-bmo1504834-part4.patch Patch22: mozilla-bmo849632.patch -Patch24: mozilla-bmo1602730.patch Patch25: mozilla-bmo998749.patch Patch26: mozilla-bmo1626236.patch Patch27: mozilla-s390x-skia-gradient.patch Patch28: mozilla-libavcodec58_91.patch Patch29: mozilla-silence-no-return-type.patch -Patch30: mozilla-bmo1725828.patch Patch31: mozilla-bmo531915.patch -Patch32: mozilla-bmo1729124.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -349,15 +346,12 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version} %patch20 -p1 %patch21 -p1 %patch22 -p1 -%patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 -%patch30 -p1 %patch31 -p1 -%patch32 -p1 # Firefox %patch101 -p1 %patch102 -p1 diff --git a/firefox-93.0.source.tar.xz b/firefox-93.0.source.tar.xz deleted file mode 100644 index c86a52a..0000000 --- a/firefox-93.0.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a78f080f5849bc284b84299f3540934a12e961a7ea368b592ae6576ea1f97102 -size 382181136 diff --git a/firefox-93.0.source.tar.xz.asc b/firefox-93.0.source.tar.xz.asc deleted file mode 100644 index 02a624a..0000000 --- a/firefox-93.0.source.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmFSUkoACgkQ6+QekPbx -L21kLg/+M7Bkacd7Tteq58iHOZQPbKbQqWAfDUjUh3wS66oxqZJbyxkzk9CN6o5e -f91WnoFLXN7RkxlXl8kAKYFgvjPfhJmeGHYDgZ50Yuyey42y5w2k+Aoefl0svTOY -gQrCU1txt67VnsC51oqrfMxIJiePGzGGMr76QqVmEsS5nkqzzs3YzPL1A63ifrUU -h+AnHdkxqZNtTN5CsYVuwVAWXfTF4oZrC3jNkQhOtHokKTWwmwUXCsE88mnEn9b1 -wohuOuaIscKj4M/RQfYWm+9IJKEj/Ov+53XV5wHg2hF+9qaaaYd7WI12PPXtFEl9 -h/dbu/8nw6OooQlH54ImkVA51mIlx1WFo8gOv6NtXFIQo9ggowX0u42yflogYSzS -kiDelRGZ+wv9GbTHB1/iBlV+JcRba67Mu2r0dxkjXDTHI3VRfkio2fuhgMxXqqfg -5/Wh8laLAseLQjjlJcWi0RNAL25QxVQk3dwTuQN8Hch8IZk6F+prt8GEDbovxrIz -vaD28L2cLf3E40HyKMOEZUEaBEp3V5yMWf3arBLg3XbYIQg0AG45x212OUDtxVw8 -8rMGUsDtIsLX/skN0kPgVoyZHVX7XUqwa0HIDu7mBoQti36xjZ//F+HY0KxCkpj0 -cVJRP2cXIhcOQhRL0XS3FZ9ZLBYvT2j69Oa5YRTsgNN1HG9zERc= -=m1VV ------END PGP SIGNATURE----- diff --git a/firefox-94.0.source.tar.xz b/firefox-94.0.source.tar.xz new file mode 100644 index 0000000..af96c94 --- /dev/null +++ b/firefox-94.0.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7bb8c5fcc74a74e9d2b55d1e9415b891305fe86520fb854cec25024d7e5de67 +size 379590880 diff --git a/firefox-94.0.source.tar.xz.asc b/firefox-94.0.source.tar.xz.asc new file mode 100644 index 0000000..8b75096 --- /dev/null +++ b/firefox-94.0.source.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmF69IoACgkQ6+QekPbx +L22gcQ//bLKiR1ND4gr3MqcqZ5P+yMf5ZeewGiTBKY6eAVHJC6olY6lo4GhdR+7T +NeGKgyKDYBQB1vF2bLUoPEGEeMN1ZSOC3FX4qEQjELUuft9OFNVnZy+QHGnBUjES +6CRIqXgNN9rZg4LjOnpXJoYcMnq3ygD6gdCA+Tx7d4k+XlXCjFQOefoMDsyG9MyR +/LVWfj9lt2Ru6GnRSwHgw+Yd+SQfsZJ7u5M2ybfHbIm5q8NB/YfznZX2HkgfDVmh +aIINyaBvo7uwDG+nS6h/kjPlSvxWXQZ5GFVcxmWV7uDmTw9nDO/t0tDRgZT3WaXg +TbZYg7NAUXaLIBxJkDJbDq0GFlPPRgnyjhqc+Fxw8svtz2/WW0uPVGh+PJW/Ri1i +6k69cWCg779FR5/dfn35ZIXUjjulwLxMs0OvwWS0ctyEj/ul/xqGStqGz43CaAdf +WlB0XPovX11Q99ClWmh0WWtnBtxzgo9Alw7eRSN0DnliNW0rOmBHr62KcnQlI9lb +OO+TZHdww+jYOTUSBJm6tKjHuT3BBTjxsbwH1pI38nilQFk8fVdpmC3yX52As60h +J0y4FN1YliF6/vVMQ0LaFScdqpc4EcNwDYDjrt4gk4OpS/K+t9moBJ4yAGWb1mm0 +I8KlZ1d/iqieidGJRfX3xX2MgudR12l4OR3pVJHEtgKTDAsRCo0= +=SGuZ +-----END PGP SIGNATURE----- diff --git a/firefox-kde.patch b/firefox-kde.patch index eecbea3..db43169 100644 --- a/firefox-kde.patch +++ b/firefox-kde.patch @@ -3,7 +3,7 @@ # Date 1559300151 -7200 # Fri May 31 12:55:51 2019 +0200 # Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec -# Parent 856ef9c699423b1cd35e4df8745e78c409c8dbae +# Parent 23d64c5753fda6f201477fe1f2f6cf1fb1657ccc How to apply this patch: 1. Import and apply it 2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul @@ -14,7 +14,7 @@ How to apply this patch: diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js --- a/browser/components/preferences/main.js +++ b/browser/components/preferences/main.js -@@ -338,16 +338,23 @@ var gMainPane = { +@@ -353,16 +353,23 @@ var gMainPane = { }, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]); }; @@ -38,7 +38,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere ); let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + -@@ -1313,16 +1320,27 @@ var gMainPane = { +@@ -1365,16 +1372,27 @@ var gMainPane = { this._backoffIndex = 0; let shellSvc = getShellService(); @@ -69,7 +69,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build --- a/browser/components/shell/moz.build +++ b/browser/components/shell/moz.build -@@ -32,16 +32,18 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "coco +@@ -31,16 +31,18 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "coco ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": XPIDL_SOURCES += [ @@ -92,7 +92,7 @@ diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components new file mode 100644 --- /dev/null +++ b/browser/components/shell/nsKDEShellService.cpp -@@ -0,0 +1,103 @@ +@@ -0,0 +1,109 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 @@ -196,6 +196,12 @@ new file mode 100644 + return NS_ERROR_NOT_IMPLEMENTED; +} + ++NS_IMETHODIMP ++nsKDEShellService::IsDefaultForScheme(nsTSubstring const& aScheme, bool* aIsDefaultBrowser) ++{ ++ return NS_ERROR_NOT_IMPLEMENTED; ++} ++ diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h new file mode 100644 --- /dev/null diff --git a/l10n-93.0.tar.xz b/l10n-93.0.tar.xz deleted file mode 100644 index 58b60f9..0000000 --- a/l10n-93.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa1dbeca12f76eadde185a655b80a7644ec183041ff9af28f9f5e1700f606127 -size 48263880 diff --git a/l10n-94.0.tar.xz b/l10n-94.0.tar.xz new file mode 100644 index 0000000..0bac08b --- /dev/null +++ b/l10n-94.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ea87cc125b67cd1802b5895ca64b9e71df6966c9c0ac13376545da4ca727626 +size 48450876 diff --git a/mozilla-bmo1602730.patch b/mozilla-bmo1602730.patch deleted file mode 100644 index 810047f..0000000 --- a/mozilla-bmo1602730.patch +++ /dev/null @@ -1,25 +0,0 @@ -# HG changeset patch -# User msirringhaus@suse.de -# Date 1582805890 -3600 -# Thu Feb 27 13:18:10 2020 +0100 -# Node ID 457cbe5705f2a3759d3da36a05c0ed66ec61ea12 -# Parent 7440f4b6bab85068ca2f84e9c48e0706d04330e8 -imported patch mozilla-bmo1602730-FF73.patch - -diff -r 7440f4b6bab8 gfx/layers/composite/CompositableHost.cpp ---- a/gfx/layers/composite/CompositableHost.cpp Thu Feb 27 13:17:56 2020 +0100 -+++ b/gfx/layers/composite/CompositableHost.cpp Wed Jun 17 15:33:32 2020 +0200 -@@ -92,9 +92,13 @@ - } - MOZ_ASSERT(source); - -+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x) -+ // if the typed URL is too long for the textbox (automatic scrolling needed) -+#if MOZ_LITTLE_ENDIAN() - RefPtr effect = - new EffectMask(source, source->GetSize(), aTransform); - aEffects.mSecondaryEffects[EffectTypes::MASK] = effect; -+#endif - return true; - } - diff --git a/mozilla-bmo1725828.patch b/mozilla-bmo1725828.patch deleted file mode 100644 index 67438a6..0000000 --- a/mozilla-bmo1725828.patch +++ /dev/null @@ -1,553 +0,0 @@ -# HG changeset patch -# Parent fbca0d2a522cd1ab78001476293d3d79bfabb4cf - - - - - - Tree - rpms/firefox - src.fedoraproject.org - - - - - - - - - - - - - - - - - - -
- - -
-
-
-
-
-
-

-

-
-
-

-rpms / firefox -

-
-
-
-
-
-
- - - Clone - - - -
-
-
-
- - -
-
- -
-
-
-
-
- -
-
- -
- -
-
-
- - -
- - Blob - - Blame - - History - - Raw -
- -
diff -up firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 firefox-92.0/dom/media/gmp/GMPChild.cpp
-
-diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp
---- a/dom/media/gmp/GMPChild.cpp
-+++ b/dom/media/gmp/GMPChild.cpp
-@@ -227,18 +227,24 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
-               .EqualsASCII(lib.Data(), lib.Length())) {
-         LoadLibraryW(char16ptr_t(whiteListedLib));
-         break;
-       }
-     }
-   }
- #elif defined(XP_LINUX)
-   constexpr static const char* whitelist[] = {
-+      // NSS libraries used by clearkey.
-       "libfreeblpriv3.so",
-       "libsoftokn3.so",
-+      // glibc libraries merged into libc.so.6; see bug 1725828 and
-+      // the corresponding code in GMPParent.cpp.
-+      "libdl.so.2",
-+      "libpthread.so.0",
-+      "librt.so.1",
-   };
- 
-   nsTArray libs;
-   SplitAt(", ", aLibs, libs);
-   for (const nsCString& lib : libs) {
-     for (const char* whiteListedLib : whitelist) {
-       if (lib.EqualsASCII(whiteListedLib)) {
-         auto libHandle = dlopen(whiteListedLib, RTLD_NOW | RTLD_GLOBAL);
-@@ -251,17 +257,17 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
-           if (error) {
-             // We should always have an error, but gracefully handle just in
-             // case.
-             nsAutoCString nsError{error};
-             CrashReporter::AppendAppNotesToCrashReport(nsError);
-           }
-           // End bug 1698718 logging.
- 
--          MOZ_CRASH("Couldn't load lib needed by NSS");
-+          MOZ_CRASH("Couldn't load lib needed by media plugin");
-         }
-       }
-     }
-   }
- #endif
-   return IPC_OK();
- }
- 
-diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp
---- a/dom/media/gmp/GMPParent.cpp
-+++ b/dom/media/gmp/GMPParent.cpp
-@@ -871,16 +871,30 @@ RefPtr GMPParent::ParseC
-     mLibs = "dxva2.dll"_ns;
- #endif
-   } else {
-     GMP_PARENT_LOG_DEBUG("%s: Unrecognized key system: %s, failing.",
-                          __FUNCTION__, mDisplayName.get());
-     return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
-   }
- 
-+#ifdef XP_LINUX
-+  // These glibc libraries were merged into libc.so.6 as of glibc
-+  // 2.34; they now exist only as stub libraries for compatibility and
-+  // newly linked code won't depend on them, so we need to ensure
-+  // they're loaded for plugins that may have been linked against a
-+  // different version of glibc.  (See also bug 1725828.)
-+  if (!mDisplayName.EqualsASCII("clearkey")) {
-+    if (!mLibs.IsEmpty()) {
-+      mLibs.AppendLiteral(", ");
-+    }
-+    mLibs.AppendLiteral("libdl.so.2, libpthread.so.0, librt.so.1");
-+  }
-+#endif
-+
-   nsCString codecsString = NS_ConvertUTF16toUTF8(m.mX_cdm_codecs);
-   nsTArray codecs;
-   SplitAt(",", codecsString, codecs);
- 
-   // Parse the codec strings in the manifest and map them to strings used
-   // internally by Gecko for capability recognition.
-   //
-   // Google's code to parse manifests can be used as a reference for strings
diff --git a/mozilla-bmo1729124.patch b/mozilla-bmo1729124.patch
deleted file mode 100644
index 3a6b27e..0000000
--- a/mozilla-bmo1729124.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-
-# HG changeset patch
-# User Zhao Jiazhong 
-# Date 1631000649 0
-# Node ID eac40293649628d32911c909219d514bebb8ce63
-# Parent  6582d77235867224aaf8621bad8ee167dfb31460
-Bug 1729124 - [MIPS64][ARM64] Fix gcc build issue. r=lth
-
-The SpecificRegs struct needs a constructor.
-
-Differential Revision: https://phabricator.services.mozilla.com/D124535
-
-diff --git a/js/src/wasm/WasmBCRegDefs.h b/js/src/wasm/WasmBCRegDefs.h
---- a/js/src/wasm/WasmBCRegDefs.h
-+++ b/js/src/wasm/WasmBCRegDefs.h
-@@ -374,25 +374,31 @@ struct SpecificRegs {
- };
- #elif defined(JS_CODEGEN_ARM)
- struct SpecificRegs {
-   RegI64 abiReturnRegI64;
- 
-   SpecificRegs() : abiReturnRegI64(ReturnReg64) {}
- };
- #elif defined(JS_CODEGEN_ARM64)
--struct SpecificRegs {};
-+struct SpecificRegs {
-+  // Required by gcc.
-+  SpecificRegs() {}
-+};
- #elif defined(JS_CODEGEN_MIPS32)
- struct SpecificRegs {
-   RegI64 abiReturnRegI64;
- 
-   SpecificRegs() : abiReturnRegI64(ReturnReg64) {}
- };
- #elif defined(JS_CODEGEN_MIPS64)
--struct SpecificRegs {};
-+struct SpecificRegs {
-+  // Required by gcc.
-+  SpecificRegs() {}
-+};
- #else
- struct SpecificRegs {
- #  ifndef JS_64BIT
-   RegI64 abiReturnRegI64;
- #  endif
- 
-   SpecificRegs() { MOZ_CRASH("BaseCompiler porting interface: SpecificRegs"); }
- };
-
diff --git a/mozilla-kde.patch b/mozilla-kde.patch
index 2fb03c9..bfb1db6 100644
--- a/mozilla-kde.patch
+++ b/mozilla-kde.patch
@@ -3,7 +3,7 @@
 # Date 1559294891 -7200
 #      Fri May 31 11:28:11 2019 +0200
 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
-# Parent  0dd1b6436342922d434e7c818875b2a02a73b5ed
+# Parent  9eb4df0e07175ce38fc6699b2b8544b9eda7f0ad
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer 
 Author: Lubos Lunak 
@@ -370,7 +370,7 @@ diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
 new file mode 100644
 --- /dev/null
 +++ b/toolkit/xre/nsKDEUtils.cpp
-@@ -0,0 +1,344 @@
+@@ -0,0 +1,321 @@
 +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 +/* 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
@@ -410,36 +410,13 @@ new file mode 100644
 +#define MAKE_STR( n ) MAKE_STR2( n )
 +
 +static bool getKdeSession()
++{
++    if (PR_GetEnv("KDE_FULL_SESSION"))
 +    {
-+    Display* dpy = XOpenDisplay( NULL );
-+    if( dpy == NULL )
-+        return false;
-+    Atom kde_full_session = XInternAtom( dpy, "KDE_FULL_SESSION", true );
-+    bool kde = false;
-+    if( kde_full_session != None )
-+        {
-+        int cnt;
-+        if( Atom* props = XListProperties( dpy, DefaultRootWindow( dpy ), &cnt ))
-+            {
-+            for( int i = 0;
-+                 i < cnt;
-+                 ++i )
-+                {
-+                if( props[ i ] == kde_full_session )
-+                    {
-+                    kde = true;
-+#ifdef DEBUG_KDE
-+                    fprintf( stderr, "KDE SESSION %d\n", kde );
-+#endif
-+                    break;
-+                    }
-+                }
-+            XFree( props );
-+            }
-+        }
-+    XCloseDisplay( dpy );
-+    return kde;
++      return true;
 +    }
++    return false;
++}
 +
 +static bool getKdeSupport()
 +    {
@@ -1283,7 +1260,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
 --- a/widget/gtk/moz.build
 +++ b/widget/gtk/moz.build
-@@ -137,16 +137,17 @@ FINAL_LIBRARY = "xul"
+@@ -136,16 +136,17 @@ FINAL_LIBRARY = "xul"
  
  LOCAL_INCLUDES += [
      "/layout/base",
@@ -1845,7 +1822,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
  #  include "prmem.h"
  #  include "plbase64.h"
  
-@@ -2023,62 +2024,77 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -2025,62 +2026,77 @@ nsLocalFile::SetPersistentDescriptor(con
  
  NS_IMETHODIMP
  nsLocalFile::Reveal() {
diff --git a/mozilla-silence-no-return-type.patch b/mozilla-silence-no-return-type.patch
index 6fb30d5..c2fd921 100644
--- a/mozilla-silence-no-return-type.patch
+++ b/mozilla-silence-no-return-type.patch
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent  45a1eadbae67aa05c6fa271d3dec5ac1cb0cfae8
+# Parent  9b29b6b7548b93a599167774e747f6e0661cfbe1
 
 diff --git a/Cargo.lock b/Cargo.lock
 --- a/Cargo.lock
 +++ b/Cargo.lock
-@@ -2039,18 +2039,16 @@ name = "glsl-to-cxx"
+@@ -2078,18 +2078,16 @@ name = "glsl-to-cxx"
  version = "0.1.0"
  dependencies = [
   "glsl",
@@ -20,9 +20,9 @@ diff --git a/Cargo.lock b/Cargo.lock
  ]
  
  [[package]]
- name = "goblin"
- version = "0.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
+ name = "gluesmith"
+ version = "0.1.0"
+ dependencies = [
 diff --git a/Cargo.toml b/Cargo.toml
 --- a/Cargo.toml
 +++ b/Cargo.toml
@@ -33,7 +33,7 @@ diff --git a/Cargo.toml b/Cargo.toml
  chardetng = { git = "https://github.com/hsivonen/chardetng", rev="302c995f91f44cf26e77dc4758ad56c3ff0153ad" }
  chardetng_c = { git = "https://github.com/hsivonen/chardetng_c", rev="ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" }
  libudev-sys = { path = "dom/webauthn/libudev-sys" }
- packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="6a16f954950401b92b4e220fbf2dfaf6f00e1fb2" }
+ packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="8b4bd7d8229660a749dbe419a57ea01df9de5453" }
  minidump_writer_linux = { git = "https://github.com/msirringhaus/minidump_writer_linux.git", rev = "029ac0d54b237f27dc7d8d4e51bc0fb076e5e852" }
 +glslopt = { path = "third_party/rust/glslopt/" }
  # The following overrides point to dummy projects, as a temporary measure until this is resolved:
diff --git a/tar_stamps b/tar_stamps
index 8b2b3e8..23e692d 100644
--- a/tar_stamps
+++ b/tar_stamps
@@ -1,10 +1,10 @@
 PRODUCT="firefox"
 CHANNEL="release"
-VERSION="93.0"
+VERSION="94.0"
 VERSION_SUFFIX=""
-PREV_VERSION="92.0.1"
+PREV_VERSION="93.0"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
 RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
-RELEASE_TAG="08b69dc588fbdd88334ebcb6fa303eec95176cd6"
-RELEASE_TIMESTAMP="20210927210923"
+RELEASE_TAG="feceab03c6ff8b7ce7e52e759ddb6a23b310a9e5"
+RELEASE_TIMESTAMP="20211028161635"