diff --git a/backport-CVE-2022-30293-CVE-2022-30294.patch b/backport-CVE-2022-30293-CVE-2022-30294.patch deleted file mode 100644 index 621d17c4763033e864cb7f1f7e2628be0e2f2d7c..0000000000000000000000000000000000000000 --- a/backport-CVE-2022-30293-CVE-2022-30294.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Miguel Gomez -Date: 2022-03-22 -Subject: [PATCH] backport-CVE-2022-30293-CVE-2022-30294.patch - Ensure that proxies are invalidated before destroying them. - https://bugs.webkit.org/show_bug.cgi?id=237187 - -Reference:https://bugs.webkit.org/attachment.cgi?id=455361&action=prettypatch - ---- - .../CoordinatedGraphicsScene.cpp | 26 ++++++++++++++++--- - 1 file changed, 22 insertions(+), 4 deletions(-) - -diff --git a/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp b/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp -index cb276223..372021a6 100644 ---- a/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp -+++ b/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp -@@ -230,10 +230,11 @@ void CoordinatedGraphicsScene::updateSceneState() - }; - Vector imageBacking; - } layersByBacking; -+ HashSet> replacedProxiesToInvalidate; - - // Access the scene state and perform state update for each layer. - m_nicosia.scene->accessState( -- [this, &layersByBacking](Nicosia::Scene::State& state) -+ [this, &layersByBacking, &replacedProxiesToInvalidate](Nicosia::Scene::State& state) - { - // FIXME: try to minimize the amount of work in case the Scene::State object - // didn't change (i.e. no layer flush was done), but don't forget to properly -@@ -250,12 +251,24 @@ void CoordinatedGraphicsScene::updateSceneState() - } - } - -- // Gather all the to-be-removed layers so that composition-side state -- // can be properly purged after the current state's set of layers is adopted. - HashSet> removedLayers; - for (auto& layer : m_nicosia.state.layers) { -+ // Gather all the to-be-removed layers so that composition-side state -+ // can be properly purged after the current state's set of layers is adopted. - if (!state.layers.contains(layer)) - removedLayers.add(layer); -+ else { -+ // Store references to all the proxies that are being used by the layers that are kept in the tree. -+ // When adopting the new state, the existent proxies may be replaced or detached from their layers, causing the -+ // reference to be lost without having a chance to invalidate them. After the call to commitState, we will -+ // invalidate all the proxies that are not being used anymore. -+ layer->accessCommitted( -+ [&replacedProxiesToInvalidate](const Nicosia::CompositionLayer::LayerState& committed) -+ { -+ if (committed.contentLayer) -+ replacedProxiesToInvalidate.add(Ref { contentLayerImpl(*committed.contentLayer).proxy() }); -+ }); -+ } - } - - m_nicosia.state = state; -@@ -270,7 +283,7 @@ void CoordinatedGraphicsScene::updateSceneState() - for (auto& compositionLayer : m_nicosia.state.layers) { - auto& layer = texmapLayer(*compositionLayer); - compositionLayer->commitState( -- [&layer, &layersByBacking] -+ [&layer, &layersByBacking, &replacedProxiesToInvalidate] - (const Nicosia::CompositionLayer::LayerState& layerState) - { - if (layerState.delta.positionChanged) -@@ -346,6 +359,7 @@ void CoordinatedGraphicsScene::updateSceneState() - auto& impl = contentLayerImpl(*layerState.contentLayer); - layersByBacking.contentLayer.append( - { std::ref(layer), std::ref(impl.proxy()), layerState.delta.contentLayerChanged }); -+ replacedProxiesToInvalidate.remove(Ref { impl.proxy() }); - } else if (layerState.imageBacking) { - auto& impl = imageBackingImpl(*layerState.imageBacking); - layersByBacking.imageBacking.append( -@@ -407,6 +421,10 @@ void CoordinatedGraphicsScene::updateSceneState() - - for (auto& proxy : proxiesForSwapping) - proxy->swapBuffer(); -+ -+ for (auto& proxy : replacedProxiesToInvalidate) -+ proxy->invalidate(); -+ replacedProxiesToInvalidate = { }; - } - - void CoordinatedGraphicsScene::ensureRootLayer() --- -2.33.0 - diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index 564277c09d8451011a4925ba433ce6f0acf22c3a..bc78f143b7cf99fe12d6ff943fe9ca72fb2f619e 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -6,18 +6,20 @@ %bcond_without docs %endif - #Basic Information Name: webkit2gtk3 -Version: 2.32.1 -Release: 3 +Version: 2.36.3 +Release: 1 Summary: GTK+ Web content engine library License: LGPLv2 -URL: http://www.webkitgtk.org/ -Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz +URL: https://www.webkitgtk.org/ +Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc -Patch6000: backport-CVE-2022-30293-CVE-2022-30294.patch +#Patch0: aarch64-page-size.patch + +#Patch6000: backport-CVE-2021-42762.patch +#Patch6001: backport-CVE-2022-30293-CVE-2022-30294.patch #Dependency BuildRequires: at-spi2-core-devel bison cairo-devel cmake enchant2-devel @@ -30,14 +32,16 @@ BuildRequires: gtk3-devel gtk-doc geoclue2-devel libjpeg-turbo-devel BuildRequires: harfbuzz-devel hyphen-devel bubblewrap xdg-dbus-proxy BuildRequires: libatomic libicu-devel libjpeg-devel libnotify-devel BuildRequires: libpng-devel libsecret-devel libsoup-devel libwebp-devel -BuildRequires: libxslt-devel libXt-devel libwayland-client-devel +BuildRequires: libxslt-devel libXt-devel libwayland-client-devel wayland-protocols-devel BuildRequires: libwayland-egl-devel libwayland-server-devel openjpeg2-devel BuildRequires: mesa-libEGL-devel mesa-libGL-devel libglvnd-devel BuildRequires: pcre-devel perl-File-Copy-Recursive perl-JSON-PP perl-Switch BuildRequires: python3 ruby rubygems sqlite-devel upower-devel woff2-devel pkgconfig(libsystemd) +BuildRequires: perl lcms2-devel libgcrypt-devel libtasn1-devel wayland-devel +#BuildRequires: pkgconfig(manette-0.2) Requires: geoclue2 bubblewrap xdg-dbus-proxy Requires: webkit2gtk3-jsc = %{version}-%{release} -Recommends: xdg-desktop-portal-gtk +Recommends: xdg-desktop-portal-gtk gstreamer1-plugins-bad-free gstreamer1-plugins-good Provides: bundled(angle) Provides: bundled(xdgmime) @@ -121,6 +125,7 @@ pushd %{_target_platform} -DENABLE_GTKDOC=ON \ %endif -DENABLE_MINIBROWSER=ON \ + -DUSE_SOUP2=ON \ -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ -DENABLE_GAMEPAD=OFF \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \ @@ -187,6 +192,7 @@ done %files jsc-devel %{_libexecdir}/webkit2gtk-4.0/jsc %dir %{_includedir}/webkitgtk-4.0 +%{_includedir}/webkitgtk-4.0/jsc/ %{_includedir}/webkitgtk-4.0/JavaScriptCore/ %{_libdir}/libjavascriptcoregtk-4.0.so %{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc @@ -203,9 +209,21 @@ done %endif %changelog -* Mon Jun 06 2022 zhanzhimin - 2.32.1-3 +* Mon Jun 13 2022 lin zhang 2.36.3-1 +- Update to 2.36.3 + +* Fri Jun 10 2022 zhujunhao - 2.32.4-4 +- add wayland-porotocols-devel buildrequires + +* Tue Jun 07 2022 houjinchang - 2.32.4-3 - fix CVE-2022-30293 and CVE-2022-30294 +* Thu Nov 04 2021 liuyumeng - 2.32.4-2 +- fix CVE-2021-42762 + +* Fri Oct 22 2021 zhanzhimin - 2.32.4-1 +- upgrade to 2.32.4 + * Thu Jul 29 2021 wangkerong - 2.32.1-2 - change xdg-desktop-protal-gts dependences @@ -250,4 +268,3 @@ done * Wed Sep 18 2019 openEuler Buildteam - 2.22.2-1 - Package init - diff --git a/webkit2gtk3.yaml b/webkit2gtk3.yaml index 153813fd8f9f5a93f9a62056655d0bc3bb22edc7..2c3e719c1065810589601b9baf7f5220c0b6e80c 100644 --- a/webkit2gtk3.yaml +++ b/webkit2gtk3.yaml @@ -1,5 +1,5 @@ version_control: NA src_repo: tag_prefix: -seperator: -url: https://www.webkitgtk.org/releases/ \ No newline at end of file +separator: +url: https://www.webkitgtk.org/releases/ diff --git a/webkitgtk-2.32.1.tar.xz.asc b/webkitgtk-2.32.1.tar.xz.asc deleted file mode 100644 index b2ce79ced239de701144b56ee7a078c46ad84f1c..0000000000000000000000000000000000000000 Binary files a/webkitgtk-2.32.1.tar.xz.asc and /dev/null differ diff --git a/webkitgtk-2.32.1.tar.xz b/webkitgtk-2.36.3.tar.xz similarity index 66% rename from webkitgtk-2.32.1.tar.xz rename to webkitgtk-2.36.3.tar.xz index b2ce79ced239de701144b56ee7a078c46ad84f1c..27cb8da7782c4badfed4ab8794113dc0a20e15aa 100644 Binary files a/webkitgtk-2.32.1.tar.xz and b/webkitgtk-2.36.3.tar.xz differ diff --git a/webkitgtk-2.36.3.tar.xz.asc b/webkitgtk-2.36.3.tar.xz.asc new file mode 100644 index 0000000000000000000000000000000000000000..6dc431e135002256068f0e5476689dbc6fc80e04 --- /dev/null +++ b/webkitgtk-2.36.3.tar.xz.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQRao7wzT9fjNp58d7KRxVnb5MkSOwUCYpHpvAAKCRCRxVnb5MkS +O27PAJ9ptAQKzmWX16VWJ1yyn/CaHwKJ8QCfV5gesH/nXmV7IsZn5vv+jDixo58= +=AWMS +-----END PGP SIGNATURE-----