From 03a9133f6229a143bfe2910fd47154ecc49deaf28997f438d2682857b2a332bc Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 11 Apr 2023 21:09:55 +0000 Subject: [PATCH] - Mozilla Firefox 112.0 * https://www.mozilla.org/en-US/firefox/112.0/releasenotes/ MFSA 2023-13 (bsc#1210212) * CVE-2023-29531 (bmo#1794292) Out-of-bound memory access in WebGL on macOS * CVE-2023-29532 (bmo#1806394) Mozilla Maintenance Service Write-lock bypass * CVE-2023-29533 (bmo#1798219, bmo#1814597) Fullscreen notification obscured * CVE-2023-29534 (bmo#1816007, bmo#1816059, bmo#1821155, bmo#1821576, bmo#1821906, bmo#1822298, bmo#1822305) Fullscreen notification could have been obscured on Firefox for Android * MFSA-TMP-2023-0001 (bmo#1819244) Double-free in libwebp * CVE-2023-29535 (bmo#1820543) Potential Memory Corruption following Garbage Collector compaction * CVE-2023-29536 (bmo#1821959) Invalid free from JavaScript code * CVE-2023-29537 (bmo#1823365, bmo#1824200, bmo#1825569) Data Races in font initialization code * CVE-2023-29538 (bmo#1685403) Directory information could have been leaked to WebExtensions * CVE-2023-29539 (bmo#1784348) Content-Disposition filename truncation leads to Reflected File Download * CVE-2023-29540 (bmo#1790542) Iframe sandbox bypass using redirects and sourceMappingUrls * CVE-2023-29541 (bmo#1810191) Files with malicious extensions could have been downloaded OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=1051 --- MozillaFirefox.changes | 66 ++++++++++ MozillaFirefox.spec | 22 ++-- firefox-111.0.1.source.tar.xz | 3 - firefox-111.0.1.source.tar.xz.asc | 16 --- firefox-112.0.source.tar.xz | 3 + firefox-112.0.source.tar.xz.asc | 16 +++ l10n-111.0.1.tar.xz | 3 - l10n-112.0.tar.xz | 3 + mozilla-bmo1568145.patch | 6 +- mozilla-bmo1807652.patch | 185 --------------------------- mozilla-kde.patch | 70 +++++----- mozilla-libavcodec58_91.patch | 6 +- mozilla-silence-no-return-type.patch | 32 ++--- tar_stamps | 8 +- 14 files changed, 156 insertions(+), 283 deletions(-) delete mode 100644 firefox-111.0.1.source.tar.xz delete mode 100644 firefox-111.0.1.source.tar.xz.asc create mode 100644 firefox-112.0.source.tar.xz create mode 100644 firefox-112.0.source.tar.xz.asc delete mode 100644 l10n-111.0.1.tar.xz create mode 100644 l10n-112.0.tar.xz delete mode 100644 mozilla-bmo1807652.patch diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index 1a3a2bf2..6c65a331 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,69 @@ +------------------------------------------------------------------- +Mon Apr 10 21:58:19 UTC 2023 - Wolfgang Rosenauer + +- Mozilla Firefox 112.0 + * https://www.mozilla.org/en-US/firefox/112.0/releasenotes/ + MFSA 2023-13 (bsc#1210212) + * CVE-2023-29531 (bmo#1794292) + Out-of-bound memory access in WebGL on macOS + * CVE-2023-29532 (bmo#1806394) + Mozilla Maintenance Service Write-lock bypass + * CVE-2023-29533 (bmo#1798219, bmo#1814597) + Fullscreen notification obscured + * CVE-2023-29534 (bmo#1816007, bmo#1816059, bmo#1821155, bmo#1821576, + bmo#1821906, bmo#1822298, bmo#1822305) + Fullscreen notification could have been obscured on Firefox + for Android + * MFSA-TMP-2023-0001 (bmo#1819244) + Double-free in libwebp + * CVE-2023-29535 (bmo#1820543) + Potential Memory Corruption following Garbage Collector compaction + * CVE-2023-29536 (bmo#1821959) + Invalid free from JavaScript code + * CVE-2023-29537 (bmo#1823365, bmo#1824200, bmo#1825569) + Data Races in font initialization code + * CVE-2023-29538 (bmo#1685403) + Directory information could have been leaked to WebExtensions + * CVE-2023-29539 (bmo#1784348) + Content-Disposition filename truncation leads to Reflected + File Download + * CVE-2023-29540 (bmo#1790542) + Iframe sandbox bypass using redirects and sourceMappingUrls + * CVE-2023-29541 (bmo#1810191) + Files with malicious extensions could have been downloaded + unsafely on Linux + * CVE-2023-29542 (bmo#1810793, bmo#1815062) + Bypass of file download extension restrictions + * CVE-2023-29543 (bmo#1816158) + Use-after-free in debugging APIs + * CVE-2023-29544 (bmo#1818781) + Memory Corruption in garbage collector + * CVE-2023-29545 (bmo#1823077) + Windows Save As dialog resolved environment variables + * CVE-2023-29546 (bmo#1780842) + Screen recording in Private Browsing included address bar on + Android + * CVE-2023-29547 (bmo#1783536) + Secure document cookie could be spoofed with insecure cookie + * CVE-2023-29548 (bmo#1822754) + Incorrect optimization result on ARM64 + * CVE-2023-29549 (bmo#1823042) + Javascript's bind function may have failed + * CVE-2023-29550 (bmo#1720594, bmo#1751945, bmo#1812498, bmo#1814217, + bmo#1818357, bmo#1818762, bmo#1819493, bmo#1820389, bmo#1820602, + bmo#1821448, bmo#1822413, bmo#1824828) + Memory safety bugs fixed in Firefox 112 and Firefox ESR 102.10 + * CVE-2023-29551 (bmo#1763625, bmo#1814314, bmo#1815798, bmo#1815890, + bmo#1819239, bmo#1819465, bmo#1819486, bmo#1819492, bmo#1819957, + bmo#1820514, bmo#1820776, bmo#1821838, bmo#1822175, bmo#1823547) + Memory safety bugs fixed in Firefox 112 +- requires + * NSS 3.89 + * Python >= 3.7 (for build) +- removed obsolete mozilla-bmo1807652.patch +- Fix Icons displayed incorrectly on GNOME/wayland via WMCLASS + in desktop file + ------------------------------------------------------------------- Mon Mar 27 15:17:17 UTC 2023 - Wolfgang Rosenauer diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index cb40a70d..1ed4eb08 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -28,9 +28,9 @@ # orig_suffix b3 # major 69 # mainver %%major.99 -%define major 111 -%define mainver %major.0.1 -%define orig_version 111.0.1 +%define major 112 +%define mainver %major.0 +%define orig_version 112.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -120,17 +120,23 @@ BuildRequires: libiw-devel BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.35 -BuildRequires: mozilla-nss-devel >= 3.88.1 +BuildRequires: mozilla-nss-devel >= 3.89 BuildRequires: nasm >= 2.14 BuildRequires: nodejs >= 10.22.1 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 BuildRequires: python-libxml2 BuildRequires: python36 %else -BuildRequires: python3 >= 3.5 +%if 0%{?sle_version} >= 150000 && 0%{?sle_version} < 150500 +BuildRequires: python39 +BuildRequires: python39-curses +BuildRequires: python39-devel +%else +BuildRequires: python3 >= 3.7 BuildRequires: python3-curses BuildRequires: python3-devel %endif +%endif BuildRequires: rust-cbindgen >= 0.24.3 BuildRequires: unzip BuildRequires: update-desktop-files @@ -228,7 +234,6 @@ Patch23: mozilla-bmo531915.patch Patch25: one_swizzle_to_rule_them_all.patch Patch26: svg-rendering.patch Patch27: mozilla-buildfixes.patch -Patch28: mozilla-bmo1807652.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -402,7 +407,7 @@ EOF # Done with env-variables. source ./.obsenv.sh -%ifarch aarch64 %arm ppc64 ppc64le riscv64 %ix86 +%ifarch aarch64 %arm ppc64 ppc64le riscv64 %limit_build -m 2500 %endif @@ -618,7 +623,8 @@ ln -sf ../..%{progdir}/%{progname}.sh %{buildroot}%{_bindir}/%{progname} mkdir -p %{buildroot}%{_datadir}/applications sed "s:%%NAME:%{appname}:g s:%%EXEC:%{progname}:g -s:%%ICON:%{progname}:g" \ +s:%%ICON:%{progname}:g +s:%%WMCLASS:%{progname}%{major}:g" \ %{SOURCE1} > %{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop %suse_update_desktop_file %{desktop_file_name} Network WebBrowser GTK # additional mime-types diff --git a/firefox-111.0.1.source.tar.xz b/firefox-111.0.1.source.tar.xz deleted file mode 100644 index 7bbd0a25..00000000 --- a/firefox-111.0.1.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84a4f3aba62df6e0451cdd28f8f1e59840d77c4062311947b0e59325c2ebdce8 -size 496209640 diff --git a/firefox-111.0.1.source.tar.xz.asc b/firefox-111.0.1.source.tar.xz.asc deleted file mode 100644 index dce12860..00000000 --- a/firefox-111.0.1.source.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQZr4MACgkQ6+QekPbx -L21H0Q/+LBsVs0ozRECMsb5vCnoYxVs+LbP9p25ANApYCrsT806KjhKkGHMp76kJ -cSO8Zm77StATYWR0m8nNlfZKg7DRK1vncoBfmN8wCVdIZnTJDjkTKqPvIAKVdb46 -57XrNd/RyXL3j5rlb/w7oF1EUfjgVF8ztFBt1v7AMKSkTi0XBGTBeB7QymaToXkl -213qK4yKP8MG2LndQRo8AfX6d0CPAHGqaLVZHwzMi3JVVB5nyMVQsiEwurGxLEMj -EmQPcMhLGZmfV/AVonrJhxZcV3U2nvr+lqmb69z+WazqeGdLrwJ66aOn4clWgkFk -rVdWOH8eo8FHBThYlvjp76OMdZSfRb/33kuMf4Qso2avBQ1PjnD07MneblXS3uT1 -L4h/C3cwxwqwDTgJIxp8lKz3fHyan4aqGYowz7EDSyY//Z0onQ12KCkvyW5/366e -3koEizUNctbXaXl4VdrFl1AdwuIYQaX/44NwXcpI2tWm7utjOmeWmh6j2ZIzruds -PDr0rImdYvezydqDbDv2/eNhCkNhNsiApy0YwPfLGP4448bYuF6tlrjmLhl/A6cX -z8SgZgpkHG+RN0B6ttqgm2aftSdgsBQY77sMEMCBZ0zubbxbpDTAxHDj6RmQ9UK1 -tgY0XcPSM3/uWPrIiINd3vxGrODJkemBHLm16GMO8869zOCtjIw= -=cX4D ------END PGP SIGNATURE----- diff --git a/firefox-112.0.source.tar.xz b/firefox-112.0.source.tar.xz new file mode 100644 index 00000000..3f721282 --- /dev/null +++ b/firefox-112.0.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb19185f7bfa5c3b0c73edaa57160b44bf3bb2139db83539809607486b8075d9 +size 497250760 diff --git a/firefox-112.0.source.tar.xz.asc b/firefox-112.0.source.tar.xz.asc new file mode 100644 index 00000000..4136cbf4 --- /dev/null +++ b/firefox-112.0.source.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQu5kAACgkQ6+QekPbx +L23OyQ//TGpy5ahlIboHPrt6neFHi0hfHdNkwsiBjYxRnXmtVbYEs/Aok70dIi6v +WPqFdckGDf5eQd8Dic5lJRvN2qB4DVvlQxdAigHjpBHbLDxaJGUiNoBxXIv8fJbi +RZeCaYg96eDlFQq1NkBrA9m0COHESzFULIvjdvHYyRrr+qiRAvWlB+cdt/+V+7Rx +voiHN/QWJzi+g+W4w6d+zebo/crSpiypFBPZFjE81gavZCgCNCymc/55yMYbh69K +DCWZsCab+2OqXSKzNlH9pXMawGiwbk9Ou8tPi/z4DUvyvLqLnqaoGtid7SwGRycI +Ssn9juax+tOOgfwew6uvi08iYYVZwGlKYW1xbmJAtnI/8CoECZACK0XNh1PmqFHt +vwJv+5wVM1NtOv17sf9OrVqmeqTUtUPTCI03mZ3yD1VES7l1Sp6t9noX4k3Y8Oto +yWzUGX/Tt22rqjJu5v/jf/oKXh92B8hftUEM5qxNJK0o1K8F7ytLGIAawHrrtRmh +grX79VxuVW2hdcFH1R6m31FpDvaJNl7g8D/aOgzFvONL/yROX7/VajWT+UKX+Of6 +4/e5sMW7LDJCc0Ga8Y2LTUOt+2IOD+IXMZvygcuVLNiTTctrPLZSdrVVvrz/pdTk +bzpleBAMvdkjLiozAfYJZETZAZl4fNhrzq8M7f1gK5dAIULFspU= +=PmYw +-----END PGP SIGNATURE----- diff --git a/l10n-111.0.1.tar.xz b/l10n-111.0.1.tar.xz deleted file mode 100644 index 9c822e07..00000000 --- a/l10n-111.0.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5df17580a34801b0b342dfe411d5032b531f3d6aa3db523d2c0a4c283dcca143 -size 50906464 diff --git a/l10n-112.0.tar.xz b/l10n-112.0.tar.xz new file mode 100644 index 00000000..8f44c568 --- /dev/null +++ b/l10n-112.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfcb9aa86f10704616f8537774856f96ea5b8d5d609d4cea9c623a3ac3e9f96f +size 50942092 diff --git a/mozilla-bmo1568145.patch b/mozilla-bmo1568145.patch index 5fb7fdfd..48f05ffa 100644 --- a/mozilla-bmo1568145.patch +++ b/mozilla-bmo1568145.patch @@ -10,14 +10,14 @@ for the definition of this variable. diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py --- a/python/mozbuild/mozbuild/action/langpack_manifest.py +++ b/python/mozbuild/mozbuild/action/langpack_manifest.py -@@ -13,16 +13,17 @@ - +@@ -14,16 +14,17 @@ import argparse import datetime import io import json import logging import os + import re import sys +import time @@ -28,7 +28,7 @@ diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbu from fluent.syntax.parser import FluentParser from mozpack.chrome.manifest import Manifest, ManifestLocale, parse_manifest -@@ -101,17 +102,17 @@ def get_dt_from_hg(path): +@@ -102,17 +103,17 @@ def get_dt_from_hg(path): # ts == "20170914215617" ### def get_timestamp_for_locale(path): diff --git a/mozilla-bmo1807652.patch b/mozilla-bmo1807652.patch deleted file mode 100644 index e9b75542..00000000 --- a/mozilla-bmo1807652.patch +++ /dev/null @@ -1,185 +0,0 @@ -diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp ---- a/tools/profiler/core/platform.cpp -+++ b/tools/profiler/core/platform.cpp -@@ -1176,11 +1176,11 @@ - if (!profiledThreadData) { - // This thread was not profiled, continue with the next one. - continue; - } - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = -- offThreadRef.LockedRWFromAnyThread(); -+ offThreadRef.GetLockedRWFromAnyThread(); - MOZ_RELEASE_ASSERT(array.append(ProfiledThreadListElement{ - profiledThreadData->Info().RegisterTime(), - lockedThreadData->GetJSContext(), profiledThreadData})); - } - -@@ -4208,11 +4208,11 @@ - ProfileBufferEntry::Kind::RunningTimes, runningTimesDiff); - } - - if (threadStackSampling) { - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock -- lockedThreadData = offThreadRef.LockedRWFromAnyThread(); -+ lockedThreadData = offThreadRef.GetLockedRWFromAnyThread(); - // Suspend the thread and collect its stack data in the local - // buffer. - mSampler.SuspendAndSampleAndResumeThread( - lock, lockedThreadData.DataCRef(), now, - [&](const Registers& aRegs, const TimeStamp& aNow) { -@@ -4922,11 +4922,11 @@ - ThreadProfilingFeatures threadProfilingFeatures = - ActivePS::ProfilingFeaturesForThread( - aLock, aOffThreadRef.UnlockedConstReaderCRef().Info()); - if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) { - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock -- lockedRWFromAnyThread = aOffThreadRef.LockedRWFromAnyThread(); -+ lockedRWFromAnyThread = aOffThreadRef.GetLockedRWFromAnyThread(); - - ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread( - aLock, MakeUnique( - aOffThreadRef.UnlockedConstReaderCRef().Info())); - lockedRWFromAnyThread->SetProfilingFeaturesAndData( -@@ -5788,11 +5788,11 @@ - - ThreadProfilingFeatures threadProfilingFeatures = - ActivePS::ProfilingFeaturesForThread(aLock, info); - if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) { - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = -- offThreadRef.LockedRWFromAnyThread(); -+ offThreadRef.GetLockedRWFromAnyThread(); - ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread( - aLock, MakeUnique(info)); - lockedThreadData->SetProfilingFeaturesAndData(threadProfilingFeatures, - profiledThreadData, aLock); - lockedThreadData->GetNewCpuTimeInNs(); -@@ -6012,11 +6012,11 @@ - ThreadProfilingFeatures::NotProfiled) { - continue; - } - - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = -- offThreadRef.LockedRWFromAnyThread(); -+ offThreadRef.GetLockedRWFromAnyThread(); - - lockedThreadData->ClearProfilingFeaturesAndData(aLock); - - if (ActivePS::FeatureJS(aLock)) { - lockedThreadData->StopJSSampling(); -@@ -6355,11 +6355,11 @@ - - // We don't call StopJSSampling() here; there's no point doing that for a JS - // thread that is in the process of disappearing. - - ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData = -- aOnThreadRef.LockedRWOnThread(); -+ aOnThreadRef.GetLockedRWOnThread(); - - ProfiledThreadData* profiledThreadData = - lockedThreadData->GetProfiledThreadData(lock); - lockedThreadData->ClearProfilingFeaturesAndData(lock); - -@@ -6876,11 +6876,11 @@ - } - - // The profiler mutex must be locked before the ThreadRegistration's. - PSAutoLock lock; - ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData = -- aOnThreadRef.LockedRWOnThread(); -+ aOnThreadRef.GetLockedRWOnThread(); - - if (ProfiledThreadData* profiledThreadData = - lockedThreadData->GetProfiledThreadData(lock); - profiledThreadData && ActivePS::Exists(lock) && - ActivePS::FeatureJS(lock)) { -diff --git a/tools/profiler/public/ProfilerThreadRegistration.h b/tools/profiler/public/ProfilerThreadRegistration.h ---- a/tools/profiler/public/ProfilerThreadRegistration.h -+++ b/tools/profiler/public/ProfilerThreadRegistration.h -@@ -212,18 +212,18 @@ - - LockedRWOnThread& mLockedRWOnThread; - DataLock mDataLock; - }; - -- [[nodiscard]] RWOnThreadWithLock LockedRWOnThread() { -+ [[nodiscard]] RWOnThreadWithLock GetLockedRWOnThread() { - return RWOnThreadWithLock{mThreadRegistration->mData, - mThreadRegistration->mDataMutex}; - } - - template - auto WithLockedRWOnThread(F&& aF) { -- RWOnThreadWithLock lockedData = LockedRWOnThread(); -+ RWOnThreadWithLock lockedData = GetLockedRWOnThread(); - return std::forward(aF)(lockedData.DataRef()); - } - - // This is needed to allow OnThreadPtr::operator-> to return a temporary - // OnThreadRef object, for which `->` must work; Here it provides a pointer -diff --git a/tools/profiler/public/ProfilerThreadRegistry.h b/tools/profiler/public/ProfilerThreadRegistry.h ---- a/tools/profiler/public/ProfilerThreadRegistry.h -+++ b/tools/profiler/public/ProfilerThreadRegistry.h -@@ -175,18 +175,18 @@ - - LockedRWFromAnyThread& mLockedRWFromAnyThread; - ThreadRegistration::DataLock mDataLock; - }; - -- [[nodiscard]] RWFromAnyThreadWithLock LockedRWFromAnyThread() { -+ [[nodiscard]] RWFromAnyThreadWithLock GetLockedRWFromAnyThread() { - return RWFromAnyThreadWithLock{mThreadRegistration->mData, - mThreadRegistration->mDataMutex}; - } - - template - auto WithLockedRWFromAnyThread(F&& aF) { -- RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread(); -+ RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread(); - return std::forward(aF)(lockedData.DataRef()); - } - - private: - // Only ThreadRegistry should construct an OnThreadRef. -diff --git a/tools/profiler/tests/gtest/GeckoProfiler.cpp b/tools/profiler/tests/gtest/GeckoProfiler.cpp ---- a/tools/profiler/tests/gtest/GeckoProfiler.cpp -+++ b/tools/profiler/tests/gtest/GeckoProfiler.cpp -@@ -620,11 +620,11 @@ - // non-const LockedRWOnThread - - EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread()); - { - TR::OnThreadRef::RWOnThreadWithLock rwOnThreadWithLock = -- aOnThreadRef.LockedRWOnThread(); -+ aOnThreadRef.GetLockedRWOnThread(); - EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread()); - TestConstLockedRWOnThread(rwOnThreadWithLock.DataCRef(), - beforeRegistration, afterRegistration, - &onStackChar); - TestLockedRWOnThread(rwOnThreadWithLock.DataRef(), beforeRegistration, -@@ -1019,11 +1019,11 @@ - // non-const LockedRWFromAnyThread - - EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread()); - { - TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock = -- aOffThreadRef.LockedRWFromAnyThread(); -+ aOffThreadRef.GetLockedRWFromAnyThread(); - if (profiler_current_thread_id() == testThreadId) { - EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread()); - } - TestLockedRWFromAnyThread(rwFromAnyThreadWithLock.DataRef(), - beforeRegistration, afterRegistration, -@@ -1156,11 +1156,11 @@ - aOffThreadRef) { - if (otherThreadLoops % 1000 == 0) { - PR_Sleep(PR_MillisecondsToInterval(1)); - } - TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock = -- aOffThreadRef.LockedRWFromAnyThread(); -+ aOffThreadRef.GetLockedRWFromAnyThread(); - ++otherThreadReads; - if (otherThreadReads % 1000 == 0) { - PR_Sleep(PR_MillisecondsToInterval(1)); - } - }); - diff --git a/mozilla-kde.patch b/mozilla-kde.patch index ad9c5169..ec7272fd 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 191cd9e24a9e0812f74c808ceef611c8b10141e1 +# Parent b6b4d42b51c6a815116505bf7e9b34a5e2f0c65b 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 -@@ -4882,16 +4883,27 @@ nsresult Preferences::InitInitialObjects +@@ -4908,16 +4909,27 @@ nsresult Preferences::InitInitialObjects "unix.js" # if defined(_AIX) , @@ -57,9 +57,9 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp NS_WARNING("Error parsing application default preferences."); } - #if defined(MOZ_WIDGET_GTK) - // Under Flatpak/Snap package, load /etc/firefox/defaults/pref/*.js. -@@ -4973,17 +4985,17 @@ nsresult Preferences::InitInitialObjects + // Load jar:$app/omni.jar!/defaults/preferences/*.js + // or jar:$gre/omni.jar!/defaults/preferences/*.js. +@@ -4982,17 +4994,17 @@ nsresult Preferences::InitInitialObjects } nsCOMPtr path = do_QueryInterface(elem); @@ -73,11 +73,11 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp } } - if (XRE_IsParentProcess()) { - SetupTelemetryPref(); - } - - if (aIsStartup) { + #if defined(MOZ_WIDGET_GTK) + // To ensure the system-wide preferences are not overwritten by + // firefox/browser/defauts/preferences/*.js we need to load + // the /etc/firefox/defaults/pref/*.js settings as last. + // Under Flatpak, the NS_OS_SYSTEM_CONFIG_DIR points to /app/etc/firefox diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build --- a/modules/libpref/moz.build +++ b/modules/libpref/moz.build @@ -165,7 +165,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 -@@ -1240,36 +1240,66 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1250,36 +1250,66 @@ nsUnknownContentTypeDialog.prototype = { params.handlerApp && params.handlerApp.executable && params.handlerApp.executable.isFile() @@ -347,7 +347,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 -@@ -92,17 +92,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co +@@ -91,17 +91,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co "../components/printingui", ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit": @@ -1055,7 +1055,7 @@ new file mode 100644 diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp --- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp -@@ -1,46 +1,49 @@ +@@ -1,48 +1,51 @@ /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public @@ -1082,10 +1082,12 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler NS_IMETHODIMP nsMIMEInfoUnix::GetHasDefaultHandler(bool* _retval) { - // if mDefaultApplication is set, it means the application has been set from + // if a default app is set, it means the application has been set from // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to // give the GNOME answer. - if (mDefaultApplication) return nsMIMEInfoImpl::GetHasDefaultHandler(_retval); + if (GetDefaultApplication()) { + return nsMIMEInfoImpl::GetHasDefaultHandler(_retval); + } *_retval = false; @@ -1110,11 +1112,11 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler if (*_retval) return NS_OK; return NS_OK; -@@ -50,16 +53,33 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWi - // if mDefaultApplication is set, it means the application has been set from - // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to +@@ -54,16 +57,33 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWi // give the GNOME answer. - if (mDefaultApplication) return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile); + if (GetDefaultApplication()) { + return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile); + } nsAutoCString nativePath; aFile->GetNativePath(nativePath); @@ -1130,10 +1132,10 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler + if( nsKDEUtils::command( command )) + return NS_OK; + } -+ if (!mDefaultApplication) ++ if (!GetDefaultApplication()) + return NS_ERROR_FILE_NOT_FOUND; + -+ return LaunchWithIProcess(mDefaultApplication, nativePath); ++ return LaunchWithIProcess(GetDefaultApplication(), nativePath); + } + nsCOMPtr giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); @@ -1245,7 +1247,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 -@@ -147,16 +147,17 @@ FINAL_LIBRARY = "xul" +@@ -142,16 +142,17 @@ FINAL_LIBRARY = "xul" LOCAL_INCLUDES += [ "/layout/base", @@ -1283,7 +1285,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp #include "nsGtkUtils.h" #include "nsIFileURL.h" #include "nsIGIOService.h" -@@ -21,16 +22,18 @@ +@@ -23,16 +24,18 @@ #include "nsArrayEnumerator.h" #include "nsEnumeratorUtils.h" #include "nsNetUtil.h" @@ -1302,7 +1304,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp # include "Units.h" extern mozilla::LazyLogModule gWidgetLog; # define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args) -@@ -235,17 +238,19 @@ nsFilePicker::AppendFilters(int32_t aFil +@@ -237,17 +240,19 @@ nsFilePicker::AppendFilters(int32_t aFil mAllowURLs = !!(aFilterMask & filterAllowURLs); return nsBaseFilePicker::AppendFilters(aFilterMask); } @@ -1323,7 +1325,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp mFilters.AppendElement(filter); mFilterNames.AppendElement(name); -@@ -345,16 +350,39 @@ nsresult nsFilePicker::Show(int16_t* aRe +@@ -347,16 +352,39 @@ nsresult nsFilePicker::Show(nsIFilePicke return NS_OK; } @@ -1339,7 +1341,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp + NS_ADDREF_THIS(); + g_idle_add([](gpointer data) -> gboolean { + nsFilePicker* queuedPicker = (nsFilePicker*) data; -+ int16_t result; ++ nsIFilePicker::ResultCode result; + queuedPicker->kdeFileDialog(&result); + if (queuedPicker->mCallback) { + queuedPicker->mCallback->Done(result); @@ -1363,7 +1365,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp GtkFileChooserAction action = GetGtkFileChooserAction(mMode); const gchar* accept_button; -@@ -574,16 +602,244 @@ void nsFilePicker::Done(void* file_choos +@@ -628,16 +656,244 @@ void nsFilePicker::Done(void* file_choos mCallback->Done(result); mCallback = nullptr; } else { @@ -1395,7 +1397,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp + return GDK_WINDOW_XID( gdk_window ); + } + -+NS_IMETHODIMP nsFilePicker::kdeFileDialog(PRInt16 *aReturn) ++NS_IMETHODIMP nsFilePicker::kdeFileDialog(nsIFilePicker::ResultCode *aReturn) + { + NS_ENSURE_ARG_POINTER(aReturn); + @@ -1569,7 +1571,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp + } + + -+NS_IMETHODIMP nsFilePicker::kdeAppsDialog(PRInt16 *aReturn) ++NS_IMETHODIMP nsFilePicker::kdeAppsDialog(nsIFilePicker::ResultCode *aReturn) + { + NS_ENSURE_ARG_POINTER(aReturn); + @@ -1611,7 +1613,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h --- a/widget/gtk/nsFilePicker.h +++ b/widget/gtk/nsFilePicker.h -@@ -67,16 +67,22 @@ class nsFilePicker : public nsBaseFilePi +@@ -69,16 +69,22 @@ class nsFilePicker : public nsBaseFilePi nsString mDefaultExtension; nsTArray mFilters; @@ -1622,8 +1624,8 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h + bool kdeRunning(); + bool getKdeRunning(); -+ NS_IMETHODIMP kdeFileDialog(PRInt16 *aReturn); -+ NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn); ++ NS_IMETHODIMP kdeFileDialog(nsIFilePicker::ResultCode *aReturn); ++ NS_IMETHODIMP kdeAppsDialog(nsIFilePicker::ResultCode *aReturn); + nsCString kdeMakeFilter( int index ); + void* GtkFileChooserNew(const gchar* title, GtkWindow* parent, @@ -1807,7 +1809,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp # include "prmem.h" # include "plbase64.h" -@@ -2157,20 +2158,29 @@ nsLocalFile::SetPersistentDescriptor(con +@@ -2167,20 +2168,29 @@ nsLocalFile::SetPersistentDescriptor(con NS_IMETHODIMP nsLocalFile::Reveal() { @@ -1839,7 +1841,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp ::CFRelease(url); return rv; } -@@ -2182,16 +2192,23 @@ nsLocalFile::Reveal() { +@@ -2192,16 +2202,23 @@ nsLocalFile::Reveal() { NS_IMETHODIMP nsLocalFile::Launch() { diff --git a/mozilla-libavcodec58_91.patch b/mozilla-libavcodec58_91.patch index 6901af20..06bce77d 100644 --- a/mozilla-libavcodec58_91.patch +++ b/mozilla-libavcodec58_91.patch @@ -1,17 +1,17 @@ # HG changeset patch -# Parent 63747fd31719c6e4f7810512a3c57e75a02b8bfd +# Parent 60fc1933af9d4f1769025a6f1d9a60db6b899315 diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp --- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp +++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp -@@ -34,16 +34,18 @@ static const char* sLibs[] = { - "libavcodec.55.dylib", +@@ -36,16 +36,18 @@ static const char* sLibs[] = { "libavcodec.54.dylib", "libavcodec.53.dylib", #elif defined(XP_OPENBSD) "libavcodec.so", // OpenBSD hardly controls the major/minor library version // of ffmpeg and update it regulary on ABI/API changes #else + "libavcodec.so.60", "libavcodec.so.59", + "libavcodec.so.58.134", + "libavcodec.so.58.91", diff --git a/mozilla-silence-no-return-type.patch b/mozilla-silence-no-return-type.patch index 4f0234a0..c8efbef6 100644 --- a/mozilla-silence-no-return-type.patch +++ b/mozilla-silence-no-return-type.patch @@ -1,5 +1,5 @@ # HG changeset patch -# Parent c9ee7d75ce3f624221f3ba8ef7c821f501c9a028 +# Parent 6bace0b1d6e9c82e8d3f557cac1a4bcc10ec9c13 diff --git a/Cargo.lock b/Cargo.lock --- a/Cargo.lock @@ -26,7 +26,7 @@ diff --git a/Cargo.lock b/Cargo.lock diff --git a/Cargo.toml b/Cargo.toml --- a/Cargo.toml +++ b/Cargo.toml -@@ -158,16 +158,17 @@ chardetng_c = { git = "https://github.co +@@ -161,16 +161,17 @@ chardetng_c = { git = "https://github.co coremidi = { git = "https://github.com/chris-zen/coremidi.git", rev="fc68464b5445caf111e41f643a2e69ccce0b4f83" } firefox-on-glean = { path = "toolkit/components/glean/api" } libudev-sys = { path = "dom/webauthn/libudev-sys" } @@ -37,13 +37,13 @@ diff --git a/Cargo.toml b/Cargo.toml warp = { git = "https://github.com/glandium/warp", rev = "4af45fae95bc98b0eba1ef0db17e1dac471bb23d" } +glslopt = { path = "third_party/rust/glslopt/" } - cssparser = { git = "https://github.com/servo/rust-cssparser", rev = "d3670a89bae26ba3a8db4758eb7976616113987d" } + cssparser = { git = "https://github.com/servo/rust-cssparser", rev = "b196a164dcbb317016d4aa6c58c13147e6045ebb" } # application-services overrides to make updating them all simpler. - interrupt-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } - sql-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } - sync15 = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } - tabs = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } + interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } + sql-support = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } + sync15 = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } + tabs = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h b/gfx/skia/skia/include/codec/SkEncodedOrigin.h --- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h +++ b/gfx/skia/skia/include/codec/SkEncodedOrigin.h @@ -2161,22 +2161,6 @@ diff --git a/third_party/libwebrtc/call/video_send_stream.cc b/third_party/libwe VideoSendStream::StreamStats::~StreamStats() = default; std::string VideoSendStream::StreamStats::ToString() const { -diff --git a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc ---- a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc -+++ b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc -@@ -373,11 +373,12 @@ std::unique_ptr Creat - /*adaptive_step_estimation=*/true); - case ClippingPredictorMode::kFixedStepClippingPeakPrediction: - return std::make_unique( - num_channels, config.window_length, config.reference_window_length, - config.reference_window_delay, config.clipping_threshold, - /*adaptive_step_estimation=*/false); - } - RTC_DCHECK_NOTREACHED(); -+ return nullptr; - } - - } // namespace webrtc diff --git a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc --- a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc +++ b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc @@ -2220,7 +2204,7 @@ diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_imp // Maximum lengths that frame of samples being passed from the render side to // the capture side can have (does not apply to AEC3). -@@ -1980,16 +1981,17 @@ void AudioProcessingImpl::InitializeNois +@@ -1982,16 +1983,17 @@ void AudioProcessingImpl::InitializeNois case NoiseSuppresionConfig::kModerate: return NsConfig::SuppressionLevel::k12dB; case NoiseSuppresionConfig::kHigh: diff --git a/tar_stamps b/tar_stamps index 116d9387..1efa03c0 100644 --- a/tar_stamps +++ b/tar_stamps @@ -1,10 +1,10 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="111.0.1" +VERSION="112.0" VERSION_SUFFIX="" -PREV_VERSION="111.0" +PREV_VERSION="111.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="6e9b4327e238def619d5640de74b611fe51834ba" -RELEASE_TIMESTAMP="20230321111920" +RELEASE_TAG="d2b2ff2c6e3ceb267e77b0163c860f7a1f13ff4a" +RELEASE_TIMESTAMP="20230406114409"