Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.15.0, 5.15.2
-
None
-
Ubuntu 18.04, Qt 5.15.2 or 5.15.1.
-
-
46940ca73791e87e2366b80ac2884b3bcce716ce (qt/qtbase/dev) d684a164c483610a1b548c027fa9b63dcaf80d2b (qt/qtbase/6.2) a6a2c56c96ed235bf3dfb03484f8c472e48221e5 (qt/qtbase/6.1) 505920e6b78a249d54f1e6257348a024e723d03e (qt/tqtc-qtbase/5.15)
Description
Incorrect parsing of HTTP2 frame headers.
This happens when using Netty as the server, in the Java gRPC implementation server, in QtProtobuf, or with the `envoy` proxy server. The problem does not depend on the use of TLS and I can repeat it without encryption. It seems it does not correctly parse the HTTP2.0 protocol frame headers.
As result i can't use https://github.com/semlanik/qtprotobuf and my gRPC server on Java.Dependent issue in downstream projects https://github.com/qutebrowser/qutebrowser/issues/5588
https://github.com/semlanik/qtprotobuf/issues/228
qt.network.http2: connection error: SETTINGS invalid number of concurrent streams qt.network.http2: stream 1 finished with error: "SETTINGS invalid number of concurrent streams" QNetworkReply::ProtocolFailure "SETTINGS invalid number of concurrent streams"
I append code for reproduce