Accepting request 1207082 from mozilla:Factory

- Mozilla Thunderbird 128.3.1
  https://www.thunderbird.net/en-US/thunderbird/128.0esr/releasenotes/
  and following release notes for minor version updates
  MFSA 2024-52  (bsc#1231413)
  * CVE-2024-9680 (bmo#1923344)
    Use-after-free in Animation timeline
  Mozilla Thunderbird 128.3.0
  MFSA 2024-32 (128.0)
  MFSA 2024-37 (128.1)
  MFSA 2024-43 (128.2)
  MFSA 2024-49 (128.3) (bsc#1230979)
  * CVE-2024-9392 (bmo#1899154, bmo#1905843)
    Compromised content process can bypass site isolation
  * CVE-2024-9393 (bmo#1918301)
    Cross-origin access to PDF contents through multipart responses
  * CVE-2024-9394 (bmo#1918874)
    Cross-origin access to JSON contents through multipart responses
  * CVE-2024-8900 (bmo#1872841)
    Clipboard write permission bypass
  * CVE-2024-9396 (bmo#1912471)
    Potential memory corruption may occur when cloning certain objects
  * CVE-2024-9397 (bmo#1916659)
    Potential directory upload bypass via clickjacking
  * CVE-2024-9398 (bmo#1881037)
    External protocol handlers could be enumerated via popups
  * CVE-2024-9399 (bmo#1907726)
    Specially crafted WebTransport requests could lead to denial
    of service
  * CVE-2024-9400 (bmo#1915249)
    Potential memory corruption during JIT compilation

OBS-URL: https://build.opensuse.org/request/show/1207082
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=342
This commit is contained in:
Ana Guerrero 2024-10-11 15:02:38 +00:00 committed by Git OBS Bridge
commit b59cbcd641
25 changed files with 930 additions and 848 deletions

View File

@ -1,3 +1,61 @@
-------------------------------------------------------------------
Thu Oct 10 17:11:15 UTC 2024 - Wolfgang Rosenauer <wr@rosenauer.org>
- Mozilla Thunderbird 128.3.1
https://www.thunderbird.net/en-US/thunderbird/128.0esr/releasenotes/
and following release notes for minor version updates
MFSA 2024-52 (bsc#1231413)
* CVE-2024-9680 (bmo#1923344)
Use-after-free in Animation timeline
Mozilla Thunderbird 128.3.0
MFSA 2024-32 (128.0)
MFSA 2024-37 (128.1)
MFSA 2024-43 (128.2)
MFSA 2024-49 (128.3) (bsc#1230979)
* CVE-2024-9392 (bmo#1899154, bmo#1905843)
Compromised content process can bypass site isolation
* CVE-2024-9393 (bmo#1918301)
Cross-origin access to PDF contents through multipart responses
* CVE-2024-9394 (bmo#1918874)
Cross-origin access to JSON contents through multipart responses
* CVE-2024-8900 (bmo#1872841)
Clipboard write permission bypass
* CVE-2024-9396 (bmo#1912471)
Potential memory corruption may occur when cloning certain objects
* CVE-2024-9397 (bmo#1916659)
Potential directory upload bypass via clickjacking
* CVE-2024-9398 (bmo#1881037)
External protocol handlers could be enumerated via popups
* CVE-2024-9399 (bmo#1907726)
Specially crafted WebTransport requests could lead to denial
of service
* CVE-2024-9400 (bmo#1915249)
Potential memory corruption during JIT compilation
* CVE-2024-9401 (bmo#1872744, bmo#1897792, bmo#1911317, bmo#1916476)
Memory safety bugs fixed in Firefox 131, Firefox ESR 115.16,
Firefox ESR 128.3, Thunderbird 131, and Thunderbird 128.3
* CVE-2024-9402 (bmo#1872744, bmo#1897792, bmo#1911317, bmo#1913445,
bmo#1914106, bmo#1914475, bmo#1914963, bmo#1915008, bmo#1916476)
Memory safety bugs fixed in Firefox 131, Firefox ESR 128.3,
Thunderbird 131, and Thunderbird 128.3
- removed obsolete patches
mozilla-bmo1504834-part3.patch
mozilla-bmo1512162.patch
mozilla-bmo1775202.patch
mozilla-bmo531915.patch
mozilla-fix-aarch64-libopus.patch
mozilla-fix-issues-with-llvm18.patch
mozilla-fix-top-level-asm.patch
mozilla-partial-revert-1768632.patch
mozilla-rust-disable-future-incompat.patch
thunderbird-fix-CVE-2024-34703.patch
- new patch thunderbird-silence-no-return.patch
- rebased
mozilla-bmo1504834-part1.patch
mozilla-kde.patch
mozilla-libavcodec58_91.patch
mozilla-silence-no-return-type.patch
-------------------------------------------------------------------
Fri Sep 6 08:55:26 UTC 2024 - Wolfgang Rosenauer <wr@rosenauer.org>

View File

@ -2,7 +2,7 @@
# spec file for package MozillaThunderbird
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org>
# Copyright (c) 2006-2024 Wolfgang Rosenauer <wr@rosenauer.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -28,10 +28,10 @@
# orig_suffix b3
# major 69
# mainver %%major.99
%define major 115
%define mainver %major.15.0
%define orig_version 115.15.0
%define orig_suffix %nil
%define major 128
%define mainver %major.3.1
%define orig_version 128.3.1
%define orig_suffix esr
%define update_channel release
%define source_prefix thunderbird-%{orig_version}
@ -48,14 +48,19 @@
%bcond_without mozilla_tb_optimize_for_size
# define if ccache should be used or not
%define useccache 0
%define useccache 1
# No i586 on SLE-12, as the rpmlints are broken and can't handle the big rpms resulting from this build.
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
ExclusiveArch: aarch64 ppc64le x86_64 s390x
%else
# Firefox only supports i686
%ifarch %ix86
ExclusiveArch: i586 i686
BuildArch: i686
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif
%endif
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
# general build definitions
@ -67,7 +72,7 @@ BuildArch: i686
%define gnome_dir %{_prefix}
%define desktop_file_name %{progname}
%define __provides_exclude ^lib.*\\.so.*$
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*|librnp.*)$
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libgk.*|libldap.*|libldif.*|libprldap.*|librnp.*)$
%define localize 1
%ifarch %ix86 x86_64
%define crashreporter 1
@ -88,40 +93,47 @@ BuildRequires: Mesa-devel
BuildRequires: alsa-devel
BuildRequires: autoconf213
BuildRequires: dbus-1-glib-devel
BuildRequires: dejavu-fonts
BuildRequires: fdupes
BuildRequires: memory-constraints
%if 0%{?suse_version} >= 1699
BuildRequires: gcc13
BuildRequires: gcc13-c++
%else
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
BuildRequires: gcc13
BuildRequires: gcc13-c++
%else
BuildRequires: gcc-c++
%endif
%endif
BuildRequires: cargo1.72
BuildRequires: rust1.72
BuildRequires: cargo1.78
BuildRequires: rust1.78
%if 0%{useccache} != 0
BuildRequires: ccache
%endif
BuildRequires: libXcomposite-devel
BuildRequires: libcurl-devel
BuildRequires: mozilla-nspr-devel >= 4.35
BuildRequires: mozilla-nss-devel >= 3.90
BuildRequires: mozilla-nss-devel >= 3.101.1
BuildRequires: nasm >= 2.14
BuildRequires: nodejs >= 12.22.12
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150600
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000
BuildRequires: libXtst-devel
BuildRequires: nodejs12 >= 12.22.12
#BuildRequires: python-libxml2
BuildRequires: python39
BuildRequires: python39-curses
BuildRequires: python39-devel
%else
%if 0%{?sle_version} > 150000 && 0%{?sle_version} <= 150600
BuildRequires: nodejs12 >= 12.22.12
BuildRequires: python39
BuildRequires: python39-curses
BuildRequires: python39-devel
%else
# ALP
BuildRequires: nodejs >= 12.22.12
BuildRequires: python3 >= 3.7
BuildRequires: python3-curses
BuildRequires: python3-devel
%endif
BuildRequires: rust-cbindgen >= 0.24.3
%endif
BuildRequires: rust-cbindgen >= 0.26
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-libXt-devel
@ -133,10 +145,10 @@ BuildRequires: zip
%if 0%{?suse_version} < 1550
BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
%endif
%if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
BuildRequires: clang6-devel
%if 0%{?suse_version} < 1599
BuildRequires: clang15-devel
%else
BuildRequires: clang-devel >= 5
BuildRequires: clang18-devel
%endif
BuildRequires: pkgconfig(glib-2.0) >= 2.22
BuildRequires: pkgconfig(gobject-2.0)
@ -184,7 +196,7 @@ Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
%endif
Source9: thunderbird.appdata.xml
Source13: spellcheck.js
Source14: https://github.com/openSUSE/firefox-scripts/raw/c3f287d/create-tar.sh
Source14: https://github.com/openSUSE/firefox-scripts/raw/913fab1a196e2a0623b5c554598bfde3b4b49e29/create-tar.sh
Source20: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
Source21: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
# Gecko/Toolkit
@ -194,29 +206,17 @@ Patch2: mozilla-kde.patch
%endif
Patch3: mozilla-ntlm-full-path.patch
Patch4: mozilla-aarch64-startup-crash.patch
Patch5: mozilla-fix-aarch64-libopus.patch
Patch6: mozilla-s390-context.patch
Patch7: mozilla-pgo.patch
Patch8: mozilla-reduce-rust-debuginfo.patch
Patch9: mozilla-bmo1504834-part1.patch
Patch10: mozilla-bmo1504834-part3.patch
Patch11: mozilla-bmo1512162.patch
Patch12: mozilla-fix-top-level-asm.patch
Patch13: mozilla-bmo849632.patch
Patch14: mozilla-bmo998749.patch
Patch15: mozilla-libavcodec58_91.patch
Patch16: mozilla-silence-no-return-type.patch
Patch17: mozilla-bmo531915.patch
Patch18: one_swizzle_to_rule_them_all.patch
Patch19: svg-rendering.patch
Patch20: mozilla-partial-revert-1768632.patch
Patch21: mozilla-bmo1775202.patch
Patch22: mozilla-rust-disable-future-incompat.patch
Patch23: thunderbird-fix-CVE-2024-34703.patch
%if 0%{?product_libs_llvm_ver} > 17
# LLVM18 breaks building Firefox ESR:
Patch30: mozilla-fix-issues-with-llvm18.patch
%endif
Patch10: mozilla-bmo1504834-part1.patch
Patch14: mozilla-bmo849632.patch
Patch15: mozilla-bmo998749.patch
Patch17: mozilla-libavcodec58_91.patch
Patch18: mozilla-silence-no-return-type.patch
Patch20: one_swizzle_to_rule_them_all.patch
Patch21: svg-rendering.patch
Patch22: thunderbird-silence-no-return.patch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: /bin/sh
@ -230,6 +230,12 @@ PreReq: textutils
Recommends: libcanberra0
Recommends: libotr5
Recommends: libpulse0
# To make security-keys (e.g. Yubikey) work with TB, it needs the udev-rules installed.
# A clean package with the most common rules exists only in SP3 onwards. `u2f-hosts` could be used on older
# code streams, but it contains more than just the rules, so we're not recommending it here.
%if 0%{?suse_version} >= 1600 || 0%{?sle_version} >= 150300
Recommends: libfido2-udev
%endif
Requires: %{name}-openpgp
Suggests: %{name}-openpgp-librnp
Requires(post): desktop-file-utils
@ -332,10 +338,6 @@ export BUILD_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export CFLAGS="%{optflags}"
%if 0%{?suse_version} >= 1699
export CC=gcc-13
export CXX=g++-13
%else
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
export CC=gcc-13
export CXX=g++-13
@ -343,24 +345,18 @@ export CXX=g++-13
%if 0%{?clang_build} == 0
export CC=gcc
export CXX=g++
%if 0%{?gcc_version:%{gcc_version}} >= 12
export CFLAGS="\$CFLAGS -fimplicit-constexpr"
%endif
%endif
%endif
%endif
%ifarch %arm %ix86
### NOTE: these sections are not required anymore. Alson --no-keep-memory + -Wl,-z,pack-relative-relocs causes
### ld to go OOM (https://sourceware.org/bugzilla/show_bug.cgi?id=30756)
# Limit RAM usage during link
export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
# export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--no-map-whole-files -Wl,--hash-size=31"
#
# A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
#export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
%endif
export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
%ifarch ppc64 ppc64le
%if 0%{?clang_build} == 0
#export CFLAGS="\$CFLAGS -mminimal-toc"
%endif
%endif
%ifarch %ix86
# Not enough memory on 32-bit systems, reduce debug info.
export CFLAGS="\$CFLAGS -g1"
@ -380,7 +376,7 @@ cat << EOF > $MOZCONFIG
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
ac_add_options --disable-bootstrap
ac_add_options --prefix=%{_prefix}
ac_add_options --libdir=%{_libdir}
@ -399,12 +395,6 @@ ac_add_options --disable-debug-symbols
ac_add_options --enable-debug-symbols=-g1
%endif
ac_add_options --disable-install-strip
# building with elf-hack started to fail everywhere with FF73
#%%if 0%%{?suse_version} > 1549
%ifarch %arm %ix86 x86_64
ac_add_options --disable-elf-hack
%endif
#%%endif
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
%if 0%{useccache} != 0
@ -418,7 +408,7 @@ ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --enable-alsa
ac_add_options --disable-debug
ac_add_options --disable-necko-wifi
#ac_add_options --disable-necko-wifi
ac_add_options --enable-update-channel=%{update_channel}
ac_add_options --with-unsigned-addon-scopes=app
ac_add_options --allow-addon-sideload
@ -447,7 +437,7 @@ ac_add_options --enable-optimize="-O1"
%ifarch x86_64
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
%if 0%{?suse_version} > 1500
#ac_add_options --enable-lto
ac_add_options --enable-lto
%if 0%{?do_profiling}
ac_add_options MOZ_PGO=1
%endif
@ -474,6 +464,9 @@ xvfb-run --server-args="-screen 0 1920x1080x24" \
# build additional locales
%if %localize
# Work around the following Exception: Cannot use MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" for any sites other than ('mach', 'build', 'common'). The current attempted site is "tb_common".
# by unsetting MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE, which we don't need for l10n-packages
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE
truncate -s 0 %{_tmppath}/translations.{common,other}
# langpack-build can not be done in parallel easily (see https://bugzilla.mozilla.org/show_bug.cgi?id=1660943)
# Therefore, we have to have a separate obj-dir for each language
@ -493,11 +486,10 @@ ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --enable-official-branding
EOF
%ifarch %ix86
#%%define njobs 0%{?jobs:%jobs}
# Weird race condition when building langpacks which comes and goes in OBS/IBS is hitting heavy with TB 128
# so we have to build it sequentially, sadly.
%define njobs 1
%else
%define njobs 0%{?jobs:%jobs}
%endif
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/mail/locales/shipped-locales \
@ -566,6 +558,9 @@ mkdir -p %{buildroot}%{_datadir}/applications
install -m 644 %{SOURCE1} \
%{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop
%suse_update_desktop_file %{desktop_file_name} Network Email GTK
# additional mime-types
#mkdir -p %{buildroot}%{_datadir}/mime/packages
# cp %{SOURCE8} %{buildroot}%{_datadir}/mime/packages/%{progname}.xml
# appdata
mkdir -p %{buildroot}%{_datadir}/appdata
cp %{SOURCE9} %{buildroot}%{_datadir}/appdata/%{desktop_file_name}.appdata.xml
@ -626,22 +621,17 @@ exit 0
%{progdir}/*.so
%exclude %{progdir}/librnp.so
%{progdir}/glxtest
%if 0%{wayland_supported}
%{progdir}/vaapitest
%endif
%{progdir}/omni.ja
%{progdir}/fonts/
%{progdir}/pingsender
%{progdir}/platform.ini
%{progdir}/plugin-container
%{progdir}/rnp-cli
%{progdir}/rnpkeys
%{progdir}/thunderbird-bin
# crashreporter files
%if %crashreporter
%{progdir}/crashreporter
%{progdir}/crashreporter.ini
%{progdir}/Throbber-small.gif
%{progdir}/minidump-analyzer
%endif
%dir %{progdir}/chrome/

View File

@ -84,6 +84,7 @@ function set_internal_variables() {
FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source"
FTP_CANDIDATES_BASE_URL="https://ftp.mozilla.org/pub/%s/candidates"
LOCALES_URL="https://product-details.mozilla.org/1.0/l10n"
FF_L10N_MONOREPO="https://github.com/mozilla-l10n/firefox-l10n"
PRODUCT_URL="https://product-details.mozilla.org/1.0"
ALREADY_EXTRACTED_LOCALES_FILE=0
}
@ -137,7 +138,7 @@ function get_source_stamp() {
local BUILD_JSON=$(curl --silent --fail "$FTP_CANDIDATES_BASE_URL/$FTP_CANDIDATES_JSON_SUFFIX") || return 1;
local REV=$(echo "$BUILD_JSON" | jq .moz_source_stamp)
local SOURCE_REPO=$(echo "$BUILD_JSON" | jq .moz_source_repo)
local TIMESTAMP=$(echo "$BUILD_JSON" | jq .buildid)
TIMESTAMP=$(echo "$BUILD_JSON" | jq .buildid)
echo "Extending $TAR_STAMP with:"
echo "RELEASE_REPO=${SOURCE_REPO}"
echo "RELEASE_TAG=${REV}"
@ -428,7 +429,7 @@ function clone_and_repackage_sources() {
# get repo and source stamp
local REV=$(hg -R . parent --template="{node|short}\n")
local SOURCE_REPO=$(hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/https:/")
local TIMESTAMP=$(date +%Y%m%d%H%M%S)
TIMESTAMP=$(date +%Y%m%d%H%M%S)
if [ "$PRODUCT" = "thunderbird" ]; then
pushd comm || exit 1
@ -500,10 +501,6 @@ function clone_and_repackage_locales() {
FF_L10N_BASE="l10n_ff"
fi
test ! -d $FF_L10N_BASE && mkdir $FF_L10N_BASE
# No-op, if we are building FF:
test ! -d $FINAL_L10N_BASE && mkdir $FINAL_L10N_BASE
# This is only relevant for Thunderbird-builds
# Here, the relevant directories we need to copy from FF and from TB
# are specified in a python-file in the tarball
@ -512,33 +509,42 @@ function clone_and_repackage_locales() {
tb_locale_template=$(get_locales_directories "COMM_STRINGS_PATTERNS")
echo "Fetching Browser locales..."
jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' "$FF_LOCALE_FILE" | \
while read -r locale changeset ; do
case $locale in
ja-JP-mac|en-US)
;;
*)
echo "reading changeset information for $locale"
echo "fetching $locale changeset $changeset ..."
if [ -d "$FF_L10N_BASE/$locale/.hg" ]; then
pushd "$FF_L10N_BASE/$locale" || exit 1
hg pull || exit 1
popd || exit 1
else
hg clone "https://hg.mozilla.org/l10n-central/$locale" "$FF_L10N_BASE/$locale" || exit 1
fi
[ "$RELEASE_TAG" == "default" ] || hg -R "$FF_L10N_BASE/$locale" up -C -r "$changeset" || exit 1
if [ -d "$FF_L10N_BASE/.git" ]; then
pushd "$FF_L10N_BASE/" || exit 1
git fetch -a || exit 1
popd || exit 1
else
git clone "$FF_L10N_MONOREPO" "$FF_L10N_BASE" || exit 1
fi
# Currently all locales show the same changeset-hash, as they moved to a monorepo. We just take the first one.
changeset=$(jq -r 'to_entries[0]| "\(.key) \(.value|.revision)"' "$FF_LOCALE_FILE" | cut -d " " -f 2)
[ "$RELEASE_TAG" == "default" ] || git -C "$FF_L10N_BASE/" switch --detach "$changeset" || exit 1
# If we are doing TB, we have to merge both l10n-repos
if [ "$PRODUCT" = "thunderbird" ] && test -d "$TB_L10N_BASE/$locale/" ; then
# No-op, if we are building FF:
test ! -d $FINAL_L10N_BASE && mkdir $FINAL_L10N_BASE
# If we are doing TB, we have to merge both l10n-repos
if [ "$PRODUCT" = "thunderbird" ] && test -d "$TB_L10N_BASE/$locale/" ; then
jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' "$FF_LOCALE_FILE" | \
while read -r locale changeset ; do
case $locale in
ja-JP-mac|en-US)
;;
*)
create_and_copy_locales "$locale" "$FF_L10N_BASE" "$ff_locale_template" "$FINAL_L10N_BASE"
create_and_copy_locales "$locale" "$TB_L10N_BASE" "$tb_locale_template" "$FINAL_L10N_BASE"
fi
;;
esac
done
;;
esac
done
fi
echo "creating l10n archive..."
local TAR_FLAGS="--exclude-vcs"
# For reproducable tarballs
# Convert TIMESTAMP to ISO-format, so tar can understand it, then set mtime to it
local MTIME=$(python3 -c "from datetime import datetime; print(datetime.strptime(${TIMESTAMP}, '%Y%m%d%H%M%S').isoformat())")
TAR_FLAGS="$TAR_FLAGS --sort=name --format=posix --pax-option=delete=atime,delete=ctime,exthdr.name=%d/PaxHeaders/%f --numeric-owner --owner=0 --group=0 --mode=go+u,go-w --clamp-mtime --mtime=$MTIME"
if [ "$PRODUCT" = "thunderbird" ]; then
TAR_FLAGS="$TAR_FLAGS --exclude=suite"
fi

View File

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

3
l10n-128.3.1esr.tar.xz Normal file
View File

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

View File

@ -2,9 +2,10 @@
# Parent 9fcbd287056a40084b1e679f787bf683b291f323
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
Index: firefox-128.0/gfx/2d/DrawTargetSkia.cpp
===================================================================
--- firefox-128.0.orig/gfx/2d/DrawTargetSkia.cpp
+++ firefox-128.0/gfx/2d/DrawTargetSkia.cpp
@@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
}
@ -15,9 +16,10 @@ diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h
Index: firefox-128.0/gfx/2d/Types.h
===================================================================
--- firefox-128.0.orig/gfx/2d/Types.h
+++ firefox-128.0/gfx/2d/Types.h
@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
// This represents the unknown format.
UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
@ -40,10 +42,11 @@ diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
// The following values are OS and endian-independent synonyms.
//
diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
--- a/gfx/skia/skia/modules/skcms/skcms.cc
+++ b/gfx/skia/skia/modules/skcms/skcms.cc
@@ -30,6 +30,8 @@
Index: firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc
===================================================================
--- firefox-128.0.orig/gfx/skia/skia/modules/skcms/skcms.cc
+++ firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc
@@ -31,6 +31,8 @@
#include <avx512fintrin.h>
#include <avx512dqintrin.h>
#endif
@ -51,7 +54,7 @@ diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/
+ #define SKCMS_PORTABLE
#endif
static bool runtime_cpu_detection = true;
using namespace skcms_private;
@@ -324,20 +326,28 @@ enum {
static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be;

View File

@ -1,17 +0,0 @@
# HG changeset patch
# Parent 09cd4ac2cc607e85aa572425b824fbab386af607
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
@@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
// ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa)
+ // TODO: Check this for endian-issues!
+ // Do we need to switch 255 to the front for all of those tuples?
return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255}))
+ d.approxMulDiv255(aa.inv());
};

View File

@ -1,35 +0,0 @@
# HG changeset patch
# Parent f9f5af4c88f2f3172a4f30d7e42bd2131bf24146
This fixes a broken build for gcc < 9 on ppc64le.
This patch can be removed for newer gcc-versions.
Index: firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
===================================================================
--- firefox-115.0.orig/js/xpconnect/src/XPCWrappedNative.cpp
+++ firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
@@ -1061,7 +1061,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
MutableHandleValue srcp) const;
- MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+ MOZ_ALWAYS_INLINE
+#endif
+ bool GatherAndConvertResults();
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
@@ -1108,7 +1112,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
~CallMethodHelper();
- MOZ_ALWAYS_INLINE bool Call();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+ MOZ_ALWAYS_INLINE
+#endif
+ bool Call();
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
void trace(JSTracer* aTrc);

View File

@ -1,26 +0,0 @@
From: Mike Hommey <mh@glandium.org>
Date: Sun, 14 Aug 2022 07:01:33 +0900
Subject: Work around bz#1775202 to fix FTBFS on ppc64el
---
third_party/libwebrtc/moz.build | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/third_party/libwebrtc/moz.build b/third_party/libwebrtc/moz.build
index 976cf373..311519c 100644
--- a/third_party/libwebrtc/moz.build
+++ b/third_party/libwebrtc/moz.build
@@ -566,6 +566,13 @@ if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
"/third_party/libwebrtc/third_party/pipewire/pipewire_gn"
]
+if CONFIG["CPU_ARCH"] == "ppc64" and CONFIG["OS_TARGET"] == "Linux":
+
+ DIRS += [
+ "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
+ "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
+ ]
+
if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
DIRS += [

View File

@ -1,33 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent fa8a5832a374ccd7af5db927b992b5d9f15273ef
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
--- a/modules/fdlibm/src/math_private.h
+++ b/modules/fdlibm/src/math_private.h
@@ -25,19 +25,24 @@
#include "fdlibm.h"
/*
* Emulate FreeBSD internal double types.
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
*/
+#ifdef __i386__
+typedef long double __double_t;
+typedef long double __float_t;
+#else
typedef double __double_t;
+typedef float __float_t;
+#endif
typedef __double_t double_t;
-typedef float __float_t;
/*
* The original fdlibm code used statements like:
* n0 = ((*(int*)&one)>>29)^1; * index of high word *
* ix0 = *(n0+(int*)&x); * high word of x *
* ix1 = *((1-n0)+(int*)&x); * low word of x *
* to dig two 32 bit words out of the 64 bit IEEE floating point
* value. That is non-ANSI, and, moreover, the gcc instruction

View File

@ -1,15 +0,0 @@
# HG changeset patch
# Parent af2c24874d79cbebb444727ae96f2fefa3f22b47
diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
--- a/media/libopus/silk/arm/arm_silk_map.c
+++ b/media/libopus/silk/arm/arm_silk_map.c
@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
# include "config.h"
#endif
-#include "main_FIX.h"
+#include "../fixed/main_FIX.h"
#include "NSQ.h"
#include "SigProc_FIX.h"

View File

@ -1,94 +0,0 @@
Adapt the shipped rust-bindgen copy for LLVM-18 and later,
and tell cargo we've modified the code of rust-bindgen so
the checksum verification of this crate should be skipped
diff -rup a/Cargo.lock b/Cargo.lock
--- a/Cargo.lock 2024-03-14 06:21:23.000000000 +0100
+++ b/Cargo.lock 2024-03-20 13:15:35.146224179 +0100
@@ -414,8 +414,8 @@ dependencies = [
[[package]]
name = "bindgen"
version = "0.64.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
+#source = "registry+https://github.com/rust-lang/crates.io-index"
+#checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
dependencies = [
"bitflags 1.3.2",
"cexpr",
diff -rup a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml 2024-03-20 13:09:16.152828408 +0100
+++ b/Cargo.toml 2024-03-20 13:14:09.072867031 +0100
@@ -193,3 +193,8 @@ weedle2 = "=4.0.0"
# Shut up such messages for now to make the build succeed
[future-incompat-report]
frequency = "never"
+
+[patch.crates-io.bindgen_0_64_0]
+package = "bindgen"
+version = "0.64.0"
+path = "third_party/rust/bindgen"
diff -rup a/third_party/rust/bindgen/ir/item.rs b/third_party/rust/bindgen/ir/item.rs
--- a/third_party/rust/bindgen/ir/item.rs 2024-03-14 06:21:40.000000000 +0100
+++ b/third_party/rust/bindgen/ir/item.rs 2024-03-20 13:11:32.062844514 +0100
@@ -1434,6 +1434,7 @@ impl Item {
// We allowlist cursors here known to be unhandled, to prevent being
// too noisy about this.
match cursor.kind() {
+ CXCursor_LinkageSpec => return Err(ParseError::Recurse),
CXCursor_MacroDefinition |
CXCursor_MacroExpansion |
CXCursor_UsingDeclaration |
Adapt the WebRTC code to use 64-bit timestamp to fix a build
failure with Clang-18 and later
diff -rup a/dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp b/dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
--- a/dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp 2024-03-14 06:21:25.000000000 +0100
+++ b/dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp 2024-03-20 13:17:20.839584778 +0100
@@ -99,7 +99,7 @@ struct EncodedFrame {
uint8_t y_;
uint8_t u_;
uint8_t v_;
- uint32_t timestamp_;
+ uint64_t timestamp_;
} idr_nalu;
};
#pragma pack(pop)
diff -rup a/dom/media/gtest/TestGMPRemoveAndDelete.cpp b/dom/media/gtest/TestGMPRemoveAndDelete.cpp
--- a/dom/media/gtest/TestGMPRemoveAndDelete.cpp 2024-03-14 06:21:25.000000000 +0100
+++ b/dom/media/gtest/TestGMPRemoveAndDelete.cpp 2024-03-20 13:17:20.839584778 +0100
@@ -361,7 +361,7 @@ void GMPRemoveTest::gmp_Decode() {
uint8_t y_;
uint8_t u_;
uint8_t v_;
- uint32_t timestamp_;
+ uint64_t timestamp_;
} idr_nalu;
};
#pragma pack(pop)
diff -rup a/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp b/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp
--- a/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp 2024-03-14 06:21:24.000000000 +0100
+++ b/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp 2024-03-20 13:17:20.842918112 +0100
@@ -540,7 +540,7 @@ void WebrtcGmpVideoEncoder::Encoded(
webrtc::VideoFrameType ft;
GmpFrameTypeToWebrtcFrameType(aEncodedFrame->FrameType(), &ft);
- uint32_t timestamp = (aEncodedFrame->TimeStamp() * 90ll + 999) / 1000;
+ uint64_t timestamp = (aEncodedFrame->TimeStamp() * 90ll + 999) / 1000;
GMP_LOG_DEBUG("GMP Encoded: %" PRIu64 ", type %d, len %d",
aEncodedFrame->TimeStamp(), aEncodedFrame->BufferType(),
diff -rup a/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h b/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h
--- a/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h 2024-03-14 06:21:24.000000000 +0100
+++ b/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h 2024-03-20 13:17:32.442921055 +0100
@@ -302,7 +302,7 @@ class WebrtcGmpVideoEncoder : public GMP
int64_t timestamp_us;
};
// Map rtp time -> input image data
- DataMutex<std::map<uint32_t, InputImageData>> mInputImageMap;
+ DataMutex<std::map<uint64_t, InputImageData>> mInputImageMap;
MediaEventProducer<uint64_t> mInitPluginEvent;
MediaEventProducer<uint64_t> mReleasePluginEvent;

View File

@ -1,66 +0,0 @@
From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Fri, 17 May 2019 14:41:35 +0200
Subject: [PATCH] Fix top-level asm issue.
---
security/sandbox/linux/moz.build | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -66,32 +66,32 @@ UNIFIED_SOURCES += [
"../chromium/base/time/time_now_posix.cc",
"../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc",
"../chromium/sandbox/linux/bpf_dsl/codegen.cc",
"../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc",
"../chromium/sandbox/linux/bpf_dsl/policy.cc",
"../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc",
"../chromium/sandbox/linux/bpf_dsl/syscall_set.cc",
"../chromium/sandbox/linux/seccomp-bpf/die.cc",
- "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
"broker/SandboxBrokerCommon.cpp",
"Sandbox.cpp",
"SandboxBrokerClient.cpp",
"SandboxFilter.cpp",
"SandboxFilterUtil.cpp",
"SandboxHooks.cpp",
"SandboxInfo.cpp",
"SandboxLogging.cpp",
"SandboxOpenedFiles.cpp",
"SandboxReporterClient.cpp",
]
SOURCES += [
"../chromium/base/strings/safe_sprintf.cc",
"../chromium/base/third_party/icu/icu_utf.cc",
+ "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
"../chromium/sandbox/linux/seccomp-bpf/trap.cc",
"../chromium/sandbox/linux/services/syscall_wrappers.cc",
]
# This copy of SafeSPrintf doesn't need to avoid the Chromium logging
# dependency like the one in libxul does, but this way the behavior is
# consistent. See also the comment in SandboxLogging.h.
SOURCES["../chromium/base/strings/safe_sprintf.cc"].flags += ["-DNDEBUG"]
@@ -105,16 +105,19 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
"-Wno-unreachable-code-return"
]
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += ["-Wno-error=stack-protector"]
SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [
"-Wno-empty-body",
]
+ SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
+ '-fno-lto'
+ ]
# gcc lto likes to put the top level asm in syscall.cc in a different partition
# from the function using it which breaks the build. Work around that by
# forcing there to be only one partition.
for f in CONFIG["OS_CXXFLAGS"]:
if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
LDFLAGS += ["--param lto-partitions=1"]

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,12 @@
# HG changeset patch
# 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
@@ -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
Index: firefox-127.0/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
===================================================================
--- firefox-127.0.orig/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
+++ firefox-127.0/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
@@ -49,6 +49,8 @@ static const char* sLibs[] = {
"libavcodec.so.61",
"libavcodec.so.60",
"libavcodec.so.59",
+ "libavcodec.so.58.134",
@ -18,8 +14,3 @@ diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/plat
"libavcodec.so.58",
"libavcodec-ffmpeg.so.58",
"libavcodec-ffmpeg.so.57",
"libavcodec-ffmpeg.so.56",
"libavcodec.so.57",
"libavcodec.so.56",
"libavcodec.so.55",
"libavcodec.so.54",

View File

@ -1,13 +0,0 @@
Index: firefox-102.4.0/mfbt/EnumSet.h
===================================================================
--- firefox-102.4.0.orig/mfbt/EnumSet.h
+++ firefox-102.4.0/mfbt/EnumSet.h
@@ -326,7 +326,7 @@ class EnumSet {
}
}
- static constexpr size_t kMaxBits = MaxBits();
+ static constexpr size_t kMaxBits = EnumSet().MaxBits();
Serialized mBitField;

View File

@ -1,12 +0,0 @@
diff -rup a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml 2023-07-04 15:15:01.089470619 +0200
+++ b/Cargo.toml 2023-07-04 15:24:31.626226962 +0200
@@ -188,3 +188,8 @@ uniffi_bindgen = "=0.23.0"
uniffi_build = "=0.23.0"
uniffi_macros = "=0.23.0"
weedle2 = "=4.0.0"
+
+# Package code v0.1.4 uses code "that will be rejected by a future version of Rust"
+# Shut up such messages for now to make the build succeed
+[future-incompat-report]
+frequency = "never"

View File

@ -1,10 +1,10 @@
# HG changeset patch
# Parent 5df550d4b5fc674268055e504f60392389eb9ea7
# Parent af0655f894a27ef60aa8438af7939a5ebc498df0
Index: firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
Index: firefox-128.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/include/codec/SkEncodedOrigin.h
+++ firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
--- firefox-128.0.orig/gfx/skia/skia/include/codec/SkEncodedOrigin.h
+++ firefox-128.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
@@ -41,6 +41,7 @@ static inline SkMatrix SkEncodedOriginTo
case kLeftBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0, 1, 0, -1, 0, h, 0, 0, 1);
}
@ -13,11 +13,11 @@ Index: firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
}
/**
Index: firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
Index: firefox-128.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
+++ firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
@@ -325,6 +325,7 @@ static inline bool GrTextureTypeHasRestr
--- firefox-128.0.orig/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
+++ firefox-128.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
@@ -301,6 +301,7 @@ static inline bool GrTextureTypeHasRestr
default:
SK_ABORT("Unexpected texture type");
}
@ -25,10 +25,10 @@ Index: firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
}
//////////////////////////////////////////////////////////////////////////////
Index: firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp
Index: firefox-128.0/gfx/skia/skia/src/core/SkDescriptor.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkDescriptor.cpp
+++ firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkDescriptor.cpp
+++ firefox-128.0/gfx/skia/skia/src/core/SkDescriptor.cpp
@@ -26,6 +26,7 @@ std::unique_ptr<SkDescriptor> SkDescript
void SkDescriptor::operator delete(void* p) { ::operator delete(p); }
void* SkDescriptor::operator new(size_t) {
@ -37,10 +37,10 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp
}
void SkDescriptor::flatten(SkWriteBuffer& buffer) const {
Index: firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h
Index: firefox-128.0/gfx/skia/skia/src/core/SkGeometry.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkGeometry.h
+++ firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkGeometry.h
+++ firefox-128.0/gfx/skia/skia/src/core/SkGeometry.h
@@ -281,6 +281,7 @@ static inline bool SkCubicIsDegenerate(S
return true;
}
@ -57,11 +57,11 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h
}
/** Returns the cubic classification.
Index: firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp
Index: firefox-128.0/gfx/skia/skia/src/core/SkTextBlob.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkTextBlob.cpp
+++ firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp
@@ -204,6 +204,7 @@ void SkTextBlob::operator delete(void* p
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkTextBlob.cpp
+++ firefox-128.0/gfx/skia/skia/src/core/SkTextBlob.cpp
@@ -213,6 +213,7 @@ void SkTextBlob::operator delete(void* p
void* SkTextBlob::operator new(size_t) {
SK_ABORT("All blobs are created by placement new.");
@ -69,11 +69,11 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp
}
void* SkTextBlob::operator new(size_t, void* p) {
Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
Index: firefox-128.0/gfx/skia/skia/src/core/SkTypeface_remote.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkTypeface_remote.h
+++ firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
@@ -95,12 +95,14 @@ public:
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkTypeface_remote.h
+++ firefox-128.0/gfx/skia/skia/src/core/SkTypeface_remote.h
@@ -108,12 +108,14 @@ public:
bool isLogging() const {return fIsLogging;}
protected:
@ -89,7 +89,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
bool onGlyphMaskNeedsCurrentColor() const override {
return fGlyphMaskNeedsCurrentColor;
@@ -108,10 +110,12 @@ protected:
@@ -121,10 +123,12 @@ protected:
int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[],
int coordinateCount) const override {
SK_ABORT("Should never be called.");
@ -102,7 +102,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
void onGetFamilyName(SkString* familyName) const override {
// Used by SkStrikeCache::DumpMemoryStatistics.
@@ -119,15 +123,19 @@ protected:
@@ -132,15 +136,19 @@ protected:
}
bool onGetPostScriptName(SkString*) const override {
SK_ABORT("Should never be called.");
@ -122,7 +122,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
std::unique_ptr<SkScalerContext> onCreateScalerContext(
const SkScalerContextEffects& effects, const SkDescriptor* desc) const override
@@ -141,20 +149,25 @@ protected:
@@ -154,20 +162,25 @@ protected:
}
void onGetFontDescriptor(SkFontDescriptor*, bool*) const override {
SK_ABORT("Should never be called.");
@ -148,7 +148,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
int onCountGlyphs() const override {
return this->glyphCount();
@@ -162,6 +175,7 @@ protected:
@@ -175,6 +188,7 @@ protected:
void* onGetCTFontRef() const override {
SK_ABORT("Should never be called.");
@ -156,73 +156,34 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
private:
Index: firefox-115.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
Index: firefox-128.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
+++ firefox-115.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
@@ -815,6 +815,7 @@ sk_sp<SkSpecialImage> cpu_blur(
--- firefox-128.0.orig/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
+++ firefox-128.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
@@ -799,6 +799,7 @@ sk_sp<SkSpecialImage> cpu_blur(const ski
return maker;
}
SK_ABORT("Sigma is out of range.");
+ SkUNREACHABLE;
};
PassMaker* makerX = makeMaker(sigma.x());
Index: firefox-115.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
PassMaker* makerX = makeMaker(sigma.width());
Index: firefox-128.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
+++ firefox-115.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
+++ firefox-128.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
@@ -69,6 +69,7 @@ void SkFontMgr_Indirect::onGetFamilyName
SkFontStyleSet* SkFontMgr_Indirect::onCreateStyleSet(int index) const {
sk_sp<SkFontStyleSet> SkFontMgr_Indirect::onCreateStyleSet(int index) const {
SK_ABORT("Not implemented");
+ SkUNREACHABLE;
}
SkFontStyleSet* SkFontMgr_Indirect::onMatchFamily(const char familyName[]) const {
Index: firefox-115.0/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
sk_sp<SkFontStyleSet> SkFontMgr_Indirect::onMatchFamily(const char familyName[]) const {
Index: firefox-128.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
+++ firefox-115.0/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
@@ -162,18 +162,22 @@ public:
protected:
int onCountFamilies() const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
void onGetFamilyName(int index, SkString* familyName) const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
SkFontStyleSet* onCreateStyleSet(int index) const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
SkFontStyleSet* onMatchFamily(const char familyName[]) const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
SkTypeface* onMatchFamilyStyle(const char requestedFamilyName[],
Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLCompiler.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/sksl/SkSLCompiler.cpp
+++ firefox-115.0/gfx/skia/skia/src/sksl/SkSLCompiler.cpp
@@ -277,6 +277,7 @@ std::unique_ptr<Expression> Compiler::co
}
default:
SK_ABORT("unsupported symbol type %d\n", (int) result->kind());
+ SkUNREACHABLE;
}
}
Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/sksl/SkSLOperator.cpp
+++ firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/sksl/SkSLOperator.cpp
+++ firefox-128.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
@@ -51,7 +51,7 @@ OperatorPrecedence Operator::getBinaryPr
case Kind::BITWISEXOREQ: // fall through
case Kind::BITWISEOREQ: return OperatorPrecedence::kAssignment;
@ -232,22 +193,22 @@ Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
}
}
Index: firefox-115.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
Index: firefox-128.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/sksl/ir/SkSLType.h
+++ firefox-115.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
@@ -422,6 +422,7 @@ public:
--- firefox-128.0.orig/gfx/skia/skia/src/sksl/ir/SkSLType.h
+++ firefox-128.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
@@ -468,6 +468,7 @@ public:
virtual const std::vector<Field>& fields() const {
virtual SkSpan<const Field> fields() const {
SK_ABORT("Internal error: not a struct");
+ SkUNREACHABLE;
}
/**
Index: firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
Index: firefox-128.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/utils/SkShadowUtils.cpp
+++ firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/utils/SkShadowUtils.cpp
+++ firefox-128.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
@@ -140,6 +140,7 @@ struct SpotVerticesFactory {
return true;
}
@ -256,11 +217,11 @@ Index: firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
}
sk_sp<SkVertices> makeVertices(const SkPath& path, const SkMatrix& ctm,
Index: firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
Index: firefox-128.0/intl/icu/source/i18n/number_rounding.cpp
===================================================================
--- firefox-115.0.orig/intl/icu/source/i18n/number_rounding.cpp
+++ firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
@@ -283,6 +283,7 @@ FractionPrecision Precision::constructFr
--- firefox-128.0.orig/intl/icu/source/i18n/number_rounding.cpp
+++ firefox-128.0/intl/icu/source/i18n/number_rounding.cpp
@@ -287,6 +287,7 @@ FractionPrecision Precision::constructFr
settings.fMaxFrac = static_cast<digits_t>(maxFrac);
settings.fMinSig = -1;
settings.fMaxSig = -1;
@ -268,7 +229,7 @@ Index: firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
PrecisionUnion union_;
union_.fracSig = settings;
return {RND_FRACTION, union_};
@@ -294,6 +295,7 @@ Precision Precision::constructSignifican
@@ -298,6 +299,7 @@ Precision Precision::constructSignifican
settings.fMaxFrac = -1;
settings.fMinSig = static_cast<digits_t>(minSig);
settings.fMaxSig = static_cast<digits_t>(maxSig);
@ -276,11 +237,11 @@ Index: firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
PrecisionUnion union_;
union_.fracSig = settings;
return {RND_SIGNIFICANT, union_};
Index: firefox-115.0/js/src/irregexp/imported/regexp-parser.cc
Index: firefox-128.0/js/src/irregexp/imported/regexp-parser.cc
===================================================================
--- firefox-115.0.orig/js/src/irregexp/imported/regexp-parser.cc
+++ firefox-115.0/js/src/irregexp/imported/regexp-parser.cc
@@ -2656,6 +2656,7 @@ bool MayContainStrings(ClassSetOperandTy
--- firefox-128.0.orig/js/src/irregexp/imported/regexp-parser.cc
+++ firefox-128.0/js/src/irregexp/imported/regexp-parser.cc
@@ -2781,6 +2781,7 @@ bool MayContainStrings(ClassSetOperandTy
if (operand->IsClassRanges()) return false;
return operand->AsClassSetExpression()->may_contain_strings();
}
@ -288,10 +249,10 @@ Index: firefox-115.0/js/src/irregexp/imported/regexp-parser.cc
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc
Index: firefox-128.0/third_party/libwebrtc/api/adaptation/resource.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/adaptation/resource.cc
+++ firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc
--- firefox-128.0.orig/third_party/libwebrtc/api/adaptation/resource.cc
+++ firefox-128.0/third_party/libwebrtc/api/adaptation/resource.cc
@@ -22,6 +22,7 @@ const char* ResourceUsageStateToString(R
return "kUnderuse";
}
@ -300,11 +261,11 @@ Index: firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc
}
ResourceListener::~ResourceListener() {}
Index: firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc
Index: firefox-128.0/third_party/libwebrtc/api/rtp_parameters.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/rtp_parameters.cc
+++ firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc
@@ -32,6 +32,7 @@ const char* DegradationPreferenceToStrin
--- firefox-128.0.orig/third_party/libwebrtc/api/rtp_parameters.cc
+++ firefox-128.0/third_party/libwebrtc/api/rtp_parameters.cc
@@ -33,6 +33,7 @@ const char* DegradationPreferenceToStrin
return "balanced";
}
RTC_CHECK_NOTREACHED();
@ -312,10 +273,10 @@ Index: firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc
}
const double kDefaultBitratePriority = 1.0;
Index: firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
Index: firefox-128.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/video/video_frame_buffer.cc
+++ firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
--- firefox-128.0.orig/third_party/libwebrtc/api/video/video_frame_buffer.cc
+++ firefox-128.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
@@ -106,6 +106,8 @@ const char* VideoFrameBufferTypeToString
default:
RTC_DCHECK_NOTREACHED();
@ -325,23 +286,23 @@ Index: firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
}
int I420BufferInterface::ChromaWidth() const {
Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
Index: firefox-128.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/video_codecs/video_codec.cc
+++ firefox-115.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
@@ -118,6 +118,7 @@ const char* CodecTypeToPayloadString(Vid
return kPayloadNameGeneric;
--- firefox-128.0.orig/third_party/libwebrtc/api/video_codecs/video_codec.cc
+++ firefox-128.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
@@ -162,6 +162,7 @@ const char* CodecTypeToPayloadString(Vid
return kPayloadNameH265;
}
RTC_CHECK_NOTREACHED();
+ return "";
}
VideoCodecType PayloadStringToCodecType(const std::string& name) {
Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
Index: firefox-128.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+++ firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
@@ -163,6 +163,7 @@ class VideoEncoderSoftwareFallbackWrappe
--- firefox-128.0.orig/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+++ firefox-128.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
@@ -189,6 +189,7 @@ class VideoEncoderSoftwareFallbackWrappe
return fallback_encoder_.get();
}
RTC_CHECK_NOTREACHED();
@ -349,7 +310,7 @@ Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_softwa
}
// Updates encoder with last observed parameters, such as callbacks, rates,
@@ -343,6 +344,7 @@ int32_t VideoEncoderSoftwareFallbackWrap
@@ -382,6 +383,7 @@ int32_t VideoEncoderSoftwareFallbackWrap
return fallback_encoder_->Encode(frame, frame_types);
}
RTC_CHECK_NOTREACHED();
@ -357,11 +318,11 @@ Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_softwa
}
int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder(
Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
Index: firefox-128.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
+++ firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
@@ -168,6 +168,7 @@ const char* Adaptation::StatusToString(A
--- firefox-128.0.orig/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
+++ firefox-128.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
@@ -169,6 +169,7 @@ const char* Adaptation::StatusToString(A
return "kRejectedByConstraint";
}
RTC_CHECK_NOTREACHED();
@ -369,7 +330,7 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
Adaptation::Adaptation(int validation_id,
@@ -390,6 +391,7 @@ VideoStreamAdapter::RestrictionsOrState
@@ -391,6 +392,7 @@ VideoStreamAdapter::RestrictionsOrState
return Adaptation::Status::kAdaptationDisabled;
}
RTC_CHECK_NOTREACHED();
@ -377,7 +338,7 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
Adaptation VideoStreamAdapter::GetAdaptationDown() {
@@ -472,6 +474,7 @@ VideoStreamAdapter::GetAdaptationDownSte
@@ -473,6 +475,7 @@ VideoStreamAdapter::GetAdaptationDownSte
return Adaptation::Status::kAdaptationDisabled;
}
RTC_CHECK_NOTREACHED();
@ -385,7 +346,7 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution(
@@ -625,6 +628,8 @@ Adaptation VideoStreamAdapter::GetAdaptD
@@ -626,6 +629,8 @@ Adaptation VideoStreamAdapter::GetAdaptD
}
}
RTC_CHECK_NOTREACHED();
@ -394,12 +355,12 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
VideoStreamAdapter::RestrictionsOrState
Index: firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc
Index: firefox-128.0/third_party/libwebrtc/call/rtp_payload_params.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/call/rtp_payload_params.cc
+++ firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc
@@ -407,7 +407,7 @@ absl::optional<FrameDependencyStructure>
case VideoCodecType::kVideoCodecMultiplex:
--- firefox-128.0.orig/third_party/libwebrtc/call/rtp_payload_params.cc
+++ firefox-128.0/third_party/libwebrtc/call/rtp_payload_params.cc
@@ -406,7 +406,7 @@ absl::optional<FrameDependencyStructure>
case VideoCodecType::kVideoCodecH265:
return absl::nullopt;
}
- RTC_DCHECK_NOTREACHED() << "Unsupported codec.";
@ -407,10 +368,10 @@ Index: firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc
}
void RtpPayloadParams::GenericToGeneric(int64_t shared_frame_id,
Index: firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc
Index: firefox-128.0/third_party/libwebrtc/call/video_send_stream.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/call/video_send_stream.cc
+++ firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc
--- firefox-128.0.orig/third_party/libwebrtc/call/video_send_stream.cc
+++ firefox-128.0/third_party/libwebrtc/call/video_send_stream.cc
@@ -30,6 +30,7 @@ const char* StreamTypeToString(VideoSend
return "flexfec";
}
@ -419,10 +380,22 @@ Index: firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
Index: firefox-128.0/third_party/libwebrtc/media/base/codec.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
--- firefox-128.0.orig/third_party/libwebrtc/media/base/codec.cc
+++ firefox-128.0/third_party/libwebrtc/media/base/codec.cc
@@ -262,6 +262,7 @@ bool Codec::Matches(const Codec& codec)
case Type::kVideo:
return IsSameCodecSpecific(name, params, codec.name, codec.params);
}
+ return false; // unreached
};
return matches_id && matches_type_specific();
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
===================================================================
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
@@ -378,7 +378,7 @@ std::unique_ptr<ClippingPredictor> Creat
config.reference_window_delay, config.clipping_threshold,
/*adaptive_step_estimation=*/false);
@ -432,10 +405,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clippin
}
} // namespace webrtc
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
@@ -48,6 +48,7 @@ constexpr absl::string_view MetricNamePr
case InputVolumeType::kRecommended:
return "WebRTC.Audio.Apm.RecommendedInputVolume.";
@ -444,11 +417,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_v
}
metrics::Histogram* CreateVolumeHistogram(InputVolumeType input_volume_type) {
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
@@ -59,6 +59,8 @@ rtc::FunctionView<float(float)> GetActiv
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
@@ -60,6 +60,8 @@ rtc::FunctionView<float(float)> GetActiv
case ActivationFunction::kSigmoidApproximated:
return ::rnnoise::SigmoidApproximated;
}
@ -457,11 +430,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
@@ -99,6 +99,7 @@ GainControl::Mode Agc1ConfigModeToInterf
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
@@ -101,6 +101,7 @@ GainControl::Mode Agc1ConfigModeToInterf
return GainControl::kFixedDigital;
}
RTC_CHECK_NOTREACHED();
@ -469,7 +442,7 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_proces
}
bool MinimizeProcessingForUnusedOutput() {
@@ -166,7 +167,7 @@ int AudioFormatValidityToErrorCode(Audio
@@ -168,7 +169,7 @@ int AudioFormatValidityToErrorCode(Audio
case AudioFormatValidity::kInvalidChannelCount:
return AudioProcessing::kBadNumberChannelsError;
}
@ -478,7 +451,7 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_proces
}
// Returns an AudioProcessing::Error together with the best possible option for
@@ -2421,6 +2422,7 @@ void AudioProcessingImpl::InitializeNois
@@ -2425,6 +2426,7 @@ void AudioProcessingImpl::InitializeNois
return NsConfig::SuppressionLevel::k21dB;
}
RTC_CHECK_NOTREACHED();
@ -486,10 +459,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_proces
};
NsConfig cfg;
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
@@ -32,6 +32,7 @@ std::string NoiseSuppressionLevelToStrin
return "VeryHigh";
}
@ -506,10 +479,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audi
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
@@ -53,6 +53,7 @@ std::string GetVadModeLabel(TransientSup
case TransientSuppressor::VadMode::kNoVad:
return "no VAD";
@ -518,10 +491,23 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/tr
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
Index: firefox-128.0/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
+++ firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+++ firefox-128.0/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
@@ -95,6 +95,8 @@ BandwidthLimitedCause GetBandwidthLimite
case LossBasedState::kDelayBasedEstimate:
return BandwidthLimitedCause::kDelayBasedLimited;
}
+ // just return something by default
+ return BandwidthLimitedCause::kLossLimitedBwe;
}
} // namespace
Index: firefox-128.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
===================================================================
--- firefox-128.0.orig/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
+++ firefox-128.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
@@ -44,6 +44,7 @@ ScreenCastPortal::CaptureSourceType Scre
case CaptureType::kAnyScreenContent:
return ScreenCastPortal::CaptureSourceType::kAnyScreenContent;
@ -530,11 +516,23 @@ Index: firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland
}
ScreenCastPortal::ScreenCastPortal(CaptureType type, PortalNotifier* notifier)
Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
Index: firefox-128.0/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
+++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
@@ -38,6 +38,7 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
--- firefox-128.0.orig/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
+++ firefox-128.0/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
@@ -84,6 +84,7 @@ bool BitrateProber::ReadyToSetActiveStat
return packet_size >=
std::min(RecommendedMinProbeSize(), config_.min_packet_size.Get());
}
+ RTC_CHECK_NOTREACHED();
}
void BitrateProber::OnIncomingPacket(DataSize packet_size) {
Index: firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
===================================================================
--- firefox-128.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
+++ firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
@@ -46,6 +46,7 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
return std::make_unique<VideoRtpDepacketizerGeneric>();
}
RTC_CHECK_NOTREACHED();
@ -542,11 +540,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_
}
} // namespace webrtc
Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
Index: firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
@@ -142,6 +142,7 @@ bool IsNonVolatile(RTPExtensionType type
--- firefox-128.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
@@ -138,6 +138,7 @@ bool IsNonVolatile(RTPExtensionType type
#endif
}
RTC_CHECK_NOTREACHED();
@ -554,22 +552,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
}
bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) {
Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
Index: firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
@@ -45,6 +45,7 @@ namespace {
return "audio_cn";
}
RTC_CHECK_NOTREACHED();
+ return "";
}
constexpr char kIncludeCaptureClockOffset[] =
Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
+++ firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
+++ firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
@@ -110,6 +110,7 @@ size_t BufferToIndex(Vp8BufferReference
case Vp8FrameConfig::Vp8BufferReference::kNone:
RTC_CHECK_NOTREACHED();
@ -578,10 +564,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/defau
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
Index: firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+++ firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+++ firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
@@ -30,6 +30,7 @@ TemporalLayersChecker::CreateTemporalLay
return std::make_unique<TemporalLayersChecker>(num_temporal_layers);
}
@ -590,11 +576,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/tempo
}
TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers)
Index: firefox-115.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
Index: firefox-128.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
+++ firefox-115.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
@@ -63,6 +63,7 @@ std::string ToString(VideoAdaptationReas
--- firefox-128.0.orig/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
+++ firefox-128.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
@@ -64,6 +64,7 @@ std::string ToString(VideoAdaptationReas
return "cpu";
}
RTC_CHECK_NOTREACHED();

View File

@ -1,10 +1,10 @@
PRODUCT="thunderbird"
CHANNEL="esr115"
VERSION="115.15.0"
VERSION_SUFFIX=""
PREV_VERSION="115.14.0"
CHANNEL="esr128"
VERSION="128.3.1"
VERSION_SUFFIX="esr"
PREV_VERSION="128.3.0"
PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr115"
RELEASE_TAG="aa5ac5425f0381ec6c3e3d9122b5b9d14cc7e60d"
RELEASE_TIMESTAMP="20240903191356"
RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr128"
RELEASE_TAG="13aaab4ee7a18182d6c6ee62415c8d32d115063c"
RELEASE_TIMESTAMP="20241009142959"

View File

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

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmbXrwUACgkQ4207E/PZ
MnSSXBAAjscNC/NThi+i8p+exea5QWpM96FZkF5eRJ/jS9dWLm2UH9xZDPyDCJvy
PXArlpWlIWWG21Pws7fy4g3RZcceim94QWhgMd75DJCKmZ9dgKJLtZla3Qs226b9
G1DwXfonJUEh/cd1fQQ3ewRUwdnzgjyRMvJeDDdzClKqApuEF9hr7h7aJNObzU1R
2n2gEpQrKIpWT5ijTlcr4tBTGqs3JkmXhzsH68XpzqXspWcpSJzSiEntH2iBvC8Z
dfedsgGBA03gbyuFd+haD3/vxsARHAmme/o5xbrUcUIrZTkRVpI6mnFY0CzFx30K
IilGvGy1mW7oxyakNAQvPpSTCcy8FPXdbi1oGRN1nS8kgpJhiW0pb7m7oh5ul1xi
Hw1nT3ZJfikr/U2t8nTsXwgiuEnG6hqEh5Us6QR/f8rEEWd9TrbfLWXW4NfWImHZ
OafCrzLzAUK4nSzN6AI+ZQqUBq0mru6z67I1CX6t2KCo7GdZwDhsWm8CrN/I0JlF
5RuimLUpCs6Q25ZuPFaLojQHzImgXO48Y/lUHtaDYSdHHBhF7GYhLj3zA3ljuDIv
rxmJpSaMBgn4zk4igQn7y3ScY5Ht0yHHdd3bkewcD02AuOWqYyFKuYmm3kTU+GjZ
nY9j30eL+zXgVDWuD4vlTFvgieag9P6+HK/K8uzflJ8FiHzXy6U=
=VPte
-----END PGP SIGNATURE-----

View File

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

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmcGxS0ACgkQ4207E/PZ
MnQsrhAAr63se4k9GKqiuIceJDRxenx1h2yaQ5F4G5x68l/dB0rTOt5gVqnvlgpt
QriB3F6YTDrcDkpT870p9IYFG3UXqsyGi/UE7XOxi3xgKqfx8URkuGPg9AiDtTP6
GwUO3V2Ekt6MS0vnvf/w0RFnK5ouLOEuLp8gYlElbXJrwVNrgusMD/J1JjCIabvH
vNd+oBifaySr/zdRpGb1JELQ5E0gdiHLzaB149MSJ9+qNsOPctH1S1JGmlUBnKY/
+vuE0XMxIrXIyxQcCnlUXE5QMo50PzGhxMz+3kwxioqDm5q12SKaEyIDch+u83AC
LoLSUMi+e8kdbA6kUynnb1QvFu7NIMm6z000HNZPiLP2ObGmZ20lBnFOnYujRGZf
tqeMemjEu5yNKfGxPQEBVqwiZp5pATjQ9DuDQYCZ4HSyJ2sONxKCuz33xrlphknO
7d7UskdTTcUv10tZ2UrSam1oSfFvwfBh5PId14NrRXMWzOKYan/F+MMtCCsxhifG
n0WIk9HnIRAgRw5XHya7wv4l6PsOJUJfkRBMw8Lg5A7nRg54E3bdR9TpuSmwAuNq
goUah5mSjT+DI6ozkL1qv8uOJ1POU+0W7BzCbgC9z22GPylzt8s/5gGCjNmD9M14
LqIK/0ubG7R8IA9xDgG6NtiXD9Tsnp3rJQM+s+CplRb62jI9pG8=
=pMcM
-----END PGP SIGNATURE-----

View File

@ -1,20 +0,0 @@
https://github.com/randombit/botan/commit/94e9154c143aa5264da6254a6a1be5bc66ee2b5a
diff --git a/comm/third_party/botan/src/lib/pubkey/ec_group/ec_group.cpp b/comm/third_party/botan/src/lib/pubkey/ec_group/ec_group.cpp
index bb60bacf7ba..214751b4eb0 100644
--- a/comm/third_party/botan/src/lib/pubkey/ec_group/ec_group.cpp
+++ b/comm/third_party/botan/src/lib/pubkey/ec_group/ec_group.cpp
@@ -334,8 +334,11 @@ std::shared_ptr<EC_Group_Data> EC_Group::BER_decode_EC_group(const uint8_t bits[
.end_cons()
.verify_end();
- if(p.bits() < 64 || p.is_negative() || !is_bailie_psw_probable_prime(p))
- throw Decoding_Error("Invalid ECC p parameter");
+ if(p.bits() < 112 || p.bits() > 1024)
+ throw Decoding_Error("ECC p parameter is invalid size");
+
+ if(p.is_negative() || !is_bailie_psw_probable_prime(p))
+ throw Decoding_Error("ECC p parameter is not a prime");
if(a.is_negative() || a >= p)
throw Decoding_Error("Invalid ECC a parameter");

View File

@ -0,0 +1,10 @@
--- a/comm/mailnews/base/src/MboxMsgInputStream.cpp.old 2024-09-29 13:27:36.274947489 +0200
+++ b/comm/mailnews/base/src/MboxMsgInputStream.cpp 2024-09-29 13:27:47.384867824 +0200
@@ -241,6 +241,7 @@
default:
MOZ_ASSERT_UNREACHABLE(); // should not happen
}
+ return data;
}
// We're expecting a new message to start, or an EOF.