Revert "Merge pull request #6986 from nextcloud/feature/alwaysEnableHttp2"
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Sun, 22 Sep 2024 08:43:22 +0000 (16:43 +0800)
committerMatthieu Gallien <matthieu_gallien@yahoo.fr>
Mon, 23 Sep 2024 11:19:22 +0000 (13:19 +0200)
This reverts commit 5baec6f128734bc8ed0845ac7a8c269904c1027e, reversing
changes made to ab06ecbc4d02c4b18174e8280a8f242da9ea7970.

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/libsync/accessmanager.cpp

index 52e0d67b53eb87148e9f71c271be383a80023a9a..46d8559f7a5961617bc5b101aecd8b07cd306600 100644 (file)
@@ -66,7 +66,16 @@ QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op,
     QByteArray requestId = generateRequestId();
     qInfo(lcAccessManager) << op << verb << newRequest.url().toString() << "has X-Request-ID" << requestId;
     newRequest.setRawHeader("X-Request-ID", requestId);
-    newRequest.setAttribute(QNetworkRequest::Http2AllowedAttribute, true);
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 4)
+    // only enable HTTP2 with Qt 5.9.4 because old Qt have too many bugs (e.g. QTBUG-64359 is fixed in >= Qt 5.9.4)
+    if (newRequest.url().scheme() == "https") { // Not for "http": QTBUG-61397
+        // http2 seems to cause issues, as with our recommended server setup we don't support http2, disable it by default for now
+        static const bool http2EnabledEnv = qEnvironmentVariableIntValue("OWNCLOUD_HTTP2_ENABLED") == 1;
+
+        newRequest.setAttribute(QNetworkRequest::Http2AllowedAttribute, http2EnabledEnv);
+    }
+#endif
 
     const auto reply = QNetworkAccessManager::createRequest(op, newRequest, outgoingData);
     HttpLogger::logRequest(reply, op, outgoingData);