bz#2099267, backport patch to fix download problem from Settings
This commit is contained in:
parent
aebce69e3b
commit
48c1244f2d
|
@ -0,0 +1,43 @@
|
|||
diff --git a/src/network/access/http2/http2protocol_p.h b/src/network/access/http2/http2protocol_p.h
|
||||
index b0af5aa91921bf5229e2d54284687bafb1969eb1..ed5f2bf561f2bd62c6ef7fd1fde29e867d374603 100644
|
||||
--- a/src/network/access/http2/http2protocol_p.h
|
||||
+++ b/src/network/access/http2/http2protocol_p.h
|
||||
@@ -133,9 +133,6 @@ enum Http2PredefinedParameters
|
||||
maxPayloadSize = (1 << 24) - 1, // HTTP/2 6.5.2
|
||||
|
||||
defaultSessionWindowSize = 65535, // HTTP/2 6.5.2
|
||||
- // Using 1000 (rather arbitrarily), just to
|
||||
- // impose *some* upper limit:
|
||||
- maxPeerConcurrentStreams = 1000,
|
||||
maxConcurrentStreams = 100 // HTTP/2, 6.5.2
|
||||
};
|
||||
|
||||
diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp
|
||||
index f513139304bba375ea3c345c74f2c889b5a13938..21f1c91e29513acff83c45b6717cd5aa25609d62 100644
|
||||
--- a/src/network/access/qhttp2protocolhandler.cpp
|
||||
+++ b/src/network/access/qhttp2protocolhandler.cpp
|
||||
@@ -393,7 +393,8 @@ bool QHttp2ProtocolHandler::sendRequest()
|
||||
initReplyFromPushPromise(message, key);
|
||||
}
|
||||
|
||||
- const auto streamsToUse = std::min<quint32>(maxConcurrentStreams - activeStreams.size(),
|
||||
+ const auto streamsToUse = std::min<quint32>(maxConcurrentStreams > activeStreams.size()
|
||||
+ ? maxConcurrentStreams - activeStreams.size() : 0,
|
||||
requests.size());
|
||||
auto it = requests.begin();
|
||||
for (quint32 i = 0; i < streamsToUse; ++i) {
|
||||
@@ -1084,13 +1085,8 @@ bool QHttp2ProtocolHandler::acceptSetting(Http2::Settings identifier, quint32 ne
|
||||
QMetaObject::invokeMethod(this, "resumeSuspendedStreams", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
- if (identifier == Settings::MAX_CONCURRENT_STREAMS_ID) {
|
||||
- if (newValue > maxPeerConcurrentStreams) {
|
||||
- connectionError(PROTOCOL_ERROR, "SETTINGS invalid number of concurrent streams");
|
||||
- return false;
|
||||
- }
|
||||
+ if (identifier == Settings::MAX_CONCURRENT_STREAMS_ID)
|
||||
maxConcurrentStreams = newValue;
|
||||
- }
|
||||
|
||||
if (identifier == Settings::MAX_FRAME_SIZE_ID) {
|
||||
if (newValue < Http2::minPayloadLimit || newValue > Http2::maxPayloadSize) {
|
|
@ -148,6 +148,7 @@ Patch100: kde-5.15-rollup-20220304.patch.gz
|
|||
Source100: kde-5.15-rollup-20220304.patch.gz
|
||||
Patch101: qtbase-everywhere-src-5.15.4-cve-2021-38593.patch
|
||||
Patch102: qtbase-everywhere-src-5.15.2-CVE-2022-2525.patch
|
||||
Patch103: qt5-qtbase-fix-invalid-number-of-concurrent-stream.patch
|
||||
|
||||
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
|
||||
# Those themes are there for platform integration. If the required libraries are
|
||||
|
@ -423,6 +424,7 @@ Qt5 libraries used for drawing widgets and OpenGL items.
|
|||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
|
||||
# move some bundled libs to ensure they're not accidentally used
|
||||
pushd src/3rdparty
|
||||
|
@ -1096,6 +1098,9 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Tue Jun 21 2022 Than Ngo <than@redhat.com> - 5.15.3-3
|
||||
- bz#2099267, backport patch to fix download problem from Settings
|
||||
|
||||
* Mon May 30 2022 Than Ngo <than@redhat.com> - 5.15.3-2
|
||||
- Fixed bz#1994724, CVE-2021-38593
|
||||
|
||||
|
|
Loading…
Reference in New Issue