diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index 7bf8cbd..2cc20b3 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Sat Mar 27 10:40:46 UTC 2021 - Manfred Hollstein + +- Switch to clang_build globally; just on TW/x86_64 it does not work + due to unreolved externals `__rust_probestack' - disable clang_build + then. +- useccache: Add conditionals to enable/disable ccache. + +------------------------------------------------------------------- +Tue Mar 23 16:42:19 UTC 2021 - Wolfgang Rosenauer + +- Mozilla Firefox 87.0 + * requires NSS 3.62 + * removed obsolete BigEndian ICU build workaround + * rebased patches + MFSA 2021-10 (bsc#1183942) + * CVE-2021-23981 (bmo#1692832) + Texture upload into an unbound backing buffer resulted in an + out-of-bound read + * CVE-2021-23982 (bmo#1677046) + Internal network hosts could have been probed by a malicious + webpage + * CVE-2021-23983 (bmo#1692684) + Transitions for invalid ::marker properties resulted in memory + corruption + * CVE-2021-23984 (bmo#1693664) + Malicious extensions could have spoofed popup information + * CVE-2021-23985 (bmo#1659129) + Devtools remote debugging feature could have been enabled + without indication to the user + * CVE-2021-23986 (bmo#1692623) + A malicious extension could have performed credential-less + same origin policy violations + * CVE-2021-23987 (bmo#1513519, bmo#1683439, bmo#1690169, + bmo#1690718) + Memory safety bugs fixed in Firefox 87 and Firefox ESR 78.9 + * CVE-2021-23988 (bmo#1684994, bmo#1686653) + Memory safety bugs fixed in Firefox 87 + +------------------------------------------------------------------- +Tue Mar 16 14:26:35 UTC 2021 - Martin Liška + +- Set memory limits for DWZ to 4x. + ------------------------------------------------------------------- Sat Mar 13 08:23:06 UTC 2021 - Andreas Stieger diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index 6fef865..51ef77f 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -17,6 +17,9 @@ # +%define _dwz_low_mem_die_limit 40000000 +%define _dwz_max_die_limit 200000000 + %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150100 #!BuildIgnore: post-build-checks %endif @@ -29,9 +32,9 @@ # orig_suffix b3 # major 69 # mainver %major.99 -%define major 86 -%define mainver %major.0.1 -%define orig_version 86.0.1 +%define major 87 +%define mainver %major.0 +%define orig_version 87.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -41,13 +44,23 @@ %define do_profiling 0 # upstream default is clang (to use gcc for large parts set to 0) -%define clang_build 0 +%define clang_build 1 +%if 0%{?is_opensuse} && 0%{?suse_version} >= 1550 +%ifarch x86_64 +# on Tumbleweed/x86_64 this does not work due to undefined +# references to `__rust_probestack' +%define clang_build 0 +%endif +%endif # PIE, full relro %define build_hardened 1 %bcond_with only_print_mozconfig +# define if ccache should be used or not +%define useccache 1 + # Firefox only supports i686 %ifarch %ix86 ExclusiveArch: i586 i686 @@ -93,7 +106,9 @@ BuildRequires: gcc9-c++ BuildRequires: gcc-c++ %endif BuildRequires: cargo >= 1.47 +%if 0%{useccache} != 0 BuildRequires: ccache +%endif BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel @@ -101,7 +116,7 @@ BuildRequires: libiw-devel BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.29 -BuildRequires: mozilla-nss-devel >= 3.61 +BuildRequires: mozilla-nss-devel >= 3.62 BuildRequires: nasm >= 2.14 BuildRequires: nodejs10 >= 10.22.1 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 @@ -452,7 +467,9 @@ ac_add_options --disable-elf-hack #%endif ac_add_options --with-system-nspr ac_add_options --with-system-nss +%if 0%{useccache} != 0 ac_add_options --with-ccache +%endif %if %{localize} ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n %endif @@ -502,17 +519,9 @@ ac_add_options MOZ_PGO=1 %endif EOF %if !%{with only_print_mozconfig} -%ifarch ppc64 s390x s390 -# NOTE: Currently, system-icu is too old, so we can't build with that, -# but have to generate the .dat-file freshly. This seems to be a -# less fragile approach anyways. -# ac_add_options --with-system-icu -echo "Generate big endian version of config/external/icu/data/icud58l.dat" -./mach python intl/icu_sources_data.py . -ls -l config/external/icu/data -rm -f config/external/icu/data/icudt*l.dat -%endif +%if 0%{useccache} != 0 ccache -s +%endif %if 0%{?do_profiling} xvfb-run --server-args="-screen 0 1920x1080x24" \ %endif @@ -567,8 +576,10 @@ sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig ' -- {} %endif +%if 0%{useccache} != 0 ccache -s %endif +%endif %install cd $RPM_BUILD_DIR/obj diff --git a/firefox-86.0.1.source.tar.xz b/firefox-86.0.1.source.tar.xz deleted file mode 100644 index bbe6709..0000000 --- a/firefox-86.0.1.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:74f99c226ae6747f0170566f4f88be410866b0120214d2a593566cd1fff3d3df -size 369541992 diff --git a/firefox-86.0.1.source.tar.xz.asc b/firefox-86.0.1.source.tar.xz.asc deleted file mode 100644 index 1d31426..0000000 --- a/firefox-86.0.1.source.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAmBJJTkACgkQ8aZmj7t9 -Vy6Wkw/+M3w9Z88HW88Cs4sVYX4o+30SHIKLIRbdqbQKW8pjbPGI41cifWK2z1u4 -zrMEEsdB0kkHyo8gHUi1gont868E+dzKXbNb0U3FuoObuqFaekieCbFCvwmtLi01 -4fwn2c2wMkyd1gIjfwl7JSFyAvVPwBF1jTvl85diAKdGOQ1/LLGUpqpeR9IREXCU -smZ5bY4rZZOEnXmotO5NBgj+g60ljrF7unNDO8e55lF3ArnQRSYcykh6PjeVdmmW -TREtJtpV9z8b6s2lm/bCd/RFZl+1UZztyFd9HSdit0uaJCcwP8eef9S+O0TKCKZS -zt+tTXe1cMaNas3VJriWzt0YLeemOU4bY4EkONcxkOp124klQQgqHcckwilbFBxt -tdt+Bu+ZxiPcAiInyXMNuakchBdV77N8JyEzQ85GeU1AhzJaWQTVpPzWF/nRwEDP -9bDRxq7pg7RetLct2Jv+52qsetLIPa3n9vVNzWT1Un2sKeQoxOB3zkbSKiWeffnC -BnpTZFDJevNbnMGFQPkc4hQ+0XiZcm75M2CCMqN143i2PHGzpoaoho/fk1XEv1RM -OHTjV2LYGF8hHBVg5kTeq9HI8u+XOegayJGe2Ds6A22U4xK42ZzwoYdgDBvpPPE7 -2gXJoreVV2Q8MrRZiKNLAzAkSV9Rpig3d+DhLgoeZhZrAEUsmu4= -=9hA2 ------END PGP SIGNATURE----- diff --git a/firefox-87.0.source.tar.xz b/firefox-87.0.source.tar.xz new file mode 100644 index 0000000..482d32d --- /dev/null +++ b/firefox-87.0.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce98be0522f971b6950f22c738c4b2caf19cf7f48ab2ae2e6d46694af7fd58ab +size 377285124 diff --git a/firefox-87.0.source.tar.xz.asc b/firefox-87.0.source.tar.xz.asc new file mode 100644 index 0000000..40cdf86 --- /dev/null +++ b/firefox-87.0.source.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAmBTXTkACgkQ8aZmj7t9 +Vy73qxAAoKpCcflQ4vtfDhgql8jsAS4gA4uP0wbtHq1BoPHfOAGaiGRc6J7zfi3u +eR5MjrmfDbLq3ATNFo6Ss/emkXbSq9nyJ+xbZAPjVgKp1VPxFFK1CrByMMqLZn+z +b4cuR920Y7lFdldNaZdkVtqcp+ZiSXV0PrZeixZu4t05AE46LDGrvCtsUoTWOyi6 +jCCqPSHsSCe7EqUQLj20uhw9kfP5WoNyJROQZUROuvKwQ1a9k9zlEVcpSMAs+eI9 +yLu6lfgWbHlOeWm4ZoUTIirZX/vqgA/kKyOJQaAmLpveiu3PfrQXhrxbz89Lf1vg +Y4xBgHompwN7X8x9IHwQSV6gXvknceTjNyCIKrPxKwuB5xY+FhMCscsViHawgtEl +93yxdqUGQdDwO7qV9vl53wkxOpne4yxQ7DnAw5BBIlUNlOy4I0uBgQNx/LBFEz6p +kyrlg/0RwvvkjJtNWpN4poWP6zPOfJzRwR3TsaLktuPC56CoXZ2P567LHWjrqc56 +cKFYWRbtfoqS2JJUIRBEwJRmtkFISErydHnCa5gnkG+pSvPIrquz83jRIpd0+utz +Ts5SDPImkQ0DQZLwVm+NguDXfEfbSkvIQW3FPAZxo141+xMX9Fwq4pkZkoPZqhQf +YfyHIRrct6XVhS3oUxU3gg+7D5m8r3eVvdzO5rbi9Top/IYnl8U= +=ulQ4 +-----END PGP SIGNATURE----- diff --git a/firefox-kde.patch b/firefox-kde.patch index 7fa6801..eecbea3 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 8310cc1a162e9dd066a20f6a3bbd271993b67fc6 +# Parent 856ef9c699423b1cd35e4df8745e78c409c8dbae 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 -@@ -347,16 +347,23 @@ var gMainPane = { +@@ -338,16 +338,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") + -@@ -1326,16 +1333,27 @@ var gMainPane = { +@@ -1313,16 +1320,27 @@ var gMainPane = { this._backoffIndex = 0; let shellSvc = getShellService(); @@ -63,9 +63,9 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere return; } - let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0; - document.getElementById("setDefaultPane").selectedIndex = selectedIndex; - } + let isDefault = shellSvc.isDefaultBrowser(false, true); + let setDefaultPane = document.getElementById("setDefaultPane"); + setDefaultPane.classList.toggle("is-default", isDefault); 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 diff --git a/l10n-86.0.1.tar.xz b/l10n-86.0.1.tar.xz deleted file mode 100644 index 5e8b40d..0000000 --- a/l10n-86.0.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d00e8e8b87a8195f757ac135c7814bffe8df0b029602a44a1e6849403e2322b3 -size 49760280 diff --git a/l10n-87.0.tar.xz b/l10n-87.0.tar.xz new file mode 100644 index 0000000..f060f6d --- /dev/null +++ b/l10n-87.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e62d275b344f0972a032c5b6d6aa1522671b08856890d03ae55b569310b8a686 +size 49925540 diff --git a/mozilla-kde.patch b/mozilla-kde.patch index 3ff2e20..d393488 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 4b9aa59b15c3247d263cc32804786b3a6bff7912 +# Parent 929fbcb071c2e1ff551c73e8c364e9c1f4495171 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -13,15 +13,15 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751 diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp --- a/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp -@@ -82,16 +82,17 @@ - #include "nsXPCOM.h" - #include "nsXULAppAPI.h" - #include "nsZipArchive.h" +@@ -84,16 +84,17 @@ #include "plbase64.h" #include "PLDHashTable.h" #include "plstr.h" #include "prlink.h" #include "xpcpublic.h" + #ifdef MOZ_BACKGROUNDTASKS + # include "mozilla/BackgroundTasks.h" + #endif +#include "nsKDEUtils.h" #ifdef DEBUG @@ -31,7 +31,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp #ifdef MOZ_MEMORY # include "mozmemory.h" #endif -@@ -4459,25 +4460,37 @@ nsresult Preferences::InitInitialObjects +@@ -4573,25 +4574,37 @@ nsresult Preferences::InitInitialObjects // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -69,7 +69,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. -@@ -4523,17 +4536,17 @@ nsresult Preferences::InitInitialObjects +@@ -4656,17 +4669,17 @@ nsresult Preferences::InitInitialObjects } nsCOMPtr path = do_QueryInterface(elem); @@ -91,7 +91,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build --- a/modules/libpref/moz.build +++ b/modules/libpref/moz.build -@@ -116,16 +116,20 @@ EXPORTS.mozilla += [ +@@ -117,16 +117,20 @@ EXPORTS.mozilla += [ ] EXPORTS.mozilla += sorted(["!" + g for g in gen_h]) @@ -115,8 +115,7 @@ diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py --- a/python/mozbuild/mozpack/chrome/flags.py +++ b/python/mozbuild/mozpack/chrome/flags.py -@@ -228,16 +228,17 @@ class Flags(OrderedDict): - "contentaccessible": Flag, +@@ -229,16 +229,17 @@ class Flags(OrderedDict): "os": StringFlag, "osversion": VersionFlag, "abi": StringFlag, @@ -124,7 +123,8 @@ diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/c "xpcnativewrappers": Flag, "tablet": Flag, "process": StringFlag, -+ "desktop": StringFlag, + "backgroundtask": StringFlag, ++ "desktop": StringFlag, } RE = re.compile(r"([!<>=]+)") @@ -136,8 +136,7 @@ diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/c diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py --- a/python/mozbuild/mozpack/chrome/manifest.py +++ b/python/mozbuild/mozpack/chrome/manifest.py -@@ -38,16 +38,17 @@ class ManifestEntry(object): - "platformversion", +@@ -39,16 +39,17 @@ class ManifestEntry(object): "os", "osversion", "abi", @@ -145,6 +144,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac "tablet", "process", "contentaccessible", + "backgroundtask", + "desktop", ] @@ -175,7 +175,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm --- a/toolkit/mozapps/downloads/HelperAppDlg.jsm +++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm -@@ -1243,36 +1243,66 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1231,36 +1231,66 @@ nsUnknownContentTypeDialog.prototype = { params.handlerApp && params.handlerApp.executable && params.handlerApp.executable.isFile() @@ -356,7 +356,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -91,17 +91,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co +@@ -92,17 +92,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co "../components/printingui", ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit": @@ -1214,7 +1214,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth #include "nsIFileStreams.h" #include "nsILineInputStream.h" #include "nsIFile.h" -@@ -1019,17 +1019,17 @@ nsresult nsOSHelperAppService::GetHandle +@@ -1020,17 +1020,17 @@ nsresult nsOSHelperAppService::GetHandle nsresult nsOSHelperAppService::OSProtocolHandlerExists( const char* aProtocolScheme, bool* aHandlerExists) { @@ -1233,7 +1233,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth nsCOMPtr handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv) && handlerSvc) { -@@ -1039,17 +1039,17 @@ nsresult nsOSHelperAppService::OSProtoco +@@ -1040,17 +1040,17 @@ nsresult nsOSHelperAppService::OSProtoco } return rv; @@ -1252,7 +1252,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol( const nsACString& aScheme, bool* _retval) { -@@ -1136,17 +1136,17 @@ already_AddRefed nsOSHel +@@ -1137,17 +1137,17 @@ already_AddRefed nsOSHel nsresult rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, true); @@ -1271,7 +1271,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, false); -@@ -1247,17 +1247,17 @@ already_AddRefed nsOSHel +@@ -1248,17 +1248,17 @@ already_AddRefed nsOSHel // Now look up our extensions nsAutoString extensions, mime_types_description; @@ -1293,7 +1293,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 -@@ -138,16 +138,17 @@ FINAL_LIBRARY = "xul" +@@ -137,16 +137,17 @@ FINAL_LIBRARY = "xul" LOCAL_INCLUDES += [ "/layout/base", @@ -1685,7 +1685,7 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp --- a/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp -@@ -34,16 +34,17 @@ +@@ -38,16 +38,17 @@ #include "nsTextFormatter.h" #include "nsVersionComparator.h" #include "nsXPCOMCIDInternal.h" @@ -1703,7 +1703,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars int argc; bool ischrome; -@@ -393,16 +394,17 @@ void ParseManifest(NSLocationType aType, +@@ -397,16 +398,17 @@ void ParseManifest(NSLocationType aType, constexpr auto kRemoteEnabled = u"remoteenabled"_ns; constexpr auto kRemoteRequired = u"remoterequired"_ns; constexpr auto kApplication = u"application"_ns; @@ -1717,11 +1717,11 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars #if defined(MOZ_WIDGET_ANDROID) constexpr auto kTablet = u"tablet"_ns; #endif - - constexpr auto kMain = u"main"_ns; - constexpr auto kContent = u"content"_ns; - -@@ -448,39 +450,44 @@ void ParseManifest(NSLocationType aType, + // You might expect this to be guarded by MOZ_BACKGROUNDTASKS, but it's not + // possible to have conditional manifest contents, so we need to recognize and + // discard these tokens even when MOZ_BACKGROUNDTASKS is not set. + constexpr auto kBackgroundTask = u"backgroundtask"_ns; +@@ -456,39 +458,44 @@ void ParseManifest(NSLocationType aType, CopyUTF8toUTF16(s, abi); abi.Insert(char16_t('_'), 0); abi.Insert(osTarget, 0); @@ -1766,13 +1766,13 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars process = kMain; } -@@ -567,25 +574,27 @@ void ParseManifest(NSLocationType aType, - TriState stOsVersion = eUnspecified; - TriState stOs = eUnspecified; - TriState stABI = eUnspecified; - TriState stProcess = eUnspecified; - #if defined(MOZ_WIDGET_ANDROID) - TriState stTablet = eUnspecified; +@@ -583,25 +590,27 @@ void ParseManifest(NSLocationType aType, + // When in background task mode, default to not registering + // category directivies unless backgroundtask=1 is specified. + TriState stBackgroundTask = (BackgroundTasks::IsBackgroundTaskMode() && + strcmp("category", directive->directive) == 0) + ? eBad + : eUnspecified; #endif int flags = 0; + TriState stDesktop = eUnspecified; @@ -1794,7 +1794,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars continue; } -@@ -622,17 +631,17 @@ void ParseManifest(NSLocationType aType, +@@ -650,17 +659,17 @@ void ParseManifest(NSLocationType aType, } LogMessageWithContext( @@ -1807,12 +1807,12 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars + stGeckoVersion == eBad || stOs == eBad || stOsVersion == eBad || stDesktop == eBad || #ifdef MOZ_WIDGET_ANDROID stTablet == eBad || + #endif + #ifdef MOZ_BACKGROUNDTASKS + stBackgroundTask == eBad || #endif stABI == eBad || stProcess == eBad) { continue; - } - - if (directive->regfunc) { diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build --- a/xpcom/components/moz.build +++ b/xpcom/components/moz.build @@ -1833,7 +1833,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build if CONFIG["MOZ_ENABLE_DBUS"]: CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"] - include("/ipc/chromium/chromium-config.mozbuild") + if CONFIG["MOZ_BACKGROUNDTASKS"]: diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp --- a/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp @@ -1855,7 +1855,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp # include "prmem.h" # include "plbase64.h" -@@ -1968,62 +1969,77 @@ nsLocalFile::SetPersistentDescriptor(con +@@ -2001,62 +2002,77 @@ nsLocalFile::SetPersistentDescriptor(con NS_IMETHODIMP nsLocalFile::Reveal() { diff --git a/tar_stamps b/tar_stamps index ada8520..2a91030 100644 --- a/tar_stamps +++ b/tar_stamps @@ -1,11 +1,11 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="86.0.1" +VERSION="87.0" VERSION_SUFFIX="" -PREV_VERSION="86.0" +PREV_VERSION="86.0.1" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" -RELEASE_TAG="79d8545221202e234cf587c0b36c9aaa6cdc3a41" -RELEASE_TIMESTAMP="20210310152336" +RELEASE_TAG="bb9bf7e886787222b18094a4723949a29b4d329a" +RELEASE_TIMESTAMP="20210318103112"