[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