From f9c0480028f97b6439f09ad625db73a521824cbd6d7456c185b343052b33542c Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 25 Aug 2020 18:18:25 +0000 Subject: [PATCH] - Mozilla Firefox 80.0 MFSA 2020- (bsc#1175686) * CVE-2020-15663 (bmo#1643199) Downgrade attack on the Mozilla Maintenance Service could have resulted in escalation of privilege * CVE-2020-15664 (bmo#1658214) Attacker-induced prompt for extension installation * CVE-2020-12401 (bmo#1631573) Timing-attack on ECDSA signature generation * CVE-2020-6829 (bmo#1631583) P-384 and P-521 vulnerable to an electro-magnetic side channel attack on signature generation * CVE-2020-12400 (bmo#1623116) P-384 and P-521 vulnerable to a side channel attack on modular inversion * CVE-2020-15665 (bmo#1651636) Address bar not reset when choosing to stay on a page after the beforeunload dialog is shown * CVE-2020-15666 (bmo#1450853) MediaError message property leaks cross-origin response status * CVE-2020-15667 (bmo#1653371) Heap overflow when processing an update file * CVE-2020-15668 (bmo#1651520) Data Race when reading certificate information * CVE-2020-15670 (bmo#1651001, bmo#1651449, bmo#1653626, bmo#1656957) Memory safety bugs fixed in Firefox 80 and Firefox ESR 78.2 - requires * NSPR 4.27 OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=853 --- MozillaFirefox.changes | 42 +++++++++++++++ MozillaFirefox.spec | 28 +++++++--- firefox-79.0.source.tar.xz | 3 -- firefox-79.0.source.tar.xz.asc | 16 ------ firefox-80.0.source.tar.xz | 3 ++ firefox-80.0.source.tar.xz.asc | 16 ++++++ firefox-branded-icons.patch | 8 +-- firefox-kde.patch | 12 ++--- l10n-79.0.tar.xz | 3 -- l10n-80.0.tar.xz | 3 ++ mozilla-kde.patch | 96 +++++++++++++++++----------------- mozilla-nongnome-proxies.patch | 13 +++-- mozilla-system-nspr.patch | 52 ++++++++++++++++++ tar_stamps | 8 +-- 14 files changed, 206 insertions(+), 97 deletions(-) delete mode 100644 firefox-79.0.source.tar.xz delete mode 100644 firefox-79.0.source.tar.xz.asc create mode 100644 firefox-80.0.source.tar.xz create mode 100644 firefox-80.0.source.tar.xz.asc delete mode 100644 l10n-79.0.tar.xz create mode 100644 l10n-80.0.tar.xz create mode 100644 mozilla-system-nspr.patch diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index 6fc65067..27863ca5 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Sat Aug 22 06:52:01 UTC 2020 - Wolfgang Rosenauer + +- Mozilla Firefox 80.0 + MFSA 2020- (bsc#1175686) + * CVE-2020-15663 (bmo#1643199) + Downgrade attack on the Mozilla Maintenance Service could + have resulted in escalation of privilege + * CVE-2020-15664 (bmo#1658214) + Attacker-induced prompt for extension installation + * CVE-2020-12401 (bmo#1631573) + Timing-attack on ECDSA signature generation + * CVE-2020-6829 (bmo#1631583) + P-384 and P-521 vulnerable to an electro-magnetic side + channel attack on signature generation + * CVE-2020-12400 (bmo#1623116) + P-384 and P-521 vulnerable to a side channel attack on + modular inversion + * CVE-2020-15665 (bmo#1651636) + Address bar not reset when choosing to stay on a page after + the beforeunload dialog is shown + * CVE-2020-15666 (bmo#1450853) + MediaError message property leaks cross-origin response + status + * CVE-2020-15667 (bmo#1653371) + Heap overflow when processing an update file + * CVE-2020-15668 (bmo#1651520) + Data Race when reading certificate information + * CVE-2020-15670 (bmo#1651001, bmo#1651449, bmo#1653626, + bmo#1656957) + Memory safety bugs fixed in Firefox 80 and Firefox ESR 78.2 +- requires + * NSPR 4.27 + * NSS 3.55 +- added mozilla-sytem-nspr.patch (bmo#1661096) +- exclude ga-IE locale as it's failing to build +- rollback parallelize locale build because it breaks bookmarks + (boo#1167976) +- preserve original default bookmark file during langpack build + (boo#1167976) +- add some ccache output during build + ------------------------------------------------------------------- Thu Aug 20 13:07:33 UTC 2020 - Martin Liška diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index f7d79937..1d301c36 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -25,9 +25,9 @@ # orig_suffix b3 # major 69 # mainver %major.99 -%define major 79 +%define major 80 %define mainver %major.0 -%define orig_version 79.0 +%define orig_version 80.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -95,8 +95,8 @@ BuildRequires: libidl-devel BuildRequires: libiw-devel BuildRequires: libproxy-devel BuildRequires: makeinfo -BuildRequires: mozilla-nspr-devel >= 4.26 -BuildRequires: mozilla-nss-devel >= 3.54 +BuildRequires: mozilla-nspr-devel >= 4.27 +BuildRequires: mozilla-nss-devel >= 3.55 BuildRequires: nasm >= 2.14 BuildRequires: nodejs10 >= 10.21.0 BuildRequires: python-devel @@ -208,6 +208,7 @@ Patch25: mozilla-bmo998749.patch Patch26: mozilla-bmo1626236.patch Patch27: mozilla-s390x-skia-gradient.patch Patch28: mozilla-libavcodec58_91.patch +Patch29: mozilla-system-nspr.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -350,6 +351,7 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version} %patch26 -p1 %patch27 -p1 %patch28 -p1 +%patch29 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -518,6 +520,7 @@ echo "Generate big endian version of config/external/icu/data/icud58l.dat" ls -l config/external/icu/data rm -f config/external/icu/data/icudt*l.dat %endif +ccache -s %if 0%{?do_profiling} xvfb-run --server-args="-screen 0 1920x1080x24" \ %endif @@ -525,10 +528,19 @@ xvfb-run --server-args="-screen 0 1920x1080x24" \ # build additional locales %if %localize +# The file obj/browser/locales/bookmarks.html will be overwritten by each langpack-build with the current translation +# Thus we save here the original, to restore it afterwards, so that the default installation will not have zh-TW +# bookmarks +# See also https://bugzilla.opensuse.org/show_bug.cgi?id=1167976 +cp ../obj/browser/locales/bookmarks.html ../obj/browser/locales/bookmarks.html_ORIG + mkdir -p %{buildroot}%{progdir}/browser/extensions truncate -s 0 %{_tmppath}/translations.{common,other} -sed -r '/^(ja-JP-mac|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \ - | xargs -n 1 -P 0 -I {} /bin/sh -c ' +# Adding "-P 0" would give us parallel builds of langpacks. Unfortunately, mach currently doesn't support +# building them in parallel. If we do, we get race-conditions and have mixed languages in the langpacks. +# See https://bugzilla.suse.com/show_bug.cgi?id=1173986 +sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \ + | xargs -n 1 -I {} /bin/sh -c ' locale=$1 ./mach build langpack-$locale cp -L ../obj/dist/linux-*/xpi/firefox-%{orig_version}.$locale.langpack.xpi \ @@ -545,8 +557,12 @@ sed -r '/^(ja-JP-mac|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_versi echo %{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org.xpi \ >> %{_tmppath}/translations.$_l10ntarget ' -- {} + +# Restoring the original bookmarksfile +cp ../obj/browser/locales/bookmarks.html_ORIG ../obj/browser/locales/bookmarks.html %endif +ccache -s %endif # only_print_mozconfig %install diff --git a/firefox-79.0.source.tar.xz b/firefox-79.0.source.tar.xz deleted file mode 100644 index a80229d0..00000000 --- a/firefox-79.0.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12a922855914ec6b4d4f06a4ac58bc549aca6bdafd3722d68a3d709a935e5713 -size 333220776 diff --git a/firefox-79.0.source.tar.xz.asc b/firefox-79.0.source.tar.xz.asc deleted file mode 100644 index 8d4db8ba..00000000 --- a/firefox-79.0.source.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl8WILAACgkQ8aZmj7t9 -Vy6pRg/+J6hr1Ky1odA+zPM1IWpPo4jl57vhic9+GjmW+/PFL37IbgzQd+YityrL -uY6f/y3iHnqJ/wMAJekiq7MclpWXrno2g15Rjmkd3euwcaph0cTHscWojJWddvCl -OmClCvklpfgvpkLqaX1yDTrGS4+d61a60+h8pS4trAeX0atFLGPYIyY6cGHae1m1 -Xubmgak0lZEKcER0efQyTSXJJ2KFwJ35QkVNE6L76zahBSNK/Nr3sfrABxBNVZnI -R/Jhp5dnayeQfyCEDRlMYss8Cxh3YyG2/seKmFi8TVlJhuO0L2ay9TammmFpQp0c -iv5MC/FzxBZ9EK4Y0dBNHlLO457NIHpjtXoTu6nP4S7murt+CAPzjI704r9e4GDX -l+m3/2hWIwPc5EvTyUsFCdBJEkzeSL97woebcQkPMUNMRvjxxGtTjdsJHAoy/LNr -m/2vIev62hBlWKlk3g5CeM4yw4uNJ7AXPe87ZCtAKjppLjTRtRnuQhMeLHt4W2tv -J9EHttFsjTij+tx3iGshJKoIF1+MTQlrKrto9BhYPd4IT2lWoxnHFktHx37awhtZ -ghLVVbAcXMeonqFf//Rta7eEz1bJYZN1Dcl6xROq9GGTX+QEAYobesI81RjMs8TY -lNahX8/4D1kaz5Knp2CYX0iBYfPxic5tFwZ2xqd8pwsbDzPrSNg= -=SxfO ------END PGP SIGNATURE----- diff --git a/firefox-80.0.source.tar.xz b/firefox-80.0.source.tar.xz new file mode 100644 index 00000000..157d5720 --- /dev/null +++ b/firefox-80.0.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:380d9853e0712442ba2d4acd85c0e09c19ad36561a3ea8932705ad6b8a91146a +size 335316448 diff --git a/firefox-80.0.source.tar.xz.asc b/firefox-80.0.source.tar.xz.asc new file mode 100644 index 00000000..f38177c0 --- /dev/null +++ b/firefox-80.0.source.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl88jDEACgkQ8aZmj7t9 +Vy7ASg//fLaiXd9rA7/DVLu3TPXAkjCHzgvmH6Y/nwL/Q1Dztv/MxzbBWDRdqP0G +LYm2aYP7iRQCxe5qk3VLgshaRzS+GCkzcz8k2zlEbeTJ8i8Yrs4XF3gETmuorU+2 +ZSzDyK9/RAviDpVa7iRSX5PVBMlBI0j5os3X13ipjRxnYnQnesvV+4/YRblX8W/o +3GjLrm8eRPzglZyxrD6Q2fSPJAGkY/lfJqekkMI3iyq/DPFi3wXPSmiw8r8HFbb9 +Lx6WNF78Tl8aNgsOBHUdYo6qk1v00sejP4OUls9o+VWQOMdVRocoqXo4g7U8Zk+j +P2Tsu4RDsGDo8H3MtG/oRz4RM+wTSVxNC59FWKHsRlPS5q1OmQRltL/ZE0K3+A0z +0S8rHUT9XMWHSmVvqlAOXHPXy0C050j8NXxMhST3vGC8dHpmUAPOHGQUrLRkHucn +uidMFANuvN9QVh5QjYAddA0yHqqkZonPVIKWAv7Den2daS9Hnw1n33XnQIzuggkD +gDTT9hfcxp0Vk0TGR5WXlpku9BBHIUOrmV3MnfN+vHXyrTONrx2Q3JwhzgCCvNTr +mTf8MEOyjo8NdSQ1IwI5vmi48XLnO/XyvBQmiP2YLzx3G2mgZPFiwdauKT0dQset +enamKTFG3DUoOxW/yFxAwxwW5l/44z8Rv82FPUFp7Kgz5wrR7oI= +=/g2L +-----END PGP SIGNATURE----- diff --git a/firefox-branded-icons.patch b/firefox-branded-icons.patch index d5800106..da515d57 100644 --- a/firefox-branded-icons.patch +++ b/firefox-branded-icons.patch @@ -1,6 +1,6 @@ # HG changeset patch # Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de -# Parent 91064bb25b378c1fdcc2d99a89aeaf5e821b1689 +# Parent fe8ed2b997914bef9446d854a4c189fb69394bac diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild --- a/browser/branding/branding-common.mozbuild @@ -24,9 +24,9 @@ diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/brandi diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -249,20 +249,23 @@ - @RESPATH@/browser/chrome/pdfjs.manifest - @RESPATH@/browser/chrome/pdfjs/* +@@ -252,20 +252,23 @@ + @RESPATH@/chrome/pdfjs.manifest + @RESPATH@/chrome/pdfjs/* @RESPATH@/chrome/toolkit@JAREXT@ @RESPATH@/chrome/toolkit.manifest @RESPATH@/chrome/recording.manifest diff --git a/firefox-kde.patch b/firefox-kde.patch index dd5dde80..a8660018 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 0fd58e0df883086574263e0881e1503cf110562a +# Parent 3804871eac4171b99e9049dbc881b5304b5ac207 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 -@@ -336,16 +336,23 @@ var gMainPane = { +@@ -335,16 +335,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") + -@@ -1301,16 +1308,27 @@ var gMainPane = { +@@ -1291,16 +1298,27 @@ var gMainPane = { this._backoffIndex = 0; let shellSvc = getShellService(); @@ -139,7 +139,7 @@ new file mode 100644 + if (!str) + return NS_ERROR_FAILURE; + -+ str->SetData( NS_LITERAL_CSTRING( "ISDEFAULTBROWSER" )); ++ str->SetData("ISDEFAULTBROWSER"_ns); + command->AppendElement( str ); + + if( nsKDEUtils::command( command )) @@ -160,10 +160,10 @@ new file mode 100644 + if (!cmdstr || !paramstr) + return NS_ERROR_FAILURE; + -+ cmdstr->SetData( NS_LITERAL_CSTRING( "SETDEFAULTBROWSER" )); ++ cmdstr->SetData("SETDEFAULTBROWSER"_ns); + command->AppendElement( cmdstr ); + -+ paramstr->SetData( aClaimAllTypes ? NS_LITERAL_CSTRING( "ALLTYPES" ) : NS_LITERAL_CSTRING( "NORMAL" )); ++ paramstr->SetData( aClaimAllTypes ? "ALLTYPES"_ns : "NORMAL"_ns ); + command->AppendElement( paramstr ); + + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; diff --git a/l10n-79.0.tar.xz b/l10n-79.0.tar.xz deleted file mode 100644 index d5a8e1e0..00000000 --- a/l10n-79.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc9f77a4742b9e2e293f869ed5fd726f27a5b14975d7a77ec25e600fc9a98c9a -size 52406032 diff --git a/l10n-80.0.tar.xz b/l10n-80.0.tar.xz new file mode 100644 index 00000000..6529238a --- /dev/null +++ b/l10n-80.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe3ea0d8cec71c6d8b6b4d642e2c0bb115bdafa106085e7cd3cccea43c992150 +size 53010496 diff --git a/mozilla-kde.patch b/mozilla-kde.patch index 00227f26..6faf17c1 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 43647626f7204e312a4e38cac0414a461b06667f +# Parent a22a4c4e41107a0809c33a83e9d14916738c5a82 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -31,7 +31,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp #ifdef MOZ_MEMORY # include "mozmemory.h" #endif -@@ -4570,25 +4571,37 @@ nsresult Preferences::InitInitialObjects +@@ -4530,25 +4531,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. -@@ -4634,17 +4647,17 @@ nsresult Preferences::InitInitialObjects +@@ -4594,17 +4607,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 -@@ -117,16 +117,20 @@ EXPORTS.mozilla += [ +@@ -118,16 +118,20 @@ EXPORTS.mozilla += [ ] EXPORTS.mozilla += sorted(['!' + g for g in gen_h]) @@ -157,7 +157,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build --- a/toolkit/components/downloads/moz.build +++ b/toolkit/components/downloads/moz.build -@@ -46,10 +46,14 @@ XPCOM_MANIFESTS += [ +@@ -45,10 +45,14 @@ XPCOM_MANIFESTS += [ if CONFIG['MOZ_PLACES']: EXTRA_JS_MODULES += [ @@ -302,7 +302,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { // dbus prevents us from being threadsafe, but this routine should not block // anyhow -@@ -384,21 +387,50 @@ nsresult nsUnixSystemProxySettings::GetP +@@ -381,21 +384,50 @@ nsresult nsUnixSystemProxySettings::GetP return NS_OK; } @@ -338,7 +338,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy + url += nsPrintfCString("%d", aPort); + } + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "GETPROXY" )); ++ command.AppendElement( "GETPROXY"_ns ); + command.AppendElement( url ); + nsTArray result; + if( !nsKDEUtils::command( command, &result ) || result.Length() != 1 ) @@ -454,8 +454,8 @@ new file mode 100644 +static bool getKdeSupport() + { + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "CHECK" )); -+ command.AppendElement( NS_LITERAL_CSTRING( MAKE_STR( KMOZILLAHELPER_VERSION ))); ++ command.AppendElement( "CHECK"_ns ); ++ command.AppendElement( "KMOZILLAHELPER_VERSION"_ns ); + bool kde = nsKDEUtils::command( command ); +#ifdef DEBUG_KDE + fprintf( stderr, "KDE RUNNING %d\n", kde ); @@ -991,7 +991,7 @@ new file mode 100644 +nsKDERegistry::HandlerExists(const char *aProtocolScheme) +{ + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "HANDLEREXISTS" )); ++ command.AppendElement( "HANDLEREXISTS"_ns ); + command.AppendElement( nsAutoCString( aProtocolScheme )); + return nsKDEUtils::command( command ); +} @@ -1000,7 +1000,7 @@ new file mode 100644 +nsKDERegistry::LoadURL(nsIURI *aURL) +{ + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "OPEN" )); ++ command.AppendElement( "OPEN"_ns ); + nsCString url; + aURL->GetSpec( url ); + command.AppendElement( url ); @@ -1016,7 +1016,7 @@ new file mode 100644 + nsAString& aDesc) +{ + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "GETAPPDESCFORSCHEME" )); ++ command.AppendElement( "GETAPPDESCFORSCHEME"_ns ); + command.AppendElement( aScheme ); + nsTArray output; + if( nsKDEUtils::command( command, &output ) && output.Length() == 1 ) @@ -1029,7 +1029,7 @@ new file mode 100644 +{ + NS_ASSERTION(aFileExt[0] != '.', "aFileExt shouldn't start with a dot"); + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "GETFROMEXTENSION" )); ++ command.AppendElement( "GETFROMEXTENSION"_ns ); + command.AppendElement( aFileExt ); + return GetFromHelper( command ); +} @@ -1038,7 +1038,7 @@ new file mode 100644 +nsKDERegistry::GetFromType(const nsACString& aMIMEType) +{ + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "GETFROMTYPE" )); ++ command.AppendElement( "GETFROMTYPE"_ns ); + command.AppendElement( aMIMEType ); + return GetFromHelper( command ); +} @@ -1171,9 +1171,9 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler + bool supports; + if( NS_SUCCEEDED( GetHasDefaultHandler( &supports )) && supports ) { + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "OPEN" )); ++ command.AppendElement( "OPEN"_ns ); + command.AppendElement( nativePath ); -+ command.AppendElement( NS_LITERAL_CSTRING( "MIMETYPE" )); ++ command.AppendElement( "MIMETYPE"_ns ); + command.AppendElement( mSchemeOrType ); + if( nsKDEUtils::command( command )) + return NS_OK; @@ -1214,7 +1214,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth #include "nsIFileStreams.h" #include "nsILineInputStream.h" #include "nsIFile.h" -@@ -1022,17 +1022,17 @@ nsresult nsOSHelperAppService::GetHandle +@@ -1019,17 +1019,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) { -@@ -1042,17 +1042,17 @@ nsresult nsOSHelperAppService::OSProtoco +@@ -1039,17 +1039,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) { -@@ -1139,17 +1139,17 @@ already_AddRefed nsOSHel +@@ -1136,17 +1136,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); -@@ -1251,17 +1251,17 @@ already_AddRefed nsOSHel +@@ -1247,17 +1247,17 @@ already_AddRefed nsOSHel // Now look up our extensions nsAutoString extensions, mime_types_description; @@ -1294,7 +1294,6 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build --- a/widget/gtk/moz.build +++ b/widget/gtk/moz.build @@ -133,16 +133,17 @@ include('/ipc/chromium/chromium-config.m - FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ @@ -1302,6 +1301,7 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build '/layout/generic', '/layout/xul', '/other-licenses/atk-1.0', + '/third_party/cups/include', + '/toolkit/xre', '/widget', '/widget/headless', @@ -1534,10 +1534,10 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp + } + command.AppendElement( title ); + if( mMode == nsIFilePicker::modeOpenMultiple ) -+ command.AppendElement( NS_LITERAL_CSTRING( "MULTIPLE" )); ++ command.AppendElement( "MULTIPLE"_ns ); + if( PRInt32 xid = windowToXid( mParentWidget )) + { -+ command.AppendElement( NS_LITERAL_CSTRING( "PARENT" )); ++ command.AppendElement( "PARENT"_ns ); + nsAutoCString parent; + parent.AppendInt( xid ); + command.AppendElement( parent ); @@ -1625,11 +1625,11 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp + title.Adopt(ToNewUTF8String(mTitle)); + + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING( "APPSDIALOG" )); ++ command.AppendElement( "APPSDIALOG"_ns ); + command.AppendElement( title ); + if( PRInt32 xid = windowToXid( mParentWidget )) + { -+ command.AppendElement( NS_LITERAL_CSTRING( "PARENT" )); ++ command.AppendElement( "PARENT"_ns ); + nsAutoCString parent; + parent.AppendInt( xid ); + command.AppendElement( parent ); @@ -1703,25 +1703,25 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars int argc; bool ischrome; -@@ -394,16 +395,17 @@ void ParseManifest(NSLocationType aType, - NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled"); - NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired"); - NS_NAMED_LITERAL_STRING(kApplication, "application"); - NS_NAMED_LITERAL_STRING(kAppVersion, "appversion"); - NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion"); - NS_NAMED_LITERAL_STRING(kOs, "os"); - NS_NAMED_LITERAL_STRING(kOsVersion, "osversion"); - NS_NAMED_LITERAL_STRING(kABI, "abi"); -+ NS_NAMED_LITERAL_STRING(kDesktop, "desktop"); - NS_NAMED_LITERAL_STRING(kProcess, "process"); +@@ -393,16 +394,17 @@ void ParseManifest(NSLocationType aType, + constexpr auto kRemoteEnabled = u"remoteenabled"_ns; + constexpr auto kRemoteRequired = u"remoterequired"_ns; + constexpr auto kApplication = u"application"_ns; + constexpr auto kAppVersion = u"appversion"_ns; + constexpr auto kGeckoVersion = u"platformversion"_ns; + constexpr auto kOs = u"os"_ns; + constexpr auto kOsVersion = u"osversion"_ns; + constexpr auto kABI = u"abi"_ns; ++ constexpr auto kDesktop = u"desktop"_ns; + constexpr auto kProcess = u"process"_ns; #if defined(MOZ_WIDGET_ANDROID) - NS_NAMED_LITERAL_STRING(kTablet, "tablet"); + constexpr auto kTablet = u"tablet"_ns; #endif - NS_NAMED_LITERAL_STRING(kMain, "main"); - NS_NAMED_LITERAL_STRING(kContent, "content"); + constexpr auto kMain = u"main"_ns; + constexpr auto kContent = u"content"_ns; -@@ -449,39 +451,44 @@ void ParseManifest(NSLocationType aType, +@@ -448,39 +450,44 @@ void ParseManifest(NSLocationType aType, CopyUTF8toUTF16(s, abi); abi.Insert(char16_t('_'), 0); abi.Insert(osTarget, 0); @@ -1739,17 +1739,17 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", info.dwMajorVersion, info.dwMinorVersion); } -+ desktop = NS_LITERAL_STRING("win"); ++ desktop = u"win"_ns; # pragma warning(pop) #elif defined(MOZ_WIDGET_COCOA) SInt32 majorVersion = nsCocoaFeatures::macOSVersionMajor(); SInt32 minorVersion = nsCocoaFeatures::macOSVersionMinor(); nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", majorVersion, minorVersion); -+ desktop = NS_LITERAL_STRING("macosx"); ++ desktop = u"macosx"_ns); #elif defined(MOZ_WIDGET_GTK) nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", gtk_major_version, gtk_minor_version); -+ desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome"); ++ desktop = nsKDEUtils::kdeSession() ? u"kde"_ns : u"gnome"_ns; #elif defined(MOZ_WIDGET_ANDROID) bool isTablet = false; if (mozilla::AndroidBridge::Bridge()) { @@ -1757,7 +1757,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars "android/os/Build$VERSION", "RELEASE", osVersion); isTablet = java::GeckoAppShell::IsTablet(); } -+ desktop = NS_LITERAL_STRING("android"); ++ desktop = u"android"_ns; #endif if (XRE_IsContentProcess()) { @@ -1766,7 +1766,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars process = kMain; } -@@ -568,25 +575,27 @@ void ParseManifest(NSLocationType aType, +@@ -567,25 +574,27 @@ void ParseManifest(NSLocationType aType, TriState stOsVersion = eUnspecified; TriState stOs = eUnspecified; TriState stABI = eUnspecified; @@ -1794,7 +1794,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars continue; } -@@ -623,17 +632,17 @@ void ParseManifest(NSLocationType aType, +@@ -622,17 +631,17 @@ void ParseManifest(NSLocationType aType, } LogMessageWithContext( @@ -1907,7 +1907,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp #endif + if(nsKDEUtils::kdeSupport()) { + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING("REVEAL") ); ++ command.AppendElement( "REVEAL"_ns ); + command.AppendElement( mPath ); + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; + } @@ -1927,7 +1927,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp #ifdef MOZ_WIDGET_GTK + if( nsKDEUtils::kdeSupport()) { + nsTArray command; -+ command.AppendElement( NS_LITERAL_CSTRING("OPEN") ); ++ command.AppendElement( "OPEN"_ns ); + command.AppendElement( mPath ); + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; + } diff --git a/mozilla-nongnome-proxies.patch b/mozilla-nongnome-proxies.patch index 7a077dfe..4b3f01c7 100644 --- a/mozilla-nongnome-proxies.patch +++ b/mozilla-nongnome-proxies.patch @@ -3,7 +3,7 @@ # Date 1558442915 -7200 # Tue May 21 14:48:35 2019 +0200 # Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5 -# Parent dc1684693eed684bdafeff0ad78d4f6d288fcae1 +# Parent bd5d1f49975deb730064a16b3079edb53c4a5f84 Do not use gconf for proxy settings if not running within Gnome Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp =================================================================== @@ -13,7 +13,7 @@ retrieving revision 1.1 diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp -@@ -49,21 +49,24 @@ NS_IMETHODIMP +@@ -49,20 +49,24 @@ NS_IMETHODIMP nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { // dbus prevents us from being threadsafe, but this routine should not block // anyhow @@ -24,15 +24,14 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy void nsUnixSystemProxySettings::Init() { - mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); - if (mGSettings) { -- mGSettings->GetCollectionForSchema( -- NS_LITERAL_CSTRING("org.gnome.system.proxy"), -- getter_AddRefs(mProxySettings)); +- mGSettings->GetCollectionForSchema("org.gnome.system.proxy"_ns, +- getter_AddRefs(mProxySettings)); + const char* sessionType = PR_GetEnv("DESKTOP_SESSION"); + if (sessionType && !strcmp(sessionType, "gnome")) { + mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); + if (mGSettings) { + mGSettings->GetCollectionForSchema( -+ NS_LITERAL_CSTRING("org.gnome.system.proxy"), ++ "org.gnome.system.proxy"_ns, + getter_AddRefs(mProxySettings)); + } } @@ -42,4 +41,4 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy if (mProxySettings) { nsCString proxyMode; // Check if mode is auto - nsresult rv = + nsresult rv = mProxySettings->GetString("mode"_ns, proxyMode); diff --git a/mozilla-system-nspr.patch b/mozilla-system-nspr.patch new file mode 100644 index 00000000..ffe774ba --- /dev/null +++ b/mozilla-system-nspr.patch @@ -0,0 +1,52 @@ +# HG changeset patch +# User Wolfgang Rosenauer +# Parent 3804871eac4171b99e9049dbc881b5304b5ac207 + +diff --git a/dom/system/IOUtils.cpp b/dom/system/IOUtils.cpp +--- a/dom/system/IOUtils.cpp ++++ b/dom/system/IOUtils.cpp +@@ -9,19 +9,19 @@ + #include "mozilla/dom/IOUtils.h" + #include "mozilla/dom/Promise.h" + #include "mozilla/ErrorNames.h" + #include "mozilla/Result.h" + #include "mozilla/ResultExtensions.h" + #include "mozilla/Services.h" + #include "mozilla/Span.h" + #include "mozilla/TextUtils.h" +-#include "nspr/prio.h" +-#include "nspr/private/pprio.h" +-#include "nspr/prtypes.h" ++#include "prio.h" ++#include "private/pprio.h" ++#include "prtypes.h" + #include "nsDirectoryServiceDefs.h" + #include "nsIFile.h" + #include "nsIGlobalObject.h" + #include "nsNativeCharsetUtils.h" + #include "nsReadableUtils.h" + #include "nsString.h" + #include "nsThreadManager.h" + #include "SpecialSystemDirectory.h" +diff --git a/dom/system/IOUtils.h b/dom/system/IOUtils.h +--- a/dom/system/IOUtils.h ++++ b/dom/system/IOUtils.h +@@ -9,17 +9,17 @@ + + #include "mozilla/AlreadyAddRefed.h" + #include "mozilla/DataMutex.h" + #include "mozilla/dom/BindingDeclarations.h" + #include "mozilla/dom/IOUtilsBinding.h" + #include "mozilla/dom/TypedArray.h" + #include "mozilla/ErrorResult.h" + #include "mozilla/MozPromise.h" +-#include "nspr/prio.h" ++#include "prio.h" + #include "nsIAsyncShutdown.h" + #include "nsISerialEventTarget.h" + #include "nsLocalFile.h" + + namespace mozilla { + + /** + * Utility class to be used with |UniquePtr| to automatically close NSPR file diff --git a/tar_stamps b/tar_stamps index e3370328..2e6958a6 100644 --- a/tar_stamps +++ b/tar_stamps @@ -1,11 +1,11 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="79.0" +VERSION="80.0" VERSION_SUFFIX="" -PREV_VERSION="78.0.2" +PREV_VERSION="79.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="df3ed76cf46b23c9b658cd5be4cdd4162d86f736" -RELEASE_TIMESTAMP="20200720193547" +RELEASE_TAG="bd5d1f49975deb730064a16b3079edb53c4a5f84" +RELEASE_TIMESTAMP="20200818235255"