[packages/qt5-qtwebengine] upstream fixes adding support for webauthn; rel 4
atler
atler at pld-linux.org
Wed Aug 5 00:15:43 CEST 2020
commit d10c1265e3510f07e10852b51fc647421688a090
Author: Jan Palus <atler at pld-linux.org>
Date: Wed Aug 5 00:12:56 2020 +0200
upstream fixes adding support for webauthn; rel 4
see https://bugreports.qt.io/browse/QTBUG-54720
qt5-qtwebengine.spec | 8 +--
webauthn.patch | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 142 insertions(+), 3 deletions(-)
---
diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec
index 5e06e7f..4ed9b3f 100644
--- a/qt5-qtwebengine.spec
+++ b/qt5-qtwebengine.spec
@@ -8,13 +8,14 @@ Summary: The Qt5 WebEngine library
Summary(pl.UTF-8): Biblioteka Qt5 WebEngine
Name: qt5-%{orgname}
Version: 5.15.0
-Release: 3
+Release: 4
License: LGPL v3 or GPL v2+ or commercial
Group: X11/Libraries
Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
# Source0-md5: 738478b9409f8615ca0f63738b73bbae
Patch0: x32.patch
-Patch1: icu67.patch
+Patch1: webauthn.patch
+Patch2: icu67.patch
URL: http://www.qt.io/
BuildRequires: Mesa-khrplatform-devel
BuildRequires: Qt5Core-devel >= %{version}
@@ -224,8 +225,9 @@ Biblioteka Qt5 Pdf - pliki programistyczne.
%ifarch x32
%patch0 -p1
%endif
+%patch1 -p1
cd ./src/3rdparty/chromium
-%patch1 -p2
+%patch2 -p2
%build
%ifarch x32
diff --git a/webauthn.patch b/webauthn.patch
new file mode 100644
index 0000000..3d597ba
--- /dev/null
+++ b/webauthn.patch
@@ -0,0 +1,137 @@
+From d61a4348c475ab6867334ef3ab4b5709cae15bb2 Mon Sep 17 00:00:00 2001
+From: Tamas Zakor <ztamas at inf.u-szeged.hu>
+Date: Wed, 15 Jul 2020 15:58:44 +0200
+Subject: [PATCH] Fix WebAuth build
+
+- Enable typemaps.gni for WebAuth.
+- Workaround a gcc 6 compiler error when flat_map is uncopyable.
+- Also fix the build with gcc 6 and gcc 7.
+
+Task-number: QTBUG-54720
+Task-number: QTBUG-85117
+Change-Id: If73ce3fccdb7fc3dc2cddd39bba998f51956e45a
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen at qt.io>
+---
+ chromium/base/containers/flat_map.h | 6 ++++++
+ chromium/device/fido/bio/enrollment.cc | 4 ++--
+ chromium/device/fido/cable/fido_cable_discovery.cc | 2 +-
+ .../mojo/public/tools/bindings/chromium_bindings_configuration.gni | 2 +-
+ 4 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/chromium/base/containers/flat_map.h b/chromium/base/containers/flat_map.h
+index 41682d5958d..8fbf554b38f 100644
+--- a/src/3rdparty/hromium/base/containers/flat_map.h
++++ b/src/3rdparty/chromium/base/containers/flat_map.h
+@@ -240,6 +240,12 @@ class flat_map : public ::base::internal::flat_tree<
+ friend void swap(flat_map& lhs, flat_map& rhs) noexcept { lhs.swap(rhs); }
+ };
+
++
++#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7
++template <typename... T>
++struct is_trivially_copy_constructible<flat_map<T...>> : std::false_type {};
++#endif
++
+ // ----------------------------------------------------------------------------
+ // Lifetime.
+
+diff --git a/chromium/device/fido/bio/enrollment.cc b/chromium/device/fido/bio/enrollment.cc
+index 981c4397ca2..a1749e35d06 100644
+--- a/src/3rdparty/chromium/device/fido/bio/enrollment.cc
++++ b/src/3rdparty/chromium/device/fido/bio/enrollment.cc
+@@ -131,7 +131,7 @@ base::Optional<BioEnrollmentResponse> BioEnrollmentResponse::Parse(
+ BioEnrollmentResponse response;
+
+ if (!cbor_response || !cbor_response->is_map()) {
+- return response;
++ return base::make_optional<BioEnrollmentResponse>(std::move(response));
+ }
+
+ const auto& response_map = cbor_response->GetMap();
+@@ -252,7 +252,7 @@ base::Optional<BioEnrollmentResponse> BioEnrollmentResponse::Parse(
+ response.template_infos = std::move(template_infos);
+ }
+
+- return std::move(response);
++ return base::make_optional<BioEnrollmentResponse>(std::move(response));
+ }
+
+ BioEnrollmentResponse::BioEnrollmentResponse() = default;
+diff --git a/chromium/device/fido/cable/fido_cable_discovery.cc b/chromium/device/fido/cable/fido_cable_discovery.cc
+index aa130900be2..ac8a4b4b099 100644
+--- a/src/3rdparty/chromium/device/fido/cable/fido_cable_discovery.cc
++++ b/src/3rdparty/chromium/device/fido/cable/fido_cable_discovery.cc
+@@ -348,7 +348,7 @@ FidoCableDiscovery::CreateHandshakeHandler(
+ return base::nullopt;
+ }
+
+- return handler;
++ return base::make_optional<std::unique_ptr<FidoCableHandshakeHandler> >(std::move(handler));
+ }
+
+ void FidoCableDiscovery::DeviceAdded(BluetoothAdapter* adapter,
+diff --git a/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni b/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni
+index 1ad43c69c92..35840baac15 100644
+--- a/src/3rdparty/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni
++++ b/src/3rdparty/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni
+@@ -18,7 +18,7 @@ _typemap_imports = [
+ "//components/chromeos_camera/common/typemaps.gni",
+ "//components/sync/mojom/typemaps.gni",
+ "//components/typemaps.gni",
+-# "//content/browser/typemaps.gni",
++ "//content/browser/typemaps.gni",
+ "//content/common/typemaps.gni",
+ "//content/public/common/typemaps.gni",
+ "//device/bluetooth/public/mojom/typemaps.gni",
+--
+2.16.3
+
+From 904330c3a39a29ef078c9c1ddc2a1d1580fa2c32 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen at qt.io>
+Date: Tue, 21 Jul 2020 09:11:30 +0200
+Subject: [PATCH] Do not turn web auth off
+
+Submodule src/3rdparty 0a4240a9..4a996760:
+ > Fix building FIDO with gcc5
+ > [Backport] CVE-2020-6512: Type Confusion in V8 (3/3)
+
+Fixes: QTBUG-85117
+Task-number: QTBUG-54720
+Change-Id: I074831454b469c17a71f2ca75a075ee48157970d
+Reviewed-by: Tamas Zakor <ztamas at inf.u-szeged.hu>
+Reviewed-by: Michal Klocek <michal.klocek at qt.io>
+---
+ src/3rdparty | 2 +-
+ src/buildtools/config/common.pri | 2 +-
+ src/core/web_engine_context.cpp | 2 --
+ 3 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri
+index 8aeeb38945..ddcd225cc9 100644
+--- a/src/buildtools/config/common.pri
++++ b/src/buildtools/config/common.pri
+@@ -17,7 +17,7 @@ gn_args += \
+ enable_resource_whitelist_generation=false \
+ enable_swiftshader=false \
+ angle_enable_swiftshader=false \
+- enable_web_auth=false \
++ enable_web_auth=true \
+ enable_web_speech=false \
+ enable_widevine=true \
+ has_native_accessibility=false \
+diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
+index 01d55a5a1c..11365de625 100644
+--- a/src/core/web_engine_context.cpp
++++ b/src/core/web_engine_context.cpp
+@@ -649,8 +649,6 @@ WebEngineContext::WebEngineContext()
+ // Explicitly tell Chromium about default-on features we do not support
+ appendToFeatureList(disableFeatures, features::kBackgroundFetch.name);
+ appendToFeatureList(disableFeatures, features::kSmsReceiver.name);
+- appendToFeatureList(disableFeatures, features::kWebAuth.name);
+- appendToFeatureList(disableFeatures, features::kWebAuthCable.name);
+ appendToFeatureList(disableFeatures, features::kWebPayments.name);
+ appendToFeatureList(disableFeatures, features::kWebUsb.name);
+ appendToFeatureList(disableFeatures, media::kPictureInPicture.name);
+--
+2.16.3
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/qt5-qtwebengine.git/commitdiff/d10c1265e3510f07e10852b51fc647421688a090
More information about the pld-cvs-commit
mailing list