drop shadow build (to match other qt5 packages where it has been problematic) drop upstreamed patches rebase no-icudtl-dat.patch pull in upstream gcc8 FTBFS fix update clean_ffmpeg whitelist patches needswork: system-nspr-prtime,system-icu-utf,no-sse2,skia-neon,icu59 minimal debug/debuginfo (for now) use macros %make_build %ldconfig_scriptlets %__ninja %__ninja_common_optsepel9
parent
2ef1c5e991
commit
635c366f48
@ -0,0 +1,84 @@
|
|||||||
|
From 96f354df27c2f3c7c1b221b676c7a1af6b3da375 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?J=C3=BCri=20Valdmann?= <juri.valdmann@qt.io>
|
||||||
|
Date: Mon, 14 May 2018 10:15:50 +0200
|
||||||
|
Subject: [PATCH 02/29] Fix build with GCC 8.1.0
|
||||||
|
|
||||||
|
Task-number: QTBUG-68203
|
||||||
|
Change-Id: I780d884d5e20ef04e902d7b449da4aa3f97d8d0b
|
||||||
|
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||||
|
---
|
||||||
|
.../mojo/public/cpp/bindings/associated_interface_ptr_info.h | 2 +-
|
||||||
|
.../mojo/public/cpp/bindings/associated_interface_request.h | 2 +-
|
||||||
|
chromium/mojo/public/cpp/bindings/interface_request.h | 2 +-
|
||||||
|
.../mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h | 2 ++
|
||||||
|
chromium/mojo/public/cpp/system/handle.h | 2 +-
|
||||||
|
5 files changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h b/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h
|
||||||
|
index 1f79662bd7..184ba6a9e8 100644
|
||||||
|
--- a/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h
|
||||||
|
+++ b/chromium/mojo/public/cpp/bindings/associated_interface_ptr_info.h
|
||||||
|
@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo {
|
||||||
|
|
||||||
|
bool is_valid() const { return handle_.is_valid(); }
|
||||||
|
|
||||||
|
- explicit operator bool() const { return handle_; }
|
||||||
|
+ explicit operator bool() const { return !!handle_; }
|
||||||
|
|
||||||
|
ScopedInterfaceEndpointHandle PassHandle() {
|
||||||
|
return std::move(handle_);
|
||||||
|
diff --git a/chromium/mojo/public/cpp/bindings/associated_interface_request.h b/chromium/mojo/public/cpp/bindings/associated_interface_request.h
|
||||||
|
index 12d2f3ce1d..fcdc2b9321 100644
|
||||||
|
--- a/chromium/mojo/public/cpp/bindings/associated_interface_request.h
|
||||||
|
+++ b/chromium/mojo/public/cpp/bindings/associated_interface_request.h
|
||||||
|
@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest {
|
||||||
|
// handle.
|
||||||
|
bool is_pending() const { return handle_.is_valid(); }
|
||||||
|
|
||||||
|
- explicit operator bool() const { return handle_; }
|
||||||
|
+ explicit operator bool() const { return !!handle_; }
|
||||||
|
|
||||||
|
ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); }
|
||||||
|
|
||||||
|
diff --git a/chromium/mojo/public/cpp/bindings/interface_request.h b/chromium/mojo/public/cpp/bindings/interface_request.h
|
||||||
|
index 1007cb0b8c..da1f3244a3 100644
|
||||||
|
--- a/chromium/mojo/public/cpp/bindings/interface_request.h
|
||||||
|
+++ b/chromium/mojo/public/cpp/bindings/interface_request.h
|
||||||
|
@@ -54,7 +54,7 @@ class InterfaceRequest {
|
||||||
|
// Indicates whether the request currently contains a valid message pipe.
|
||||||
|
bool is_pending() const { return handle_.is_valid(); }
|
||||||
|
|
||||||
|
- explicit operator bool() const { return handle_; }
|
||||||
|
+ explicit operator bool() const { return !!handle_; }
|
||||||
|
|
||||||
|
// Removes the message pipe from the request and returns it.
|
||||||
|
ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); }
|
||||||
|
diff --git a/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h b/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h
|
||||||
|
index 5d00e5019e..ef8a927ba6 100644
|
||||||
|
--- a/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h
|
||||||
|
+++ b/chromium/mojo/public/cpp/bindings/scoped_interface_endpoint_handle.h
|
||||||
|
@@ -45,6 +45,8 @@ class MOJO_CPP_BINDINGS_EXPORT ScopedInterfaceEndpointHandle {
|
||||||
|
|
||||||
|
bool is_valid() const;
|
||||||
|
|
||||||
|
+ explicit operator bool() const { return is_valid(); }
|
||||||
|
+
|
||||||
|
// Returns true if the interface hasn't associated with a message pipe.
|
||||||
|
bool pending_association() const;
|
||||||
|
|
||||||
|
diff --git a/chromium/mojo/public/cpp/system/handle.h b/chromium/mojo/public/cpp/system/handle.h
|
||||||
|
index 7c886e8825..c9f9e961db 100644
|
||||||
|
--- a/chromium/mojo/public/cpp/system/handle.h
|
||||||
|
+++ b/chromium/mojo/public/cpp/system/handle.h
|
||||||
|
@@ -121,7 +121,7 @@ class ScopedHandleBase {
|
||||||
|
|
||||||
|
bool is_valid() const { return handle_.is_valid(); }
|
||||||
|
|
||||||
|
- explicit operator bool() const { return handle_; }
|
||||||
|
+ explicit operator bool() const { return !!handle_; }
|
||||||
|
|
||||||
|
bool operator==(const ScopedHandleBase& other) const {
|
||||||
|
return handle_.value() == other.get().value();
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
@ -1,86 +0,0 @@
|
|||||||
diff -ur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc qtwebengine-everywhere-src-5.10.0-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc
|
|
||||||
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc 2017-11-28 14:06:53.000000000 +0100
|
|
||||||
+++ qtwebengine-everywhere-src-5.10.0-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc 2017-12-25 19:38:17.621271052 +0100
|
|
||||||
@@ -331,39 +331,6 @@
|
|
||||||
const icu::UnicodeSet* inclusion_set = uspoof_getInclusionUnicodeSet(status);
|
|
||||||
allowed_set.addAll(*inclusion_set);
|
|
||||||
|
|
||||||
-// Five aspirational scripts are taken from UTR 31 Table 6 at
|
|
||||||
-// http://www.unicode.org/reports/tr31/#Aspirational_Use_Scripts .
|
|
||||||
-// Not all the characters of aspirational scripts are suitable for
|
|
||||||
-// identifiers. Therefore, only characters belonging to
|
|
||||||
-// [:Identifier_Type=Aspirational:] (listed in 'Status/Type=Aspirational'
|
|
||||||
-// section at
|
|
||||||
-// http://www.unicode.org/Public/security/latest/xidmodifications.txt) are
|
|
||||||
-// are added to the allowed set. The list has to be updated when a new
|
|
||||||
-// version of Unicode is released. The current version is 9.0.0 and ICU 60
|
|
||||||
-// will have Unicode 10.0 data.
|
|
||||||
-#if U_ICU_VERSION_MAJOR_NUM < 60
|
|
||||||
- const icu::UnicodeSet aspirational_scripts(
|
|
||||||
- icu::UnicodeString(
|
|
||||||
- // Unified Canadian Syllabics
|
|
||||||
- "[\\u1401-\\u166C\\u166F-\\u167F"
|
|
||||||
- // Mongolian
|
|
||||||
- "\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA"
|
|
||||||
- // Unified Canadian Syllabics
|
|
||||||
- "\\u18B0-\\u18F5"
|
|
||||||
- // Tifinagh
|
|
||||||
- "\\u2D30-\\u2D67\\u2D7F"
|
|
||||||
- // Yi
|
|
||||||
- "\\uA000-\\uA48C"
|
|
||||||
- // Miao
|
|
||||||
- "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7E"
|
|
||||||
- "\\U00016F8F-\\U00016F9F]",
|
|
||||||
- -1, US_INV),
|
|
||||||
- *status);
|
|
||||||
- allowed_set.addAll(aspirational_scripts);
|
|
||||||
-#else
|
|
||||||
-#error "Update aspirational_scripts per Unicode 10.0"
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
// The sections below refer to Mozilla's IDN blacklist:
|
|
||||||
// http://kb.mozillazine.org/Network.IDN.blacklist_chars
|
|
||||||
//
|
|
||||||
diff -ur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc qtwebengine-everywhere-src-5.10.0-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc
|
|
||||||
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc 2017-11-28 14:06:53.000000000 +0100
|
|
||||||
+++ qtwebengine-everywhere-src-5.10.0-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc 2017-12-25 19:38:17.621271052 +0100
|
|
||||||
@@ -132,22 +132,24 @@
|
|
||||||
{"xn---123-kbjl2j0bl2k.in", L"\x0939\x093f\x0928\x094d\x0926\x0940-123.in",
|
|
||||||
true},
|
|
||||||
|
|
||||||
- // 5 Aspirational scripts
|
|
||||||
+ // What used to be 5 Aspirational scripts in the earlier versions of UAX 31.
|
|
||||||
+ // UAX 31 does not define aspirational scripts any more.
|
|
||||||
+ // See http://www.unicode.org/reports/tr31/#Aspirational_Use_Scripts .
|
|
||||||
// Unifieid Canadian Syllabary
|
|
||||||
- {"xn--dfe0tte.ca", L"\x1456\x14c2\x14ef.ca", true},
|
|
||||||
+ {"xn--dfe0tte.ca", L"\x1456\x14c2\x14ef.ca", false},
|
|
||||||
// Tifinagh
|
|
||||||
{"xn--4ljxa2bb4a6bxb.ma", L"\x2d5c\x2d49\x2d3c\x2d49\x2d4f\x2d30\x2d56.ma",
|
|
||||||
- true},
|
|
||||||
+ false},
|
|
||||||
// Tifinagh with a disallowed character(U+2D6F)
|
|
||||||
{"xn--hmjzaby5d5f.ma", L"\x2d5c\x2d49\x2d3c\x2d6f\x2d49\x2d4f.ma", false},
|
|
||||||
// Yi
|
|
||||||
- {"xn--4o7a6e1x64c.cn", L"\xa188\xa320\xa071\xa0b7.cn", true},
|
|
||||||
+ {"xn--4o7a6e1x64c.cn", L"\xa188\xa320\xa071\xa0b7.cn", false},
|
|
||||||
// Mongolian - 'ordu' (place, camp)
|
|
||||||
- {"xn--56ec8bp.cn", L"\x1823\x1837\x1833\x1824.cn", true},
|
|
||||||
+ {"xn--56ec8bp.cn", L"\x1823\x1837\x1833\x1824.cn", false},
|
|
||||||
// Mongolian with a disallowed character
|
|
||||||
{"xn--95e5de3ds.cn", L"\x1823\x1837\x1804\x1833\x1824.cn", false},
|
|
||||||
// Miao/Pollad
|
|
||||||
- {"xn--2u0fpf0a.cn", L"\U00016f04\U00016f62\U00016f59.cn", true},
|
|
||||||
+ {"xn--2u0fpf0a.cn", L"\U00016f04\U00016f62\U00016f59.cn", false},
|
|
||||||
|
|
||||||
// Script mixing tests
|
|
||||||
// The following script combinations are allowed.
|
|
||||||
@@ -606,7 +608,7 @@
|
|
||||||
L"a\x144a"
|
|
||||||
L"b.com",
|
|
||||||
false},
|
|
||||||
- {"xn--xcec9s.com", L"\x1401\x144a\x1402.com", true},
|
|
||||||
+ {"xn--xcec9s.com", L"\x1401\x144a\x1402.com", false},
|
|
||||||
|
|
||||||
// Custom dangerous patterns
|
|
||||||
// Two Katakana-Hiragana combining mark in a row
|
|
@ -1,64 +0,0 @@
|
|||||||
From 1fd21185614dcae0c7a6e5647ba56cff0120f563 Mon Sep 17 00:00:00 2001
|
|
||||||
Message-Id: <1fd21185614dcae0c7a6e5647ba56cff0120f563.1521386919.git.kevin.kofler@chello.at>
|
|
||||||
From: Michal Klocek <michal.klocek@qt.io>
|
|
||||||
Date: Wed, 7 Mar 2018 18:36:25 +0100
|
|
||||||
Subject: [PATCH] Implement IsMostRecentDownloadItemAtFilePath call
|
|
||||||
|
|
||||||
Implement IsMostRecentDownloadItemAtFilePath
|
|
||||||
for download_manager_delegate_qt. This is required for
|
|
||||||
CVE-2018-6033.
|
|
||||||
|
|
||||||
Change-Id: I9f48dfa159d684f0fda894e68b81ff622aceaae2
|
|
||||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
||||||
---
|
|
||||||
src/core/download_manager_delegate_qt.cpp | 20 ++++++++++++++++++++
|
|
||||||
src/core/download_manager_delegate_qt.h | 2 ++
|
|
||||||
2 files changed, 22 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/core/download_manager_delegate_qt.cpp b/src/core/download_manager_delegate_qt.cpp
|
|
||||||
index 40df9b3a..487a831e 100644
|
|
||||||
--- a/src/core/download_manager_delegate_qt.cpp
|
|
||||||
+++ b/src/core/download_manager_delegate_qt.cpp
|
|
||||||
@@ -293,6 +293,26 @@ void DownloadManagerDelegateQt::ChooseSavePath(content::WebContents *web_content
|
|
||||||
m_weakPtrFactory.GetWeakPtr()));
|
|
||||||
}
|
|
||||||
|
|
||||||
+bool DownloadManagerDelegateQt::IsMostRecentDownloadItemAtFilePath(content::DownloadItem *download)
|
|
||||||
+{
|
|
||||||
+ content::BrowserContext *context = download->GetBrowserContext();
|
|
||||||
+ std::vector<content::DownloadItem*> all_downloads;
|
|
||||||
+
|
|
||||||
+ content::DownloadManager* manager =
|
|
||||||
+ content::BrowserContext::GetDownloadManager(context);
|
|
||||||
+ if (manager)
|
|
||||||
+ manager->GetAllDownloads(&all_downloads);
|
|
||||||
+
|
|
||||||
+ for (const auto* item : all_downloads) {
|
|
||||||
+ if (item->GetGuid() == download->GetGuid() ||
|
|
||||||
+ item->GetTargetFilePath() != download->GetTargetFilePath())
|
|
||||||
+ continue;
|
|
||||||
+ if (item->GetState() == content::DownloadItem::IN_PROGRESS)
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ return true;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void DownloadManagerDelegateQt::savePackageDownloadCreated(content::DownloadItem *item)
|
|
||||||
{
|
|
||||||
OnDownloadUpdated(item);
|
|
||||||
diff --git a/src/core/download_manager_delegate_qt.h b/src/core/download_manager_delegate_qt.h
|
|
||||||
index df43211e..7563d5d3 100644
|
|
||||||
--- a/src/core/download_manager_delegate_qt.h
|
|
||||||
+++ b/src/core/download_manager_delegate_qt.h
|
|
||||||
@@ -81,6 +81,8 @@ public:
|
|
||||||
const base::FilePath::StringType &default_extension,
|
|
||||||
bool can_save_as_complete,
|
|
||||||
const content::SavePackagePathPickedCallback &callback) override;
|
|
||||||
+ bool IsMostRecentDownloadItemAtFilePath(content::DownloadItem* download) override;
|
|
||||||
+
|
|
||||||
|
|
||||||
void cancelDownload(quint32 downloadId);
|
|
||||||
void pauseDownload(quint32 downloadId);
|
|
||||||
--
|
|
||||||
2.14.3
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
|||||||
SHA512 (qtwebengine-everywhere-src-5.10.1-clean.tar.xz) = b992aef0d2f9fe7d40b5378519113d5c41577b120830bee86eda211ffc97649022d1deacf82916007fb9fd1b6e18a855d4890c79752142165e66e2ea047486b8
|
SHA512 (qtwebengine-everywhere-src-5.11.0-clean.tar.xz) = fb6a9a047e77478f6ea9bc9cdb4c7ea05520e9b2919a346d39e7eb09bd88747e35a97ef41bfa06aaed8eb9c3db9372c17dc4e24d1ed2e734f9bf6f58783c4616
|
||||||
|
Loading…
Reference in new issue