Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-94470

Incorrect parsing of HTTP2 frame headers.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 6.1.2, 6.2.0 Alpha
    • 5.15.0, 5.15.2
    • Network
    • None
    • Ubuntu 18.04, Qt 5.15.2 or 5.15.1.
    • Linux/Other display system
    • 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

      Attachments

        1. TestQtHttp2.tgz
          0.9 kB
          Nikolay Lubyagoc
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tpochep Timur Pocheptsov
            lubagov Nikolay Lubyagoc
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes