- 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
This commit is contained in:
Wolfgang Rosenauer 2020-08-25 18:18:25 +00:00 committed by Git OBS Bridge
parent 9f9bb3e928
commit f9c0480028
14 changed files with 206 additions and 97 deletions

View File

@ -1,3 +1,45 @@
-------------------------------------------------------------------
Sat Aug 22 06:52:01 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
- 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 <mliska@suse.cz>

View File

@ -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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12a922855914ec6b4d4f06a4ac58bc549aca6bdafd3722d68a3d709a935e5713
size 333220776

View File

@ -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-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:380d9853e0712442ba2d4acd85c0e09c19ad36561a3ea8932705ad6b8a91146a
size 335316448

View File

@ -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-----

View File

@ -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

View File

@ -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;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cc9f77a4742b9e2e293f869ed5fd726f27a5b14975d7a77ec25e600fc9a98c9a
size 52406032

3
l10n-80.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe3ea0d8cec71c6d8b6b4d642e2c0bb115bdafa106085e7cd3cccea43c992150
size 53010496

View File

@ -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 <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@ -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<nsIFile> 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<nsCString> command;
+ command.AppendElement( NS_LITERAL_CSTRING( "GETPROXY" ));
+ command.AppendElement( "GETPROXY"_ns );
+ command.AppendElement( url );
+ nsTArray<nsCString> result;
+ if( !nsKDEUtils::command( command, &result ) || result.Length() != 1 )
@ -454,8 +454,8 @@ new file mode 100644
+static bool getKdeSupport()
+ {
+ nsTArray<nsCString> 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<nsCString> 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<nsCString> 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<nsCString> command;
+ command.AppendElement( NS_LITERAL_CSTRING( "GETAPPDESCFORSCHEME" ));
+ command.AppendElement( "GETAPPDESCFORSCHEME"_ns );
+ command.AppendElement( aScheme );
+ nsTArray<nsCString> 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<nsCString> 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<nsCString> 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<nsCString> 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<nsIHandlerService> 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<nsMIMEInfoBase> nsOSHel
@@ -1136,17 +1136,17 @@ already_AddRefed<nsMIMEInfoBase> 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<nsMIMEInfoBase> nsOSHel
@@ -1247,17 +1247,17 @@ already_AddRefed<nsMIMEInfoBase> 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<nsCString> 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<nsCString> 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<nsCString> command;
+ command.AppendElement( NS_LITERAL_CSTRING("OPEN") );
+ command.AppendElement( "OPEN"_ns );
+ command.AppendElement( mPath );
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+ }

View File

@ -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);

52
mozilla-system-nspr.patch Normal file
View File

@ -0,0 +1,52 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# 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

View File

@ -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"