Http PUT request problem: Qt5 vs Qt6
-
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

-
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

@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
QNetworkAccessManagerhas changed from Qt5 to Qt6. -
@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
QNetworkAccessManagerhas changed from Qt5 to Qt6.@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 -
This "bug fix" reads a lot to me as though it's the source of my problem...
Ugh.