From 126ce832a38c4f1aa6e05ea638e890e63a13ed1f9e693b8bb4b70ea2e6037c1e Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 29 Jan 2019 19:03:55 +0000 Subject: [PATCH 1/2] changelog (security related) missing still - MozillaThunderbird 60.5.0: * FileLink provider WeTransfer to upload large attachments * Thunderbird now allows the addition of OpenSearch search engines from a local XML file using a minimal user inferface: [+] button to select a file an add, [-] to remove. * More search engines: Google and DuckDuckGo available by default in some locales * During account creation, Thunderbird will now detect servers using the Microsoft Exchange protocol. It will offer the installation of a 3rd party add-on (Owl) which supports that protocol. * Thunderbird now compatible with other WebExtension-based FileLink add-ons like the Dropbox add-on - requires NSS 3.36.7 - removed obsolete patch mozilla-no-stdcxx-check.patch - rebased patches MFSA 2018-31 * CVE-2018-17466 bmo#1488295 Buffer overflow and out-of-bounds read in ANGLE library with TextureStorage11 * CVE-2018-18492 bmo#1499861 Use-after-free with select element * CVE-2018-18493 bmo#1504452 Buffer overflow in accelerated 2D canvas with Skia * CVE-2018-18494 bmo#1487964 Same-origin policy violation using location attribute and performance.getEntries to steal cross-origin URLs * CVE-2018-18498 bmo#1500011 Integer overflow when calculating buffer sizes for images OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=451 --- MozillaThunderbird.changes | 38 ++ MozillaThunderbird.spec | 13 +- compare-locales.tar.xz | 4 +- create-tar.sh | 6 +- l10n-60.4.0.tar.xz | 3 - l10n-60.5.0.tar.xz | 3 + mozilla-aarch64-startup-crash.patch | 37 +- mozilla-bmo1375074.patch | 86 +-- mozilla-bmo1463035.patch | 45 +- mozilla-kde.patch | 794 ++++++++++++++++++++------- mozilla-no-stdcxx-check.patch | 25 - mozilla-nongnome-proxies.patch | 21 +- thunderbird-60.4.0.source.tar.xz | 3 - thunderbird-60.4.0.source.tar.xz.asc | 17 - thunderbird-60.5.0.source.tar.xz | 3 + thunderbird-60.5.0.source.tar.xz.asc | 17 + 16 files changed, 758 insertions(+), 357 deletions(-) delete mode 100644 l10n-60.4.0.tar.xz create mode 100644 l10n-60.5.0.tar.xz delete mode 100644 mozilla-no-stdcxx-check.patch delete mode 100644 thunderbird-60.4.0.source.tar.xz delete mode 100644 thunderbird-60.4.0.source.tar.xz.asc create mode 100644 thunderbird-60.5.0.source.tar.xz create mode 100644 thunderbird-60.5.0.source.tar.xz.asc diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index a6c467d..2f7463d 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Fri Jan 25 14:40:21 UTC 2019 - Wolfgang Rosenauer + +- MozillaThunderbird 60.5.0: + * FileLink provider WeTransfer to upload large attachments + * Thunderbird now allows the addition of OpenSearch search engines + from a local XML file using a minimal user inferface: [+] button + to select a file an add, [-] to remove. + * More search engines: Google and DuckDuckGo available by default + in some locales + * During account creation, Thunderbird will now detect servers + using the Microsoft Exchange protocol. It will offer the + installation of a 3rd party add-on (Owl) which supports that + protocol. + * Thunderbird now compatible with other WebExtension-based + FileLink add-ons like the Dropbox add-on +- requires NSS 3.36.7 +- removed obsolete patch + mozilla-no-stdcxx-check.patch +- rebased patches + ------------------------------------------------------------------- Fri Dec 21 19:50:56 UTC 2018 - astieger@suse.com @@ -8,8 +29,25 @@ Fri Dec 21 19:50:56 UTC 2018 - astieger@suse.com * New messages in the drafts folder (and other special or virtual folders) will no longer be included in the new messages notification + MFSA 2018-31 + * CVE-2018-17466 bmo#1488295 + Buffer overflow and out-of-bounds read in ANGLE library with + TextureStorage11 + * CVE-2018-18492 bmo#1499861 + Use-after-free with select element + * CVE-2018-18493 bmo#1504452 + Buffer overflow in accelerated 2D canvas with Skia + * CVE-2018-18494 bmo#1487964 + Same-origin policy violation using location attribute and + performance.getEntries to steal cross-origin URLs + * CVE-2018-18498 bmo#1500011 + Integer overflow when calculating buffer sizes for images + * CVE-2018-12405 bmo#1494752 bmo#1503326 bmo#1505181 bmo#1500759 + bmo#1504365 bmo#1506640 bmo#1503082 bmo#1502013 bmo#1510471 + Memory safety bugs fixed in Firefox 64, 60.4, and Thunderbird 60.4 - requires NSS 3.36.6 + ------------------------------------------------------------------- Tue Dec 4 21:04:50 UTC 2018 - Wolfgang Rosenauer diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index f8d36bf..e6b56f3 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -1,8 +1,8 @@ # # spec file for package MozillaThunderbird # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. -# 2006-2018 Wolfgang Rosenauer +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# 2006-2019 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,9 +17,9 @@ # -%define mainversion 60.4.0 +%define mainversion 60.5.0 %define update_channel release -%define releasedate 20181217101353 +%define releasedate 20190122170039 %bcond_without mozilla_tb_kde4 %bcond_with mozilla_tb_valgrind @@ -44,7 +44,7 @@ BuildRequires: libidl-devel BuildRequires: libnotify-devel BuildRequires: memory-constraints BuildRequires: mozilla-nspr-devel >= 4.19 -BuildRequires: mozilla-nss-devel >= 3.36.6 +BuildRequires: mozilla-nss-devel >= 3.36.7 BuildRequires: python BuildRequires: python2-xml BuildRequires: rust >= 1.24 @@ -116,7 +116,6 @@ Source14: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/KEY#/ # Gecko/Toolkit Patch2: mozilla-nongnome-proxies.patch Patch3: mozilla-kde.patch -Patch5: mozilla-no-stdcxx-check.patch Patch6: mozilla-aarch64-startup-crash.patch Patch7: mozilla-bmo1375074.patch Patch8: mozilla-bmo1464766.patch @@ -198,7 +197,6 @@ symbols meant for upload to Mozilla's crash collector database. %if %{with mozilla_tb_kde4} %patch3 -p1 %endif -%patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 @@ -481,6 +479,7 @@ exit 0 %{progdir}/defaults/ %dir %{progdir}/extensions/ %{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi +%{progdir}/features/ %{progdir}/isp/ %{_datadir}/appdata/ %{_datadir}/applications/%{desktop_file_name}.desktop diff --git a/compare-locales.tar.xz b/compare-locales.tar.xz index 749964c..7c6daa9 100644 --- a/compare-locales.tar.xz +++ b/compare-locales.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76b44663f5a7f687f38d32b193bc1d1d34c3bb904a2c8cbfef307e1e4ff4f6a0 -size 28848 +oid sha256:fd6d08ed498da4259c30da63101d5a554d56ec02495f438119254fa25df55d8f +size 28408 diff --git a/create-tar.sh b/create-tar.sh index fe4855b..f166d67 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -2,9 +2,9 @@ CHANNEL="esr60" BRANCH="releases/comm-$CHANNEL" -RELEASE_TAG="945fb5fce3d3" -MOZ_RELEASE_TAG="c23331af8ac635f86d748c0eb1e5bbb8fcfd86d9" -VERSION="60.4.0" +RELEASE_TAG="0afc082591ad" +MOZ_RELEASE_TAG="111144372339ec2c9e5c899656c2919c90f56f08" +VERSION="60.5.0" VERSION_SUFFIX="" LOCALE_FILE="thunderbird-$VERSION/comm/mail/locales/l10n-changesets.json" diff --git a/l10n-60.4.0.tar.xz b/l10n-60.4.0.tar.xz deleted file mode 100644 index 095390b..0000000 --- a/l10n-60.4.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0610239ed30b87b9b2a304a635aaaa56a85b46c961bdb3f328ad7e6650d46667 -size 29672564 diff --git a/l10n-60.5.0.tar.xz b/l10n-60.5.0.tar.xz new file mode 100644 index 0000000..12bb885 --- /dev/null +++ b/l10n-60.5.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46c9bbf5f4b7a4e2ae53ab6d2ba708873f766a3cfaa8e33a3663298adaca2ab4 +size 27451012 diff --git a/mozilla-aarch64-startup-crash.patch b/mozilla-aarch64-startup-crash.patch index 0d0ea61..883e94f 100644 --- a/mozilla-aarch64-startup-crash.patch +++ b/mozilla-aarch64-startup-crash.patch @@ -1,32 +1,33 @@ # HG changeset patch # Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10 -# Parent 3005da37da3f1e2c568b1675307d10860182d214 +# Parent 85c2e07d2a9ec3e45f55d0e482c7b663626bfc8a Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp --- a/netwerk/base/nsIOService.cpp +++ b/netwerk/base/nsIOService.cpp -@@ -887,17 +887,23 @@ nsIOService::NewChannelFromURIWithProxyF - "doesn't support nsIUploadChannel2. An extension has " - "supplied a non-functional http protocol handler. This will " - "break behavior and in future releases not work at all."); - } - gHasWarnedUploadChannel2 = true; - } +@@ -874,18 +874,23 @@ nsresult nsIOService::NewChannelFromURIW + u"Http channel implementation " + "doesn't support nsIUploadChannel2. An extension has " + "supplied a non-functional http protocol handler. This will " + "break behavior and in future releases not work at all."); + } + gHasWarnedUploadChannel2 = true; } - + } +- +#if defined(__aarch64__) -+ if (result) { -+ channel.forget(result); -+ } ++ if (result) { ++ channel.forget(result); ++ } +#else - channel.forget(result); + channel.forget(result); +#endif - return NS_OK; + return NS_OK; } NS_IMETHODIMP - nsIOService::NewChannelFromURIWithProxyFlags2(nsIURI* aURI, - nsIURI* aProxyURI, - uint32_t aProxyFlags, - nsIDOMNode* aLoadingNode, + nsIOService::NewChannelFromURIWithProxyFlags2( + nsIURI *aURI, nsIURI *aProxyURI, uint32_t aProxyFlags, + nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal, + nsIPrincipal *aTriggeringPrincipal, uint32_t aSecurityFlags, diff --git a/mozilla-bmo1375074.patch b/mozilla-bmo1375074.patch index 26bb381..65d6951 100644 --- a/mozilla-bmo1375074.patch +++ b/mozilla-bmo1375074.patch @@ -3,7 +3,7 @@ # User Lars T Hansen # Date 1519822672 -3600 # Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6 -# Parent 223c97459e96183eb616aed39147207bdb953ba8 +# Parent 13ecd3214b18e4cab73c54e12e16071d58bed11e Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl diff --git a/js/src/jit-test/tests/bug1375074.js b/js/src/jit-test/tests/bug1375074.js @@ -32,64 +32,64 @@ new file mode 100644 diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp --- a/js/src/vm/UnboxedObject.cpp +++ b/js/src/vm/UnboxedObject.cpp -@@ -90,17 +90,25 @@ UnboxedLayout::makeConstructorCode(JSCon - masm.loadPtr(Address(masm.getStackPointer(), sizeof(void*)), propertiesReg); - masm.loadPtr(Address(masm.getStackPointer(), 2 * sizeof(void*)), newKindReg); +@@ -81,18 +81,25 @@ static const uintptr_t CLEAR_CONSTRUCTOR + masm.loadPtr(Address(masm.getStackPointer(), sizeof(void*)), propertiesReg); + masm.loadPtr(Address(masm.getStackPointer(), 2 * sizeof(void*)), newKindReg); #else - propertiesReg = IntArgReg0; - newKindReg = IntArgReg1; + propertiesReg = IntArgReg0; + newKindReg = IntArgReg1; #endif #ifdef JS_CODEGEN_ARM64 -- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing. -+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for -+ // addressing. The register we use for PSP may however also be used by -+ // calling code, and it is nonvolatile, so save it. Do this as a special -+ // case first because the generic save/restore code needs the PSP to be -+ // initialized already. -+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); -+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); +- // ARM64 communicates stack address via sp, but uses a pseudo-sp for +- // addressing. ++ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for ++ // addressing. The register we use for PSP may however also be used by ++ // calling code, and it is nonvolatile, so save it. Do this as a special ++ // case first because the generic save/restore code needs the PSP to be ++ // initialized already. ++ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); ++ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); + -+ // Initialize the PSP from the SP. - masm.initStackPtr(); ++ // Initialize the PSP from the SP. + masm.initStackPtr(); #endif - MOZ_ASSERT(propertiesReg.volatile_()); - MOZ_ASSERT(newKindReg.volatile_()); + MOZ_ASSERT(propertiesReg.volatile_()); + MOZ_ASSERT(newKindReg.volatile_()); - AllocatableGeneralRegisterSet regs(GeneralRegisterSet::All()); - regs.take(propertiesReg); -@@ -228,17 +236,32 @@ UnboxedLayout::makeConstructorCode(JSCon - if (object != ReturnReg) - masm.movePtr(object, ReturnReg); + AllocatableGeneralRegisterSet regs(GeneralRegisterSet::All()); + regs.take(propertiesReg); +@@ -234,17 +241,32 @@ static const uintptr_t CLEAR_CONSTRUCTOR + masm.bind(&done); - // Restore non-volatile registers which were saved on entry. - if (ScratchDoubleReg.volatile_()) - masm.pop(ScratchDoubleReg); - masm.PopRegsInMask(savedNonVolatileRegisters); + if (object != ReturnReg) masm.movePtr(object, ReturnReg); + + // Restore non-volatile registers which were saved on entry. + if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg); + masm.PopRegsInMask(savedNonVolatileRegisters); +#ifdef JS_CODEGEN_ARM64 -+ // Now restore the value that was in the PSP register on entry, and return. ++ // Now restore the value that was in the PSP register on entry, and return. + -+ // Obtain the correct SP from the PSP. -+ masm.Mov(sp, PseudoStackPointer64); ++ // Obtain the correct SP from the PSP. ++ masm.Mov(sp, PseudoStackPointer64); + -+ // Restore the saved value of the PSP register, this value is whatever the -+ // caller had saved in it, not any actual SP value, and it must not be -+ // overwritten subsequently. -+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); ++ // Restore the saved value of the PSP register, this value is whatever the ++ // caller had saved in it, not any actual SP value, and it must not be ++ // overwritten subsequently. ++ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); + -+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. -+ masm.Ret(vixl::lr); ++ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. ++ masm.Ret(vixl::lr); +#else - masm.abiret(); + masm.abiret(); +#endif - masm.bind(&failureStoreOther); + masm.bind(&failureStoreOther); - // There was a failure while storing a value which cannot be stored at all - // in the unboxed object. Initialize the object so it is safe for GC and - // return null. - masm.initUnboxedObjectContents(object, templateObject); + // There was a failure while storing a value which cannot be stored at all + // in the unboxed object. Initialize the object so it is safe for GC and + // return null. + masm.initUnboxedObjectContents(object, templateObject); - diff --git a/mozilla-bmo1463035.patch b/mozilla-bmo1463035.patch index 039f039..19642aa 100644 --- a/mozilla-bmo1463035.patch +++ b/mozilla-bmo1463035.patch @@ -3,7 +3,7 @@ # User Mike Hommey # Date 1526871862 -32400 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43 -# Parent 1800b8895c08bc0c60302775dc0a4b5ea4deb310 +# Parent 4a2e8085417fe782738bfd736b69806d9ed19d6a Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons For some reason, GNU as is not happy with the assembly generated after @@ -12,12 +12,11 @@ bug 1238661 anymore on Debian armel. OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this workaround anymore, so let's just kill it. - diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h deleted file mode 100644 --- a/mfbt/LinuxSignal.h +++ /dev/null -@@ -1,45 +0,0 @@ +@@ -1,38 +0,0 @@ -/* 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 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ @@ -38,35 +37,28 @@ deleted file mode 100644 -// will be skipped over. - -template --__attribute__((naked)) void --SignalTrampoline(int aSignal, siginfo_t* aInfo, void* aContext) --{ -- asm volatile ( -- "nop; nop; nop; nop" -- : : : "memory"); +-__attribute__((naked)) void SignalTrampoline(int aSignal, siginfo_t* aInfo, +- void* aContext) { +- asm volatile("nop; nop; nop; nop" : : : "memory"); - -- asm volatile ( -- "b %0" -- : -- : "X"(H) -- : "memory"); +- asm volatile("b %0" : : "X"(H) : "memory"); -} - --# define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline) +-#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline) - --#else // __arm__ +-#else // __arm__ - --# define MOZ_SIGNAL_TRAMPOLINE(h) (h) +-#define MOZ_SIGNAL_TRAMPOLINE(h) (h) - --#endif // __arm__ +-#endif // __arm__ - --} // namespace mozilla +-} // namespace mozilla - --#endif // mozilla_LinuxSignal_h +-#endif // mozilla_LinuxSignal_h diff --git a/mfbt/moz.build b/mfbt/moz.build --- a/mfbt/moz.build +++ b/mfbt/moz.build -@@ -117,20 +117,16 @@ EXPORTS["double-conversion"] = [ +@@ -115,20 +115,16 @@ EXPORTS["double-conversion"] = [ LOCAL_INCLUDES += [ '/mfbt/double-conversion', ] @@ -92,9 +84,9 @@ diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/cor +++ b/tools/profiler/core/platform-linux-android.cpp @@ -55,17 +55,16 @@ #ifdef __GLIBC__ - #include // backtrace, backtrace_symbols - #endif // def __GLIBC__ - #include // index + #include // backtrace, backtrace_symbols + #endif // def __GLIBC__ + #include // index #include #include @@ -108,7 +100,7 @@ diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/cor using namespace mozilla; -@@ -272,17 +271,17 @@ Sampler::Sampler(PSLockRef aLock) +@@ -248,17 +247,17 @@ Sampler::Sampler(PSLockRef aLock) // NOTE: We don't initialize LUL here, instead initializing it in // SamplerThread's constructor. This is because with the @@ -126,5 +118,4 @@ diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/cor } } - void - + void Sampler::Disable(PSLockRef aLock) { diff --git a/mozilla-kde.patch b/mozilla-kde.patch index 121b702..8b6ffcb 100644 --- a/mozilla-kde.patch +++ b/mozilla-kde.patch @@ -1,16 +1,20 @@ # HG changeset patch -# Parent d7a4d772ba2afb3ac43e2f2f234ffa55bcf50e70 +# Parent 58a0b60e25e7160c9877299a37a2f10660888e9a Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751 https://bugzilla.novell.com/show_bug.cgi?id=170055 -Index: firefox-60.2.0/modules/libpref/Preferences.cpp -=================================================================== ---- firefox-60.2.0.orig/modules/libpref/Preferences.cpp 2018-09-05 21:49:23.102829401 +0200 -+++ firefox-60.2.0/modules/libpref/Preferences.cpp 2018-09-05 21:49:31.498872824 +0200 -@@ -81,6 +81,7 @@ +diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp +--- a/modules/libpref/Preferences.cpp ++++ b/modules/libpref/Preferences.cpp +@@ -76,16 +76,17 @@ + #include "nsXPCOMCID.h" + #include "nsXPCOM.h" + #include "nsXULAppAPI.h" + #include "nsZipArchive.h" + #include "plbase64.h" #include "PLDHashTable.h" #include "plstr.h" #include "prlink.h" @@ -18,7 +22,17 @@ Index: firefox-60.2.0/modules/libpref/Preferences.cpp #ifdef XP_WIN #include "windows.h" -@@ -3873,6 +3874,7 @@ Preferences::InitInitialObjects() + #endif + + using namespace mozilla; + + #ifdef DEBUG +@@ -3519,25 +3520,37 @@ static nsresult pref_ReadPrefFromJar(nsZ + // application pref files for backwards compatibility. + static const char* specialFiles[] = { + #if defined(XP_MACOSX) + "macprefs.js" + #elif defined(XP_WIN) "winpref.js" #elif defined(XP_UNIX) "unix.js" @@ -26,7 +40,9 @@ Index: firefox-60.2.0/modules/libpref/Preferences.cpp #if defined(_AIX) , "aix.js" -@@ -3882,6 +3884,17 @@ Preferences::InitInitialObjects() + #endif + #elif defined(XP_BEOS) + "beos.js" #endif }; @@ -41,10 +57,20 @@ Index: firefox-60.2.0/modules/libpref/Preferences.cpp + } + } + - rv = pref_LoadPrefsInDir( - defaultPrefDir, specialFiles, ArrayLength(specialFiles)); + rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, + ArrayLength(specialFiles)); if (NS_FAILED(rv)) { -@@ -3940,7 +3953,7 @@ Preferences::InitInitialObjects() + NS_WARNING("Error parsing application default preferences."); + } + + // Load jar:$app/omni.jar!/defaults/preferences/*.js + // or jar:$gre/omni.jar!/defaults/preferences/*.js. +@@ -3585,17 +3598,17 @@ static nsresult pref_ReadPrefFromJar(nsZ + } + + nsCOMPtr path = do_QueryInterface(elem); + if (!path) { + continue; } // Do we care if a file provided by this process fails to load? @@ -53,11 +79,20 @@ Index: firefox-60.2.0/modules/libpref/Preferences.cpp } } -Index: firefox-60.2.0/modules/libpref/moz.build -=================================================================== ---- firefox-60.2.0.orig/modules/libpref/moz.build 2018-09-05 21:49:23.106829422 +0200 -+++ firefox-60.2.0/modules/libpref/moz.build 2018-09-05 21:49:31.498872824 +0200 -@@ -32,6 +32,10 @@ UNIFIED_SOURCES += [ + #ifdef MOZ_WIDGET_ANDROID + // Set up the correct default for toolkit.telemetry.enabled. If this build + // has MOZ_TELEMETRY_ON_BY_DEFAULT *or* we're on the beta channel, telemetry + // is on by default, otherwise not. This is necessary so that beta users who + // are testing final release builds don't flipflop defaults. +diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build +--- a/modules/libpref/moz.build ++++ b/modules/libpref/moz.build +@@ -27,16 +27,20 @@ XPIDL_MODULE = 'pref' + EXPORTS.mozilla += [ + 'Preferences.h', + ] + + UNIFIED_SOURCES += [ 'Preferences.cpp', ] @@ -68,11 +103,20 @@ Index: firefox-60.2.0/modules/libpref/moz.build include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' -Index: firefox-60.2.0/python/mozbuild/mozpack/chrome/flags.py -=================================================================== ---- firefox-60.2.0.orig/python/mozbuild/mozpack/chrome/flags.py 2018-09-05 21:49:23.106829422 +0200 -+++ firefox-60.2.0/python/mozbuild/mozpack/chrome/flags.py 2018-09-05 21:49:31.498872824 +0200 -@@ -225,6 +225,7 @@ class Flags(OrderedDict): + + DEFINES['OS_ARCH'] = CONFIG['OS_ARCH'] + DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT'] + if CONFIG['MOZ_ENABLE_WEBRENDER']: + DEFINES['MOZ_ENABLE_WEBRENDER'] = True +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 +@@ -220,16 +220,17 @@ class Flags(OrderedDict): + 'contentaccessible': Flag, + 'os': StringFlag, + 'osversion': VersionFlag, + 'abi': StringFlag, + 'platform': Flag, 'xpcnativewrappers': Flag, 'tablet': Flag, 'process': StringFlag, @@ -80,11 +124,20 @@ Index: firefox-60.2.0/python/mozbuild/mozpack/chrome/flags.py } RE = re.compile(r'([!<>=]+)') -Index: firefox-60.2.0/python/mozbuild/mozpack/chrome/manifest.py -=================================================================== ---- firefox-60.2.0.orig/python/mozbuild/mozpack/chrome/manifest.py 2018-09-05 21:49:23.106829422 +0200 -+++ firefox-60.2.0/python/mozbuild/mozpack/chrome/manifest.py 2018-09-05 21:49:31.498872824 +0200 -@@ -39,6 +39,7 @@ class ManifestEntry(object): + def __init__(self, *flags): + ''' + Initialize a set of flags given in string form. + flags = Flags('contentaccessible=yes', 'appversion>=3.5') + ''' +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 +@@ -34,16 +34,17 @@ class ManifestEntry(object): + 'platformversion', + 'os', + 'osversion', + 'abi', + 'xpcnativewrappers', 'tablet', 'process', 'contentaccessible', @@ -92,11 +145,20 @@ Index: firefox-60.2.0/python/mozbuild/mozpack/chrome/manifest.py ] def __init__(self, base, *flags): -Index: firefox-60.2.0/toolkit/components/downloads/moz.build -=================================================================== ---- firefox-60.2.0.orig/toolkit/components/downloads/moz.build 2018-09-05 21:49:23.106829422 +0200 -+++ firefox-60.2.0/toolkit/components/downloads/moz.build 2018-09-05 21:49:31.498872824 +0200 -@@ -46,5 +46,9 @@ if CONFIG['MOZ_PLACES']: + ''' + Initialize a manifest entry with the given base path and flags. + ''' + self.base = base + self.flags = Flags(*flags) +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 +@@ -41,10 +41,14 @@ EXTRA_JS_MODULES += [ + + if CONFIG['MOZ_PLACES']: + EXTRA_JS_MODULES += [ + 'DownloadHistory.jsm', + ] FINAL_LIBRARY = 'xul' @@ -106,11 +168,15 @@ Index: firefox-60.2.0/toolkit/components/downloads/moz.build + with Files('**'): BUG_COMPONENT = ('Toolkit', 'Download Manager') -Index: firefox-60.2.0/toolkit/content/jar.mn -=================================================================== ---- firefox-60.2.0.orig/toolkit/content/jar.mn 2018-09-05 21:49:23.106829422 +0200 -+++ firefox-60.2.0/toolkit/content/jar.mn 2018-09-05 21:49:31.498872824 +0200 -@@ -74,6 +74,8 @@ toolkit.jar: +diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn +--- a/toolkit/content/jar.mn ++++ b/toolkit/content/jar.mn +@@ -69,16 +69,18 @@ toolkit.jar: + content/global/bindings/checkbox.xml (widgets/checkbox.xml) + content/global/bindings/colorpicker.xml (widgets/colorpicker.xml) + content/global/bindings/datekeeper.js (widgets/datekeeper.js) + content/global/bindings/datepicker.js (widgets/datepicker.js) + content/global/bindings/datetimepopup.xml (widgets/datetimepopup.xml) content/global/bindings/datetimebox.xml (widgets/datetimebox.xml) content/global/bindings/datetimebox.css (widgets/datetimebox.css) * content/global/bindings/dialog.xml (widgets/dialog.xml) @@ -119,10 +185,15 @@ Index: firefox-60.2.0/toolkit/content/jar.mn content/global/bindings/editor.xml (widgets/editor.xml) content/global/bindings/filefield.xml (widgets/filefield.xml) * content/global/bindings/findbar.xml (widgets/findbar.xml) -Index: firefox-60.2.0/toolkit/content/widgets/dialog-kde.xml -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ firefox-60.2.0/toolkit/content/widgets/dialog-kde.xml 2018-09-05 21:49:31.498872824 +0200 + content/global/bindings/general.xml (widgets/general.xml) + content/global/bindings/groupbox.xml (widgets/groupbox.xml) + content/global/bindings/listbox.xml (widgets/listbox.xml) + content/global/bindings/menu.xml (widgets/menu.xml) + content/global/bindings/menulist.xml (widgets/menulist.xml) +diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml +new file mode 100644 +--- /dev/null ++++ b/toolkit/content/widgets/dialog-kde.xml @@ -0,0 +1,478 @@ + +