98a906a372
* IMAP could crash when reading cached messages * Enabling "Show Folder Size" on Maildir profile could render Thunderbird unusable * Messages corrupted by folder compaction were only fixed by user intervention * Reading a message from past the end of an mbox file did not cause an error * View -> Folders had duplicate F access keys * Add-ons adding columns to the message list could fail and cause display issue * "Empty trash on exit" and "Expunge inbox on exit" did not always work * Selecting a display option in View -> Tasks did not apply in the Task interface MFSA 2024-68 (bsc#1233695) * CVE-2024-11691 (bmo#1914707, bmo#1924184) Memory corruption in Apple GPU drivers * CVE-2024-11692 (bmo#1909535) Select list elements could be shown over another site * CVE-2024-11693 (bmo#1921458) Download Protections were bypassed by .library-ms files on Windows * CVE-2024-11694 (bmo#1924167) CSP Bypass and XSS Exposure via Web Compatibility Shims * CVE-2024-11695 (bmo#1925496) URL Bar Spoofing via Manipulated Punycode and Whitespace Characters * CVE-2024-11696 (bmo#1929600) Unhandled Exception in Add-on Signature Verification * CVE-2024-11697 (bmo#1842187) Improper Keypress Handling in Executable File Confirmation Dialog OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=788
95 lines
4.3 KiB
Diff
95 lines
4.3 KiB
Diff
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;
|