summaryrefslogtreecommitdiffstats
path: root/src/network/access/qhttpnetworkconnection.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QNAM: Prepare protocol handlers for local socketMårten Nordheim11 days1-11/+11
| | | | | | | | | + a small stretch into adjacent functions, because some are used from the protocol handler(s). Task-number: QTBUG-102855 Change-Id: Ie394378fef2b1723e69286fd870fc34b7306734a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNAM: Trivial AbstractSocket*=>IODevice* transformsMårten Nordheim2024-04-231-4/+4
| | | | | | | | | In preparation for the socket potentially being a QLocalSocket. Task-number: QTBUG-102855 Change-Id: I9889f72fc55d945ba6c392d573293628ec052164 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mate Barany <mate.barany@qt.io>
* QHttpNetworkConnectionPrivate: reflow ctorMårten Nordheim2024-04-171-8/+11
| | | | | | Task-number: QTBUG-102855 Change-Id: Idcb67b434f9f627a408d730d9cec8d749094728e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QHttpNetworkConnectionPrivate: NSDMIMårten Nordheim2024-04-171-3/+1
| | | | | | | | Initialize the hardcoded things inside the class. Task-number: QTBUG-102855 Change-Id: I06da0a615ec066e63d9cd0359313e8e8f588718e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QHttpNetworkConnectionPrivate: move some init logic into a functionMårten Nordheim2024-04-171-6/+10
| | | | | | | | | Now we can nicely initialize it as a member-initializer. Do channels at the same time, NSDMI follows. Task-number: QTBUG-102855 Change-Id: I59c1fe044687500ed3a9d5878c6e4fc137114542 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QHttpNetworkConnection: Remove redundant/unused ctorMårten Nordheim2024-04-171-35/+0
| | | | | | | Task-number: QTBUG-102855 Change-Id: Ifcd25c241f2e331b0c271d3462b5a2896797d101 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* tst_QHttpNetworkConnection: Move to use only one ctorMårten Nordheim2024-04-171-3/+0
| | | | | | | | | We want to get rid of the other one, it's all internal API anyway. Task-number: QTBUG-102855 Change-Id: I2b621c20f4dd7c8bf5f07db8db908c2b7b86976f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QHttpNetworkConnection: optimize startNextRequestAnton Kudryavtsev2024-03-211-5/+9
| | | | | | | | | Use QVLA instead of QQueue to avoid allocations and use QSpan to emulate queue behavior to avoid N^2 Change-Id: I333bc1af98a596fc041765996867a3d6449fcfde Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Network: Use QHttpHeaders in QHttpHeaderParserLena Biliaieva2024-01-251-8/+5
| | | | | | | | | | | | | QHttpHeaderParser::headers() method is changed to return QHttpHeaders. QAuthenticatorPrivate::parseHttpResponse() method is changed to work with QHttpHeaders. QHttpNetworkHeader::header() method is updated to return QHttpHeaders. Tests are updated. Task-number: QTBUG-120133 Change-Id: I20a18b509acd7a8b8d93884cff8349519d64293e Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
* QHttpNetworkConnection: use QSB moreAnton Kudryavtsev2023-10-301-1/+1
| | | | | | | to avoid needless tmp allocation Change-Id: I582f86adbe274b67ddbc7255caea63a39137edcc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QHttpNetworkConnection: mark some methods as constAnton Kudryavtsev2023-10-301-4/+4
| | | | | | | | These get methods (sslContext and connectionType) are part of private API, so it's safe Change-Id: I6c2e14d5dbcbefc051d69985d1e9b490274ba7ef Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* http2: When a reply is removed from the queue, only remove oneMårten Nordheim2023-10-161-11/+10
| | | | | | | | | | | | | | | | | | We were using the .remove(Key) API on the map instead of erase(iterator), so we were removing any reply of the same priority that had not yet been popped from the queues. Rewrote to drop loop and only work with iterators. This issue was there since SPDY days, so not picking all the way back to 5.15, where HTTP2 anyway is not enabled by default. As a drive-by, drop the #ifndef QT_NO_SSL, which was also there from SPDY times, which was TLS-only. Pick-to: 6.6 6.5 6.2 Fixes: QTBUG-116167 Change-Id: Id7e1eb311e009b86054c1fe3d049c760d711a18a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Http: don't try to send request on a closed socketMårten Nordheim2023-10-131-0/+5
| | | | | | | | | | | | We have code in the protocolHandlers that tries to handle this case, but if we have an error before we create protocolHandler (read: proxy complains about something) we will assert in debug, or deref nullptr in release. Pick-to: 6.6 6.5 6.2 Change-Id: I4bde9c8af0fa96dc11f77ca4d4b5cb84c31b54fa Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* network: use string view types moreAnton Kudryavtsev2023-09-061-1/+1
| | | | | | | Prefer QLatin1StringView overloads Change-Id: I23846761f2c93021de4f6e6b7eba1d74045f89a1 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* qhttpnetworkconnection: extract method makeAcceptLanguageAnton Kudryavtsev2023-09-041-11/+13
| | | | | | | | | and micro optimize it: - avoid allocation in case of C locale - don't call replace in case of C locale Change-Id: I9afefd53b673e5f1236afdb3130d77779614acc7 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* qhttpnetworkconnection: cache acceptedEncoding headerAnton Kudryavtsev2023-09-041-2/+2
| | | | | | | Encodings are configured at compile time, so no need to re-create acceptedEncoding header for every request, just cache it. Change-Id: Ibfaf7cdec0504cf90c4b6a59848e7c945d060ebe Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Handle authenticate challenge for NegotiateMårten Nordheim2023-07-181-1/+2
| | | | | | | | | | | | | | | | | Because we didn't handle Negotiate in the "Start" phase during handleAuthenticateChallenge, we would not emit the auth signal before our second attempt, assuming the server prompts us for one. Emitting the authenticationRequired signal is needed for users to be able to set the Service Principal Name (SPN) option. Alternatively, username and password if not relying on Single sign-on. Done-by: Emil Wipplinger <> Pick-to: 6.6 6.5 Fixes: QTBUG-114559 Change-Id: I833c08dfeda36a6548c5ad6b8af4b8aa9d644c45 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkReply: Propagate proxy errors properlyMichael Klein2023-06-271-2/+10
| | | | | | | | | | | | Map QNetworkError::HostNotFoundError and QNetworkError::ConnectionRefusedError to ProxyNotFoundError resp. ProxyConnectionRefusedError when it originated from the communication with the proxy server. Fixes: QTBUG-68821 Pick-to: 6.5 6.6 Change-Id: I21b91f2667ba0cd329d4ece1fe543472cdab2d22 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QNetworkAccessManager: Configurable number of HTTP1 TCP connectionsMarkus Goetz2022-12-091-1/+10
| | | | | | | | | | | Introduces new class QHttp1Configuration. [ChangeLog][QtNetwork][QHttp1Configuration] New class. Fixes: QTBUG-25280 Fixes: QTBUG-108215 Change-Id: Ide6cee23946e5001befb8fab34edf10b8a66e02b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-111-1/+1
| | | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace, with manual unstaging of the actual definition and documentation in dist/, src/corelib/doc/ and src/corelib/global/. Task-number: QTBUG-99313 Change-Id: I4c7114444a325ad4e62d0fcbfd347d2bbfb21541 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QAuthenticator: Fix crash when using NTLM / NegotiateMårten Nordheim2022-08-171-4/+16
| | | | | | | | | | | | | | | | | | | With NTLM/Negotiate we delete the context used to generate replies once we get SEC_E_OK. Due to some faulty logic in the http backend we could end up trying to generate another response. Qt would then pass references to some offsets of nullptr into the API calls causing it to crash. Add some sanity checks before the "sspi continue" calls to make sure this won't happen, and update the condition in the http backend to check that we have not already sent our credentials. As a drive-by: correct the initialization of the handles to use SecInvalidateHandle instead of memset to 0. Pick-to: 6.4 6.3 6.2 5.15 Fixes: QTBUG-102359 Change-Id: I884ff8fc70609fe8746b99a1d56eeafcda9d2620 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QtHttp: Lower the severity of some log outputMårten Nordheim2022-08-041-5/+4
| | | | | | | | | | | | | | The output was only printed if the request was no longer available queued, meaning that it had been removed before the socket had finished its connection attempt. That means the result of the attempt is not of much interest to the user so we should not print it out as a warning. The reason for why the request was removed from the queue would be the interesting bit, but it's not covered here. Task-number: QTBUG-85248 Pick-to: 6.4 6.3 6.2 5.15 Change-Id: Iac483b8bb600e1577fe88c3699e46d50615bfccb Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Provide more details of failed connectionAndré Klitzing2022-07-231-0/+2
| | | | | | | | | | | Otherwise the errorString from qtls_openssl is lost that would help a lot why a tls connection failed. "Error during SSL handshake: error:1414D17A:SSL routines:tls12_check_peer_sigalg:wrong curve" Pick-to: 6.4 6.3 6.2 Change-Id: Iab74b73488219686e5926308db02bc4063818c9f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QtNetwork: use _L1 for for creating Latin-1 string literalsSona Kurazyan2022-04-211-5/+7
| | | | | | Task-number: QTBUG-98434 Change-Id: Ic235b92377203f7a1429ae7fd784c4a1fa893e9f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QHttp: Don't reorder content-length header for no reasonMårten Nordheim2022-04-211-2/+3
| | | | | | | | | | | If the user supplied a content-length, and we also know the size of the payload then we would set the content-length again, which is a remove + add on a QList. This is completely avoidable if we are setting the same size anyway. Fixes: QTBUG-102495 Change-Id: If62739cadb453dbda4c21e858ba3a17baaf71fb4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* HTTP: Make redirect response parsing more genericMårten Nordheim2022-02-111-16/+23
| | | | | | | | | | | | | | To enable its use in the http2 protocol handler. This factors out the error-reporting code for HTTP 1, which in any case has to be done differently for HTTP 2, saving duplication and simplifying the redirect handling code. Task-number: QTBUG-100651 Pick-to: 6.3 6.2 5.15 Change-Id: I4b470646a9ad5ee702c9b1921d115e137d3d5b8b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Network: Emit authenticationRequired when using NtlmSören Bohn2022-02-021-1/+6
| | | | | | | | | | | | Adds a new state Phase1 to QAuthenticatorPrivate::Phase which is used when authenticating using Ntlm. The new state forces an emit of the authenticationRequired signal and tracks that it is called only once. Fixes: QTBUG-44096 Pick-to: 6.2 6.3 5.15 Change-Id: Icc9662d4fdc1f0f8c8e8bc5538f211baaa055d4c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QHttpNetworkConnection: Always set proxy settings to all channelsAndrey Mozzhuhin2022-01-121-2/+2
| | | | | | | | | | | | | | Proxy settings should always be set to all channels because after switching from HTTP/2 to HTTP/1.1 they may all be used. Problem was made in commit 8b9d246225dcd63900399297b0fd553918840bea. It is introduce the QHttpNetworkConnectionPrivate::activeChannel field, which value is 1 got HTTP/2 by default, but can later be changed to 6 if the remote host doesn't support HTTP/2. Pick-to: 6.3 6.2 5.15 Change-Id: Idcdeb22ec806520965f30a22045f99aa009a7362 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* wasm: fix unused variable warning/errorMorten Johan Sørvig2021-08-191-1/+1
| | | | | Change-Id: If6dabc94f6d64695a0b28e73061274f8ea1c4ed6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QNetworkReply: Add two new signalsMarkus Goetz2021-07-201-0/+9
| | | | | | | | | | | These signals allow monitoring where in the HTTP1/HTTP2 flow a request is currently in. Fixes: QTBUG-71698 Fixes: QTBUG-18766 Change-Id: Icc2fe435afc9f680fa7a76c32731e25fcdfeb4b4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Hold QSslContext in shared_ptrMarc Mutz2021-07-181-2/+2
| | | | | | | | | | | ... instead of QSharedPointer. QSharedPointer performs twice as many atomic operations per pointer copy as std::shared_ptr, and this is private API, we're not bound by BC constraints, so we can port to the more efficient version. Change-Id: I2e2a02493565a7ca51c86ec0ed66b6ce7c763e41 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QNetworkReply: Decompress when readingMårten Nordheim2021-06-121-0/+1
| | | | | | | | | | | Rather than when the data is received. Source compatibility is achieved through double-decompressing the data. This lets us know how many bytes are available just as before but without having the uncompressed data left in memory. Fixes: QTBUG-83269 Change-Id: I352bd09581614c582e4628243e2a0e895ba4946b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QHttpNetworkConnectionPrivate::createAuthorization: refactorMårten Nordheim2021-05-201-7/+7
| | | | | | | | | Grab a reference to the channel instead of indexing into the array repeatedly. Change-Id: I114d571fcfcfd3a751346b513cec728dc2fcda0a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QHttpNetworkConnectionChannel: remove *authMethodMårten Nordheim2021-05-201-34/+31
| | | | | | | | | | | | | | | We store the authenticator right alongside it, which knows the method. The biggest change from this is changing a, self-proclaimed, duplicate method from QHttpNetworkReply. Finding the method name ahead-of-time is not actually needed, all we need to know is that a supported authentication method is requested. Also moved that specific functionality to a more logical location: QAuthenticatorPrivate. Change-Id: I11627803ccb42b8ec33a28ef1d1e00bf60dc6da9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Prefer previously used channels in QHttpNetworkConnectionLars Schmertmann2021-05-111-19/+38
| | | | | | | | | | | | | | | | | | When IPv4 and IPv6 are supported by a server, QHttpNetworkConnection will start up two connections and pick the network layer of the one that finish first. In this case the channel with index 1 is used for IPv6. When IPv6 wins, there is no channel at index 0. This situation needs to be respected and we should try to use existing channels first when there is a next request. This is especially important when TLS session resumption is used. Creating a new channel will cause to lose the ephemeralServerKey used in the first connection. Fixes: QTBUG-93295 Pick-to: 5.15 6.1 Change-Id: Ic9dc6a24ef793a29c2652ad37bc11120e2e6ceef Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* HTTP/2 authentication requiredMårten Nordheim2021-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | With Qt 6 we made HTTP/2 default, which exposed missing handling of 401 Unauthorized (and 407 Proxy Authentication Required). In HTTP/1.* we would handle this after the response had finished, while handling the status code. For h2 this path isn't used since it is heavily reliant on the structure we have for HTTP/1.* (one request per channel). So we must handle the status code and header directly. Having that part fixed exposed another issue - when resetting/rewinding uploaded data we were not resetting the 'totallyUploadedData' counter in the reply (this, in turn, exposed another small issue). Because of that we did not actually send any data on the retry, only sending the content-length followed by no data. Finally, the small issue mentioned in the previous paragraph was how we check if we have uploaded all our data. It was only checking if the byte-device was atEnd(), which it was. But only because it had not yet prepared any data for us. Fixes: QTBUG-91284 Pick-to: 6.1 6.0 5.15 Change-Id: I798d105b02688b18a02897cc476f19f57a47f98f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Remove QNetworkStatusMonitorMårten Nordheim2021-02-061-2/+2
| | | | | | | | | | Since the old code is now fully integrated in QNetworkInformation backends Change-Id: Ia843d17bb3c98333e8d68752e25722b5860f48e0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 7860b9e6ffece207d054ac0c321bc3c5b983708f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Http2: don't call ensureConnection when there's no request availableMårten Nordheim2020-12-021-1/+3
| | | | | | | | | | | | | | Previously we only checked if there was something in the h2 queue or if we had not yet switched to http2. These means in some cases that following an error it would enter this branch and, because it had not yet switched to http2, it would call 'ensureConnection' which would try start a reconnection. This could make the proxy socket engines try to emit 'auth required' with no replies, meaning nothing happens. Fixes: QTBUG-88417 Pick-to: 5.15 6.0 Change-Id: If37b8c71ac36597adc305fb1b1ea4fa7b48b0d28 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QAuthenticator: condition using GSSAPI on credentials availabilityMårten Nordheim2020-09-111-1/+8
| | | | | | | | | | | | AFAICT with GSSAPI the normal workflow is to run kinit or similar and authenticate before running programs relying on it. Therefore we can try to get the credentials before we choose whether or not to use Negotiate. Pick-to: 5.15 Task-number: QTBUG-85123 Change-Id: If0478fdd45389b2939ad87c2f582776fe56959bb Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNAM: fix stall due to edge case when connected with no request queuedMårten Nordheim2020-09-101-2/+12
| | | | | | | | | | | | It really could only manifest itself if you started a request and then immediately cancelled it and then started another one to the same site. But only if in a certain race outcome - the connection that the backend was establishing had to finish connecting after aborting but before a new request had been queued! Change-Id: I7cad2cf4ac1f64cc838498cefa076cd2c6d26701 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* wasm: enable httpmultipartLorn Potter2020-09-041-0/+2
| | | | | | | This allows for multipart requests. Change-Id: I1206d160cfd9150a9627c36ed60ea4cbb58e95aa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QNetworkReply(http): Ignore ssl errors in all reserved channelsMårten Nordheim2020-08-241-2/+6
| | | | | | | | | | | and not just the active one(s). When starting the connection with HTTP/2 and calling QNetworkReply::ignoreSslErrors() it would previously only ignore the errors in the single active channel that was used, but if we then fall back to HTTP/1.1 then we'll use the 5 other channels as well, and those would then fail due to the ignored ssl errors. Change-Id: I7aeb5b59897dd3a53579f0d38bd255bc2d97c2bb Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNAM: Fix proxy auth handling when requesting but not yet changed to h2Mårten Nordheim2020-08-131-1/+2
| | | | | | | | In some cases (i.e. with SOCKS) we don't have a HTTP/2 request ready yet so it would just error out. Change-Id: I6449de5fb52f5208d5641062c5906c3baff18b77 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Make use of QDecompressHelper for HTTP downloadsMårten Nordheim2020-08-051-1/+2
| | | | | | | | | | Changes are not too big for now. Just replaces use of the previous calls to the zlib decompression function. And initialize QDecompressHelper when we know the content-encoding. Task-number: QTBUG-83269 Change-Id: I41358feaef2e7ac5f48f14e3f95ec094e0c110b7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove winrtOliver Wolff2020-06-061-8/+0
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove bearermanagement usage inside QNAM and QNetworkProxyMårten Nordheim2020-04-011-49/+0
| | | | | Change-Id: I2c4fdf598b46daf1b69a65848ebe0fd78ef8be24 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-02-131-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/boxes/scene.h src/corelib/Qt5CoreMacros.cmake src/corelib/Qt6CoreMacros.cmake src/network/ssl/qsslsocket.cpp src/network/ssl/qsslsocket.h src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp src/testlib/CMakeLists.txt src/testlib/.prev_CMakeLists.txt tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp Disabled building manual tests with CMake for now, because qmake doesn't do it, and it confuses people. Done-With: Alexandru Croitor <alexandru.croitor@qt.io> Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
| * QNetworkAccessManager: deprecate bearer related functionsMårten Nordheim2020-01-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | In Qt6 QNAM will no longer use bearer in any way so we deprecate it now. Also mark bearermanagement-conditioned sections for removal in Qt6, the _q_networksession property is part of how QNAM passes the QNetworkSession around. Task-number: QTBUG-81609 Change-Id: I04aad9dd96482c6822dffba1b9af7aa58961149c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>