]> git.pld-linux.org Git - packages/qt5-qtwebengine.git/commitdiff
upstream fixes adding support for webauthn; rel 4 auto/th/qt5-qtwebengine-5.15.0-4
authorJan Palus <atler@pld-linux.org>
Tue, 4 Aug 2020 22:12:56 +0000 (00:12 +0200)
committerJan Palus <atler@pld-linux.org>
Tue, 4 Aug 2020 22:13:21 +0000 (00:13 +0200)
see https://bugreports.qt.io/browse/QTBUG-54720

qt5-qtwebengine.spec
webauthn.patch [new file with mode: 0644]

index 5e06e7fcc8f69ca3a72fde492efdf09c7effc543..4ed9b3f08272b4fca0bab2c05664179af73ea326 100644 (file)
@@ -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 (file)
index 0000000..3d597ba
--- /dev/null
@@ -0,0 +1,137 @@
+From d61a4348c475ab6867334ef3ab4b5709cae15bb2 Mon Sep 17 00:00:00 2001
+From: Tamas Zakor <ztamas@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@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@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@inf.u-szeged.hu>
+Reviewed-by: Michal Klocek <michal.klocek@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
+
This page took 0.271579 seconds and 4 git commands to generate.