Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2026-05-27 16:12:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox" Wed May 27 16:12:21 2026 rev:487 rq:1355191 version:151.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2026-05-10 16:46:53.757271962 +0200 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/MozillaFirefox.changes 2026-05-27 16:12:29.953905705 +0200 @@ -1,0 +2,109 @@ +Thu May 21 21:15:56 UTC 2026 - Wolfgang Rosenauer <[email protected]> + +- Mozilla Firefox 151.0.1 + * Fixed a crash experienced by users with Intel Raptor Lake CPUs. + (bmo#1950764) + * Fixed an issue on Windows where some websites using WebSerial to + flash device firmware could fail unexpectedly. (bmo#2040754) +- Mozilla Firefox 151.0 + * https://www.firefox.com/en-US/firefox/151.0/releasenotes/ + MFSA 2026-46 (bsc#1265212) + * CVE-2026-8945 (bmo#2003171) + Sandbox escape in Firefox and Firefox Focus for Android + * CVE-2026-8946 (bmo#2029070) + Incorrect boundary conditions in the Audio/Video: Web Codecs + component + * CVE-2026-8947 (bmo#2038439) + Use-after-free in the DOM: Bindings (WebIDL) component + * CVE-2026-8948 (bmo#2038803) + Same-origin policy bypass in the DOM: Networking component + * CVE-2026-8949 (bmo#1355639) + Integer overflow in the Widget: Win32 component + * CVE-2026-8950 (bmo#1965430) + Same-origin policy bypass in the Networking: HTTP component + * CVE-2026-8951 (bmo#2018513) + Spoofing issue in the Toolbar component in Firefox for Android + * CVE-2026-8952 (bmo#2021727) + Privilege escalation in the Application Update component + * CVE-2026-8953 (bmo#2029511) + Sandbox escape due to use-after-free in the Disability Access + APIs component + * CVE-2026-8954 (bmo#2030747) + Incorrect boundary conditions, integer overflow in the + Audio/Video component + * CVE-2026-8955 (bmo#2031064) + Privilege escalation in the DOM: Workers component + * CVE-2026-8956 (bmo#2032427) + Integer overflow in the Networking: JAR component + * CVE-2026-8957 (bmo#2033850) + Privilege escalation in the Enterprise Policies component + * CVE-2026-8958 (bmo#2034713) + Information disclosure, sandbox escape in the Security: + Process Sandboxing component + * CVE-2026-8959 (bmo#2034754) + Sandbox escape due to incorrect boundary conditions in the + Widget: Win32 component + * CVE-2026-8960 (bmo#1940116) + Spoofing issue in WebExtensions + * CVE-2026-8961 (bmo#1962625) + Spoofing issue in the Form Autofill component + * CVE-2026-8962 (bmo#2004804) + Mitigation bypass in the DOM: Security component + * CVE-2026-8963 (bmo#2021222) + Spoofing issue in the Web Speech component + * CVE-2026-8964 (bmo#2025170) + Spoofing issue in the Popup Blocker component + * CVE-2026-8965 (bmo#2025740) + Information disclosure in the DOM: Security component + * CVE-2026-8966 (bmo#2025849) + Information disclosure in the IP Protection component + * CVE-2026-8967 (bmo#2027173) + Information disclosure in the Graphics: WebGPU component + * CVE-2026-8968 (bmo#2030467) + Denial-of-service due to invalid pointer in the Audio/Video: + Web Codecs component + * CVE-2026-8969 (bmo#2031123) + Mitigation bypass in the DOM: Security component + * CVE-2026-8970 (bmo#2032174) + Privilege escalation in the Security component + * CVE-2026-8971 (bmo#2032604) + Same-origin policy bypass in the Networking: JAR component + * CVE-2026-8972 (bmo#2033275) + Privilege escalation in the WebRTC: Audio/Video component + * CVE-2026-8973 (bmo#1362365, bmo#1860538, bmo#1929005, bmo#1983353, + bmo#1998526, bmo#2023271, bmo#2023943, bmo#2024244, bmo#2024260, + bmo#2024443, bmo#2024665, bmo#2024774, bmo#2024916, bmo#2025346, + bmo#2025357, bmo#2025406, bmo#2025434, bmo#2025488, bmo#2025496, + bmo#2025942, bmo#2025947, bmo#2025968, bmo#2026279, bmo#2027159, + bmo#2027239, bmo#2027276, bmo#2027308, bmo#2027310, bmo#2027324, + bmo#2027329, bmo#2027363, bmo#2027381, bmo#2027382, bmo#2027383, + bmo#2028274, bmo#2028884, bmo#2029060, bmo#2029065, bmo#2029068, + bmo#2029281, bmo#2029293, bmo#2029297, bmo#2029303, bmo#2029439, + bmo#2029448, bmo#2029703, bmo#2029720, bmo#2029721, bmo#2029723, + bmo#2029770, bmo#2029771, bmo#2029782, bmo#2029818, bmo#2029885, + bmo#2030100, bmo#2030379, bmo#2030385, bmo#2030979, bmo#2031119, + bmo#2031122, bmo#2034119, bmo#2034791, bmo#2035209, bmo#2036666, + bmo#2037986) + Memory safety bugs fixed in Firefox 151 + * CVE-2026-8974 (bmo#1784128, bmo#1883230, bmo#1983677, bmo#2022390, + bmo#2023116, bmo#2023657, bmo#2024255, bmo#2024418, bmo#2024441, + bmo#2024447, bmo#2024966, bmo#2025412, bmo#2025467, bmo#2025940, + bmo#2025950, bmo#2025956, bmo#2026284, bmo#2027247, bmo#2027255, + bmo#2027288, bmo#2027306, bmo#2027322, bmo#2027332, bmo#2027333, + bmo#2028266, bmo#2028292, bmo#2028319, bmo#2028526, bmo#2028870, + bmo#2028876, bmo#2028882, bmo#2029062, bmo#2029309, bmo#2029414, + bmo#2029422, bmo#2029428, bmo#2029447, bmo#2029732, bmo#2029785, + bmo#2029793, bmo#2029813, bmo#2029899, bmo#2031028, bmo#2031457, + bmo#2032039, bmo#2033610, bmo#2033854, bmo#2034498, bmo#2034628, + bmo#2034978, bmo#2035966, bmo#2036668, bmo#2036905, bmo#2036930) + Memory safety bugs fixed in Firefox ESR 140.11 and Firefox 151 + * CVE-2026-8975 (bmo#1860195, bmo#2029325, bmo#2029429, + bmo#2029910, bmo#2035915, bmo#2038669, bmo#2038678) + Memory safety bugs fixed in Firefox ESR 115.36, Firefox ESR + 140.11 and Firefox 151 +- requires NSS 3.123.1 +- rebase big endian patches +- added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150) +- removed obsolete mozilla-bmo531915.patch + +------------------------------------------------------------------- Old: ---- firefox-150.0.2.source.tar.xz firefox-150.0.2.source.tar.xz.asc l10n-150.0.2.tar.xz mozilla-bmo531915.patch New: ---- firefox-151.0.1.source.tar.xz firefox-151.0.1.source.tar.xz.asc l10n-151.0.1.tar.xz mozilla-bmo2041150.patch ----------(Old B)---------- Old:- added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150) - removed obsolete mozilla-bmo531915.patch ----------(Old E)---------- ----------(New B)---------- New:- rebase big endian patches - added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150) - removed obsolete mozilla-bmo531915.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.031229322 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.039229653 +0200 @@ -28,9 +28,9 @@ # orig_suffix b3 # major 69 # mainver %%major.99 -%define major 150 -%define mainver %major.0.2 -%define orig_version 150.0.2 +%define major 151 +%define mainver %major.0.1 +%define orig_version 151.0.1 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -124,8 +124,8 @@ BuildRequires: libiw-devel BuildRequires: libproxy-devel BuildRequires: makeinfo -BuildRequires: mozilla-nspr-devel >= 4.38.2 -BuildRequires: mozilla-nss-devel >= 3.122.2 +BuildRequires: mozilla-nspr-devel >= 4.39 +BuildRequires: mozilla-nss-devel >= 3.123.1 BuildRequires: nasm >= 2.14 BuildRequires: nodejs >= 12.22.12 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 @@ -232,12 +232,12 @@ Patch14: mozilla-bmo849632.patch Patch17: mozilla-libavcodec58_91.patch Patch18: mozilla-silence-no-return-type.patch -Patch19: mozilla-bmo531915.patch Patch20: one_swizzle_to_rule_them_all.patch Patch21: svg-rendering.patch Patch24: mozilla-bmo1746799.patch Patch25: mozilla-sandbox-lto.patch -Patch27: mozilla-bmo2030493.patch +Patch26: mozilla-bmo2030493.patch +Patch27: mozilla-bmo2041150.patch # Firefox/browser Patch102: firefox-branded-icons.patch %endif ++++++ firefox-150.0.2.source.tar.xz -> firefox-151.0.1.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/firefox-150.0.2.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/firefox-151.0.1.source.tar.xz differ: char 15, line 1 ++++++ l10n-150.0.2.tar.xz -> l10n-151.0.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/l10n-150.0.2.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/l10n-151.0.1.tar.xz differ: char 8, line 1 ++++++ mozilla-bmo1504834-part1.patch ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.311240891 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.315241056 +0200 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 30360f7dae4c2a1046c3327d73580b29fb4ac32e +# Parent ed92e2fa6996864cd05177e2d4012c2aa867bf54 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 -@@ -156,17 +156,18 @@ static IntRect CalculateSurfaceBounds(co +@@ -162,17 +162,18 @@ static IntRect CalculateSurfaceBounds(co if (!sampledBounds.ToIntRect(&bounds)) { return surfaceBounds; } @@ -25,41 +25,6 @@ } // We should've initialized the data to be opaque already // On debug builds, verify that this is actually true. -diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h ---- a/gfx/2d/Types.h -+++ b/gfx/2d/Types.h -@@ -102,28 +102,21 @@ enum class SurfaceFormat : int8_t { - R10G10B10X2_UINT32, // 0b00RRRRRRRRRRGGGGGGGGGGBBBBBBBBBB - // 4 half-float (f16) components in RGBA order for HDR rendering, each is - // machine endian. - R16G16B16A16F, - - // This represents the unknown format. - UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>. - --// The following values are endian-independent synonyms. The _UINT32 suffix --// indicates that the name reflects the layout when viewed as a uint32_t --// value. --#if MOZ_LITTLE_ENDIAN() -+ // The following values are endian-independent synonyms. The _UINT32 suffix -+ // indicates that the name reflects the layout when viewed as a uint32_t -+ // value. - A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB - X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB --#elif MOZ_BIG_ENDIAN() -- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB -- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB --#else --# error "bad endianness" --#endif - - // The following values are OS and endian-independent synonyms. - // - // TODO(aosmond): When everything blocking bug 1581828 has been resolved, we - // can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms. - OS_RGBA = A8R8G8B8_UINT32, - OS_RGBX = X8R8G8B8_UINT32 - }; 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 ++++++ mozilla-bmo1746799.patch ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.327241551 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.335241883 +0200 @@ -11,13 +11,13 @@ --- a/third_party/rust/cubeb-pulse/.cargo-checksum.json +++ b/third_party/rust/cubeb-pulse/.cargo-checksum.json @@ -1,1 +1,1 @@ --{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"096d471309e88409ffdd17d4a3887302dca2b4382d55a2f2a39110b852338816","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"e44a2c4bebc079cfed9324 d23b1dfdfadd33d0f972f9778c4bed9f1d8ca025d0","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null} +-{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"269f6963e22baacad11b0956bd8e6d28d298a59982b5e3883777e127cd8a6f9d","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"fbee2bd3e1964efcf0bc3e c34ccf7da8974b726ac6b4d43f34e53c93343f4b48","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null} \ No newline at end of file -+{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"096d471309e88409ffdd17d4a3887302dca2b4382d55a2f2a39110b852338816","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"46cdbdb737e4ba115e8544 0b82bc247eb68841d037801f1a2f35139e1715bd6e","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null} ++{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"269f6963e22baacad11b0956bd8e6d28d298a59982b5e3883777e127cd8a6f9d","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"b4e5861c192412a580c58d 9042b717ccbd0ba81cf975c974ec72a9e762cd7ba9","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null} diff --git a/third_party/rust/cubeb-pulse/src/backend/stream.rs b/third_party/rust/cubeb-pulse/src/backend/stream.rs --- a/third_party/rust/cubeb-pulse/src/backend/stream.rs +++ b/third_party/rust/cubeb-pulse/src/backend/stream.rs -@@ -760,18 +760,18 @@ impl StreamOps for PulseStream<'_> { +@@ -777,18 +777,18 @@ impl StreamOps for PulseStream<'_> { _ => pulse::SinkFlags::empty(), } }; ++++++ mozilla-bmo531915.patch -> mozilla-bmo2041150.patch ++++++ --- /work/SRC/openSUSE:Factory/MozillaFirefox/mozilla-bmo531915.patch 2022-11-17 17:24:05.304933370 +0100 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/mozilla-bmo2041150.patch 2026-05-27 16:12:55.078942106 +0200 @@ -1,33 +1,41 @@ -# HG changeset patch -# User Wolfgang Rosenauer <[email protected]> -# Parent fa8a5832a374ccd7af5db927b992b5d9f15273ef +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ajrat Makhmutov <[email protected]> +Date: Wed, 21 May 2026 00:00:00 +0300 +Subject: [PATCH] Implement systemProxyDirect in the libproxy backend -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 +Thunderbird 151 added the readonly attribute systemProxyDirect to the +nsISystemProxySettings interface. The GIO, Windows and Android backends +were updated, but nsLibProxySettings.cpp (built with --enable-libproxy) +was not, so its vtable references an undefined +nsUnixSystemProxySettings::GetSystemProxyDirect and libxul fails to link: + + ld.lld: error: undefined hidden symbol: + nsUnixSystemProxySettings::GetSystemProxyDirect(bool*) + +libproxy is queried per-URI and has no cheap "no proxy at all" fast path, +so the getter conservatively reports false. +--- + thunderbird/toolkit/system/unixproxy/nsLibProxySettings.cpp | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp b/toolkit/system/unixproxy/nsLibProxySettings.cpp +index 3de1b7ce9b8..29bae455aea 100644 +--- a/toolkit/system/unixproxy/nsLibProxySettings.cpp ++++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp +@@ -111,6 +111,14 @@ nsUnixSystemProxySettings::GetSystemWPADSetting(bool* aSystemWPADSetting) { + return NS_OK; + } + ++NS_IMETHODIMP ++nsUnixSystemProxySettings::GetSystemProxyDirect(bool* aSystemProxyDirect) { ++ // libproxy is queried per-URI, so there is no cheap "no proxy at all" ++ // fast path; always let proxy resolution perform the per-URI query. ++ *aSystemProxyDirect = false; ++ return NS_OK; ++} ++ + NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) { + return do_AddRef(new nsUnixSystemProxySettings()).downcast<nsISupports>(); + } +-- +2.50.1 ++++++ mozilla-bmo849632.patch ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.371243370 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.375243535 +0200 @@ -6,21 +6,29 @@ So we swizzle the output of webgl after reading it from readpixels() Note: This does not fix all webGL sites, but is a step in the right direction -Index: firefox-115.0/gfx/gl/GLContext.h +Index: firefox-151.0.1/gfx/gl/GLContext.h =================================================================== ---- firefox-115.0.orig/gfx/gl/GLContext.h -+++ firefox-115.0/gfx/gl/GLContext.h -@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe +--- firefox-151.0.1.orig/gfx/gl/GLContext.h ++++ firefox-151.0.1/gfx/gl/GLContext.h +@@ -24,6 +24,7 @@ + # define MOZ_GL_DEBUG_BUILD 1 + #endif + ++#include "mozilla/EndianUtils.h" + #include "mozilla/IntegerRange.h" + #include "mozilla/RefPtr.h" + #include "mozilla/UniquePtr.h" +@@ -1621,6 +1622,13 @@ class GLContext : public GenericAtomicRe BEFORE_GL_CALL; mSymbols.fReadPixels(x, y, width, height, format, type, pixels); OnSyncCall(); -+#if MOZ_BIG_ENDIAN() -+ uint8_t* itr = (uint8_t*)pixels; -+ for (GLsizei i = 0; i < width * height; i++) { -+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1); -+ itr += 4; ++ if constexpr (std::endian::native == std::endian::big) { ++ uint8_t* itr = (uint8_t*)pixels; ++ for (GLsizei i = 0; i < width * height; i++) { ++ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1); ++ itr += 4; ++ } + } -+#endif AFTER_GL_CALL; mHeavyGLCallsSinceLastFlush = true; } ++++++ mozilla-silence-no-return-type.patch ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.419245352 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.427245684 +0200 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent 12a274a85f8317615a937830dbe1a4675fdca2fb +# Parent 0ba4feb95e7f4c365dcb637fef2d16969d5231a9 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 @@ -298,7 +298,7 @@ diff --git a/js/src/irregexp/imported/regexp-parser.cc b/js/src/irregexp/imported/regexp-parser.cc --- a/js/src/irregexp/imported/regexp-parser.cc +++ b/js/src/irregexp/imported/regexp-parser.cc -@@ -2795,16 +2795,17 @@ bool MayContainStrings(ClassSetOperandTy +@@ -2810,16 +2810,17 @@ bool MayContainStrings(ClassSetOperandTy return false; case ClassSetOperandType::kCharacterClassEscape: case ClassSetOperandType::kClassStringDisjunction: @@ -313,7 +313,7 @@ } // namespace template <class CharT> - void RegExpParserImpl<CharT>::AddMaybeSimpleCaseFoldedRange( + void ParserImpl<CharT>::AddMaybeSimpleCaseFoldedRange( ZoneList<CharacterRange>* ranges, CharacterRange new_range) { DCHECK(unicode_sets()); diff --git a/third_party/libwebrtc/api/adaptation/resource.cc b/third_party/libwebrtc/api/adaptation/resource.cc @@ -340,7 +340,7 @@ diff --git a/third_party/libwebrtc/api/rtp_parameters.cc b/third_party/libwebrtc/api/rtp_parameters.cc --- a/third_party/libwebrtc/api/rtp_parameters.cc +++ b/third_party/libwebrtc/api/rtp_parameters.cc -@@ -75,16 +75,17 @@ const char* DegradationPreferenceToStrin +@@ -74,16 +74,17 @@ const char* DegradationPreferenceToStrin case DegradationPreference::MAINTAIN_FRAMERATE: return "maintain-framerate"; case DegradationPreference::MAINTAIN_RESOLUTION: @@ -519,7 +519,7 @@ diff --git a/third_party/libwebrtc/call/rtp_payload_params.cc b/third_party/libwebrtc/call/rtp_payload_params.cc --- a/third_party/libwebrtc/call/rtp_payload_params.cc +++ b/third_party/libwebrtc/call/rtp_payload_params.cc -@@ -421,17 +421,18 @@ std::optional<FrameDependencyStructure> +@@ -420,17 +420,18 @@ std::optional<FrameDependencyStructure> case VideoCodecType::kVideoCodecH264: return MinimalisticStructure( /*num_spatial_layers=*/1, @@ -644,7 +644,7 @@ diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc --- a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc +++ b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc -@@ -113,16 +113,17 @@ GainControl::Mode Agc1ConfigModeToInterf +@@ -112,16 +112,17 @@ GainControl::Mode Agc1ConfigModeToInterf case Agc1Config::kAdaptiveAnalog: return GainControl::kAdaptiveAnalog; case Agc1Config::kAdaptiveDigital: @@ -662,7 +662,7 @@ // Maximum lengths that frame of samples being passed from the render side to // the capture side can have (does not apply to AEC3). -@@ -180,17 +181,17 @@ int AudioFormatValidityToErrorCode(Audio +@@ -179,17 +180,17 @@ int AudioFormatValidityToErrorCode(Audio case AudioFormatValidity::kValidAndSupported: return AudioProcessing::kNoError; case AudioFormatValidity::kValidButUnsupportedSampleRate: // fall-through @@ -681,7 +681,7 @@ const StreamConfig& input_config, const StreamConfig& output_config) { AudioFormatValidity input_validity = ValidateAudioFormat(input_config); -@@ -2089,16 +2090,17 @@ void AudioProcessingImpl::InitializeNois +@@ -1995,16 +1996,17 @@ void AudioProcessingImpl::InitializeNois case NoiseSuppresionConfig::kModerate: return NsConfig::SuppressionLevel::k12dB; case NoiseSuppresionConfig::kHigh: @@ -702,7 +702,7 @@ diff --git a/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc b/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc --- a/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc +++ b/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc -@@ -77,16 +77,18 @@ BandwidthLimitedCause GetBandwidthLimite +@@ -80,16 +80,18 @@ BandwidthLimitedCause GetBandwidthLimite // Probes may not be sent in this state. return BandwidthLimitedCause::kLossLimitedBwe; case LossBasedState::kIncreasing: @@ -724,28 +724,28 @@ diff --git a/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h b/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h --- a/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h +++ b/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h -@@ -70,16 +70,17 @@ class GoogCcScreamNetworkController : pu - case Mode::kGoogCc: - return false; +@@ -58,16 +58,17 @@ class GoogCcScreamNetworkController : pu + + bool SupportsEcnAdaptation() const override { + switch (mode_) { case Mode::kGoogCcWithEct1: return !ecn_ce_seen_; - case Mode::kScreamAlways: case Mode::kScreamAfterCe: return true; } + return false; } - // Returns "ScreamV2" or "GoogCC" depending on currently used network - // controller. - std::string_view CurrentControllerType() const; private: - enum class Mode { kGoogCc, kScreamAlways, kScreamAfterCe, kGoogCcWithEct1 }; + NetworkControlUpdate MaybeRunOnAllControllers( + absl::AnyInvocable<NetworkControlUpdate(NetworkControllerInterface&)> + update); + Environment env_; diff --git a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc --- a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc +++ b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc -@@ -49,16 +49,17 @@ ScreenCastPortal::CaptureSourceType Scre +@@ -51,16 +51,17 @@ ScreenCastPortal::CaptureSourceType Scre switch (type) { case CaptureType::kScreen: return ScreenCastPortal::CaptureSourceType::kScreen; @@ -757,12 +757,12 @@ + RTC_CHECK_NOTREACHED(); } - ScreenCastPortal::ScreenCastPortal(CaptureType type, PortalNotifier* notifier) + ScreenCastPortal::ScreenCastPortal(CaptureType type, + PortalNotifier* notifier, + bool prefer_cursor_embedded) : ScreenCastPortal(type, notifier, OnProxyRequested, - OnSourcesRequestResponseSignal, - this) {} diff --git a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc --- a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc +++ b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc @@ -869,7 +869,7 @@ diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc --- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc +++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc -@@ -172,16 +172,17 @@ PacketizationFormat GetPacketizationForm +@@ -173,16 +173,17 @@ PacketizationFormat GetPacketizationForm return PacketizationFormat::kVP9; case kVideoCodecAV1: return PacketizationFormat::kAV1; @@ -1106,6 +1106,35 @@ OnExpired on_expired, UnregisterHandler unregister_handler, std::unique_ptr<Timeout> timeout, +diff --git a/third_party/libwebrtc/rtc_base/network_monitor.cc b/third_party/libwebrtc/rtc_base/network_monitor.cc +--- a/third_party/libwebrtc/rtc_base/network_monitor.cc ++++ b/third_party/libwebrtc/rtc_base/network_monitor.cc +@@ -16,23 +16,25 @@ namespace webrtc { + + absl::string_view NetworkPreferenceToString(NetworkPreference preference) { + switch (preference) { + case NetworkPreference::NEUTRAL: + return "NEUTRAL"; + case NetworkPreference::NOT_PREFERRED: + return "NOT_PREFERRED"; + } ++ return "NEUTRAL"; //unreached + } + + absl::string_view NetworkSliceToString(NetworkSlice network_slice) { + switch (network_slice) { + case NetworkSlice::NO_SLICE: + return "NO_SLICE"; + case NetworkSlice::UNIFIED_COMMUNICATIONS: + return "UNIFIED_COMMUNICATIONS"; + } ++ return "NO_SLICE"; //unreached + } + + NetworkMonitorInterface::NetworkMonitorInterface() {} + NetworkMonitorInterface::~NetworkMonitorInterface() {} + + } // namespace webrtc diff --git a/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc b/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc --- a/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc +++ b/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc ++++++ one_swizzle_to_rule_them_all.patch ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.467247335 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.471247501 +0200 @@ -22,12 +22,12 @@ } mDT->Flush(); -+#if MOZ_BIG_ENDIAN() -+ // One swizzle to rule them all. -+ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, -+ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, -+ mDT->GetSize()); -+#endif ++ if constexpr (std::endian::native == std::endian::big) { ++ // One swizzle to rule them all. ++ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, ++ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, ++ mDT->GetSize()); ++ } + // Done with the DT. Hand it back to the widget and clear out any trace of it. mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion); ++++++ svg-rendering.patch ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.495248492 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.503248823 +0200 @@ -13,16 +13,16 @@ return NS_ERROR_OUT_OF_MEMORY; } -+#if MOZ_BIG_ENDIAN() -+ if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) { -+ // SKIA is lying about what format it returns on big endian -+ for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) { -+ uint32_t *vals = (uint32_t*)(mRawSurface->GetData()); -+ uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF ); -+ vals[ii] = (val << 16) | (val >> 16); -+ } ++ if constexpr (std::endian::native == std::endian::big) { ++ if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) { ++ // SKIA is lying about what format it returns on big endian ++ for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) { ++ uint32_t *vals = (uint32_t*)(mRawSurface->GetData()); ++ uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF ); ++ vals[ii] = (val << 16) | (val >> 16); ++ } ++ } + } -+#endif + if (!canUseDataSurface) { // We used an offscreen surface, which is an "optimized" surface from ++++++ tar_stamps ++++++ --- /var/tmp/diff_new_pack.0ddvPo/_old 2026-05-27 16:13:02.527249815 +0200 +++ /var/tmp/diff_new_pack.0ddvPo/_new 2026-05-27 16:13:02.531249980 +0200 @@ -1,11 +1,11 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="150.0.2" +VERSION="151.0.1" VERSION_SUFFIX="" -PREV_VERSION="150.0.1" +PREV_VERSION="151.0" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" -RELEASE_TAG="f886be72b68e40ef310bed24350a841eb9ee07e9" -RELEASE_TIMESTAMP="20260506140522" +RELEASE_TAG="08b6bd8d41197610421c9afa119fdf1cb8b8153e" +RELEASE_TIMESTAMP="20260520211922"
