Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Http PUT request problem: Qt5 vs Qt6

Http PUT request problem: Qt5 vs Qt6

Scheduled Pinned Locked Moved Unsolved General and Desktop
4 Posts 2 Posters 375 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jamesinkster
    wrote on last edited by
    #1

    Hello!

    I have a Qt5.15.2-based application that works with an embedded webserver, sending PUT requests.

    Since upgrading to Qt6.4.1 the PUT requests are failing.

    What is different:
    Looking at WireShark it appears that the Qt5 app had one extra TCP handshaking step: PSH,ACK, whereas the Qt6 app does not (or it embeds it in the HTTP message?)
    I think that is what's causing the incompatibility between the server and the app.

    I strongly suspect the embedded webserver is non-compliant, unfortunately I cannot change it.

    I've attached an annotated screenshot which hopefully makes clear what I'm trying to say...
    I've also attached a minimal application which would demonstrate this problem when compiled against Qt5 and 6.

    Is there a way to force Qt6.4.1 to do the handshaking/PUT in exactly the same way as it did in 5.15.2?

    https://www.dropbox.com/s/kqhfvtttqhic74q/test_http.zip?dl=0

    Qt5vsQt6-Annotated.png

    Pl45m4P 1 Reply Last reply
    0
    • J jamesinkster

      Hello!

      I have a Qt5.15.2-based application that works with an embedded webserver, sending PUT requests.

      Since upgrading to Qt6.4.1 the PUT requests are failing.

      What is different:
      Looking at WireShark it appears that the Qt5 app had one extra TCP handshaking step: PSH,ACK, whereas the Qt6 app does not (or it embeds it in the HTTP message?)
      I think that is what's causing the incompatibility between the server and the app.

      I strongly suspect the embedded webserver is non-compliant, unfortunately I cannot change it.

      I've attached an annotated screenshot which hopefully makes clear what I'm trying to say...
      I've also attached a minimal application which would demonstrate this problem when compiled against Qt5 and 6.

      Is there a way to force Qt6.4.1 to do the handshaking/PUT in exactly the same way as it did in 5.15.2?

      https://www.dropbox.com/s/kqhfvtttqhic74q/test_http.zip?dl=0

      Qt5vsQt6-Annotated.png

      Pl45m4P Offline
      Pl45m4P Offline
      Pl45m4
      wrote on last edited by
      #2

      @jamesinkster said in Http PUT request problem: Qt5 vs Qt6:

      Is there a way to force Qt6.4.1 to do the handshaking/PUT in exactly the same way as it did in 5.15.2?

      Some behavior of QNetworkAccessManager has changed from Qt5 to Qt6.

      • https://doc.qt.io/qt-6/network-changes-qt6.html#http-2-is-enabled-by-default

      If debugging is the process of removing software bugs, then programming must be the process of putting them in.

      ~E. W. Dijkstra

      J 1 Reply Last reply
      0
      • Pl45m4P Pl45m4

        @jamesinkster said in Http PUT request problem: Qt5 vs Qt6:

        Is there a way to force Qt6.4.1 to do the handshaking/PUT in exactly the same way as it did in 5.15.2?

        Some behavior of QNetworkAccessManager has changed from Qt5 to Qt6.

        • https://doc.qt.io/qt-6/network-changes-qt6.html#http-2-is-enabled-by-default
        J Offline
        J Offline
        jamesinkster
        wrote on last edited by
        #3

        @Pl45m4
        Yes, thank you for the prompt reply.
        I should have mentioned -- I've reviewed the 5 to 6 changes and tried everything in there that I can think of...
        The http2 being enabled does not seem to be the problem, as I have explicitly disabled it by setting the QNetworkRequest::Http2AllowedAttribute to false

        1 Reply Last reply
        0
        • J Offline
          J Offline
          jamesinkster
          wrote on last edited by
          #4

          This "bug fix" reads a lot to me as though it's the source of my problem...

          Ugh.

          https://codereview.qt-project.org/c/qt/qtbase/+/314377

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved