Projects
Mega:23.09
webkit2gtk3
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
_service:tar_scm:webkit2gtk3.spec
Changed
@@ -14,7 +14,7 @@ Name: webkit2gtk3 Version: 2.38.2 -Release: 6 +Release: 8 Summary: GTK web content engine library License: LGPLv2 URL: https://www.webkitgtk.org/ @@ -32,6 +32,7 @@ Patch6001: backport-CVE-2023-32373.patch Patch6002: backport-CVE-2023-32409.patch Patch6003: backport-Fix-build-with-Ruby-3.2.patch +Patch6004: backport-CVE-2023-39928.patch #Dependency BuildRequires: bison @@ -290,7 +291,13 @@ %endif %changelog -* Thurs Aug 10 2023 xiasenlin <xiasenlin1@huawei.com> - 2.38.2-6 +* Wed Oct 11 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-8 +- fix check_install error + +* Sun Oct 08 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-7 +- fix CVE-2023-39928 + +* Thu Aug 10 2023 xiasenlin <xiasenlin1@huawei.com> - 2.38.2-6 - split webkit2gtk3 from webkit2gtk3 * Mon May 29 2023 zhangpan <zhangpan103@h-partners.com> - 2.38.2-4
View file
_service:tar_scm:webkit2gtk4_1.spec
Changed
@@ -14,7 +14,7 @@ Name: webkit2gtk4.1 Version: 2.38.2 -Release: 6 +Release: 8 Summary: GTK web content engine library License: LGPLv2 URL: https://www.webkitgtk.org/ @@ -32,6 +32,7 @@ Patch6001: backport-CVE-2023-32373.patch Patch6002: backport-CVE-2023-32409.patch Patch6003: backport-Fix-build-with-Ruby-3.2.patch +Patch6004: backport-CVE-2023-39928.patch #Dependency BuildRequires: bison @@ -99,7 +100,7 @@ BuildRequires: pkgconfig(wpebackend-fdo-1.0) BuildRequires: pkgconfig(xt) -Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release} +Requires: javascriptcoregtk4.1%{?_isa} = %{version}-%{release} Requires: bubblewrap Requires: xdg-dbus-proxy Recommends: geoclue2 @@ -259,7 +260,13 @@ %endif %changelog -* Thurs Aug 10 2023 xiasenlin <xiasenlin1@huawei.com> - 2.38.2-6 +* Wed Oct 11 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-8 +- fix check_install error + +* Sun Oct 08 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-7 +- fix CVE-2023-39928 + +* Thu Aug 10 2023 xiasenlin <xiasenlin1@huawei.com> - 2.38.2-6 - split webkit2gtk4.1 from webkit2gtk3 * Tue Aug 08 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-5
View file
_service:tar_scm:webkit2gtk5_0.spec
Changed
@@ -14,7 +14,7 @@ Name: webkit2gtk5.0 Version: 2.38.2 -Release: 6 +Release: 8 Summary: GTK web content engine library License: LGPLv2 URL: https://www.webkitgtk.org/ @@ -32,6 +32,7 @@ Patch6001: backport-CVE-2023-32373.patch Patch6002: backport-CVE-2023-32409.patch Patch6003: backport-Fix-build-with-Ruby-3.2.patch +Patch6004: backport-CVE-2023-39928.patch #Dependency BuildRequires: bison @@ -99,7 +100,7 @@ BuildRequires: pkgconfig(wpebackend-fdo-1.0) BuildRequires: pkgconfig(xt) -Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release} +Requires: javascriptcoregtk5.0%{?_isa} = %{version}-%{release} Requires: bubblewrap Requires: xdg-dbus-proxy Recommends: geoclue2 @@ -259,7 +260,13 @@ %endif %changelog -* Thurs Aug 10 2023 xiasenlin <xiasenlin1@huawei.com> - 2.38.2-6 +* Wed Oct 11 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-8 +- fix check_install error + +* Sun Oct 08 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-7 +- fix CVE-2023-39928 + +* Thu Aug 10 2023 xiasenlin <xiasenlin1@huawei.com> - 2.38.2-6 - split webkit2gtk5.0 from webkit2gtk3 * Tue Aug 08 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.38.2-5
View file
_service:tar_scm:backport-CVE-2023-39928.patch
Added
@@ -0,0 +1,511 @@ +From 37bc7427407685a224044ddc3df4b81c41d6fd38 Mon Sep 17 00:00:00 2001 +From: Philippe Normand <philn@igalia.com> +Date: Mon, 28 Aug 2023 01:34:28 -0700 +Subject: PATCH GStreamer Prevent a crash when fetching data on stopped + MediaRecorder https://bugs.webkit.org/show_bug.cgi?id=260649 + rdar://problem/114370120 + +Reviewed by Xabier Rodriguez-Calvar. + +The backend (GStreamer transcoder) is now clearly separated from the MediaRecorderPrivate, so that +fetchData() can create a weak pointer to be used from the main thread. If the backend was destroyed +in-flight no unsafe memory access is performed. + +Test: http/wpt/mediarecorder/MediaRecorder-start-stop-crash.html +Canonical link: https://commits.webkit.org/267345@main +--- + .../graphics/gstreamer/GRefPtrGStreamer.cpp | 52 +++++++ + .../graphics/gstreamer/GRefPtrGStreamer.h | 15 ++ + .../MediaRecorderPrivateGStreamer.cpp | 140 ++++++++++++------ + .../MediaRecorderPrivateGStreamer.h | 57 +++++-- + 4 files changed, 206 insertions(+), 62 deletions(-) + +diff --git a/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp +index cc0afa79..822f5aaa 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp +@@ -34,6 +34,10 @@ + #undef GST_USE_UNSTABLE_API + #endif + ++#if USE(GSTREAMER_TRANSCODER) ++#include <gst/transcoder/gsttranscoder.h> ++#endif ++ + namespace WTF { + + template<> GRefPtr<GstMiniObject> adoptGRef(GstMiniObject* ptr) +@@ -754,6 +758,54 @@ template<> void derefGPtr<GstRTPHeaderExtension>(GstRTPHeaderExtension* ptr) + + #endif // USE(GSTREAMER_WEBRTC) + ++#if USE(GSTREAMER_TRANSCODER) ++ ++template<> ++GRefPtr<GstTranscoder> adoptGRef(GstTranscoder* ptr) ++{ ++ return GRefPtr<GstTranscoder>(ptr, GRefPtrAdopt); ++} ++ ++template<> ++GstTranscoder* refGPtr<GstTranscoder>(GstTranscoder* ptr) ++{ ++ if (ptr) ++ gst_object_ref(GST_OBJECT_CAST(ptr)); ++ ++ return ptr; ++} ++ ++template<> ++void derefGPtr<GstTranscoder>(GstTranscoder* ptr) ++{ ++ if (ptr) ++ gst_object_unref(ptr); ++} ++ ++template<> ++GRefPtr<GstTranscoderSignalAdapter> adoptGRef(GstTranscoderSignalAdapter* ptr) ++{ ++ return GRefPtr<GstTranscoderSignalAdapter>(ptr, GRefPtrAdopt); ++} ++ ++template<> ++GstTranscoderSignalAdapter* refGPtr<GstTranscoderSignalAdapter>(GstTranscoderSignalAdapter* ptr) ++{ ++ if (ptr) ++ g_object_ref(G_OBJECT(ptr)); ++ ++ return ptr; ++} ++ ++template<> ++void derefGPtr<GstTranscoderSignalAdapter>(GstTranscoderSignalAdapter* ptr) ++{ ++ if (ptr) ++ g_object_unref(ptr); ++} ++ ++#endif // USE(GSTREAMER_TRANSCODER) ++ + } // namespace WTF + + #endif // USE(GSTREAMER) +diff --git a/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h b/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h +index 57c93254..5ddbeec1 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h ++++ b/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h +@@ -45,6 +45,11 @@ typedef struct _GstWebRTCRTPTransceiver GstWebRTCRTPTransceiver; + typedef struct _GstRTPHeaderExtension GstRTPHeaderExtension; + #endif + ++#if USE(GSTREAMER_TRANSCODER) ++typedef struct _GstTranscoder GstTranscoder; ++typedef struct _GstTranscoderSignalAdapter GstTranscoderSignalAdapter; ++#endif ++ + namespace WTF { + + template<> GRefPtr<GstPlugin> adoptGRef(GstPlugin* ptr); +@@ -197,6 +202,16 @@ template<> void derefGPtr<GstRTPHeaderExtension>(GstRTPHeaderExtension*); + + #endif + ++#if USE(GSTREAMER_TRANSCODER) ++template<> GRefPtr<GstTranscoder> adoptGRef(GstTranscoder*); ++template<> GstTranscoder* refGPtr<GstTranscoder>(GstTranscoder*); ++template<> void derefGPtr<GstTranscoder>(GstTranscoder*); ++ ++template<> GRefPtr<GstTranscoderSignalAdapter> adoptGRef(GstTranscoderSignalAdapter*); ++template<> GstTranscoderSignalAdapter* refGPtr<GstTranscoderSignalAdapter>(GstTranscoderSignalAdapter*); ++template<> void derefGPtr<GstTranscoderSignalAdapter>(GstTranscoderSignalAdapter*); ++#endif // USE(GSTREAMER_TRANSCODER) ++ + } // namespace WTF + + #endif // USE(GSTREAMER) +diff --git a/Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp b/Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp +index 835e357b..968eee75 100644 +--- a/Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp ++++ b/Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp +@@ -30,6 +30,7 @@ + #include "MediaRecorderPrivateOptions.h" + #include "MediaStreamPrivate.h" + #include <gst/app/gstappsink.h> ++#include <gst/transcoder/gsttranscoder.h> + #include <wtf/Scope.h> + + namespace WebCore { +@@ -46,21 +47,73 @@ std::unique_ptr<MediaRecorderPrivateGStreamer> MediaRecorderPrivateGStreamer::cr + GST_DEBUG_CATEGORY_INIT(webkit_media_recorder_debug, "webkitmediarecorder", 0, "WebKit MediaStream recorder"); + }); + +- auto recorder = makeUnique<MediaRecorderPrivateGStreamer>(stream, options); ++ auto recorder = MediaRecorderPrivateBackend::create(stream, options); + if (!recorder->preparePipeline()) + return nullptr; + +- return recorder; ++ return makeUnique<MediaRecorderPrivateGStreamer>(recorder.releaseNonNull()); + } + +-MediaRecorderPrivateGStreamer::MediaRecorderPrivateGStreamer(MediaStreamPrivate& stream, const MediaRecorderPrivateOptions& options) ++MediaRecorderPrivateGStreamer::MediaRecorderPrivateGStreamer(Ref<MediaRecorderPrivateBackend>&& recorder) ++ : m_recorder(WTFMove(recorder)) ++{ ++ m_recorder->setSelectTracksCallback(this(auto selectedTracks) { ++ if (selectedTracks.audioTrack) { ++ setAudioSource(&selectedTracks.audioTrack->source()); ++ checkTrackState(*selectedTracks.audioTrack); ++ } ++ if (selectedTracks.videoTrack) { ++ setVideoSource(&selectedTracks.videoTrack->source()); ++ checkTrackState(*selectedTracks.videoTrack); ++ } ++ }); ++} ++ ++void MediaRecorderPrivateGStreamer::startRecording(StartRecordingCallback&& callback) ++{ ++ m_recorder->startRecording(WTFMove(callback)); ++} ++ ++void MediaRecorderPrivateGStreamer::stopRecording(CompletionHandler<void()>&& completionHandler) ++{ ++ m_recorder->stopRecording(WTFMove(completionHandler)); ++} ++ ++void MediaRecorderPrivateGStreamer::fetchData(FetchDataCallback&& completionHandler) ++{ ++ m_recorder->fetchData(WTFMove(completionHandler)); ++} ++ ++void MediaRecorderPrivateGStreamer::pauseRecording(CompletionHandler<void()>&& completionHandler) ++{ ++ m_recorder->pauseRecording(WTFMove(completionHandler)); ++} ++ ++void MediaRecorderPrivateGStreamer::resumeRecording(CompletionHandler<void()>&& completionHandler) ++{ ++ m_recorder->resumeRecording(WTFMove(completionHandler)); ++} ++ ++const String& MediaRecorderPrivateGStreamer::mimeType() const ++{ ++ return m_recorder->mimeType(); ++} ++ ++bool MediaRecorderPrivateGStreamer::isTypeSupported(const ContentType& contentType) ++{ ++ auto& scanner = GStreamerRegistryScanner::singleton();
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="url">git@gitee.com:src-openeuler/webkit2gtk3.git</param> <param name="scm">git</param> - <param name="revision">openEuler-23.09</param> + <param name="revision">master</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2