summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* Move qurltlds_p.h out of src/network, and make it a .cpp fileKai Köhne2022-10-016-4897/+3
| | | | | | | | | | | | | | The file was originally introduced as a header because the data was also used by Qt WebKit. This is not needed anymore. Moving it into src/3rdparty is also more in line with QUIP 4. [ChangeLog][Third-Party Code] The Public Suffix List (PSL) data file got moved from src/network/kernel/qurltlds_p.h to src/3rdparty/libpsl/psl_data.cpp. Change-Id: I3283cbbd72575032d8c7ebd333e81048d948c052 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Replace qExchange calls with std::exchangeFabian Kosmale2022-09-283-5/+5
| | | | | | | | | | | | | | | | | | | | | qExchange is one of the few remaining functionalities that have not been moved out of qglobal. Given that std::exchange exists in the standard, we can simply move to it everywhere... ...if it weren't for the fact that std::exchange is only constexpr in C++20, and only has its noexceptness specified in (most likely) C++23. Still, we want to move to the existing std functionality where possible, to allow the removal of qglobal includes in lieu of something more fine-grained in the future. So leave any constexpr calls[1] alone for now (and observe that none of our current usages cares about the conditional noexceptness), but replace everything else. [1] QScopedValueRollback' ctor and QExplicitlySharedDataPointerV2::take Task-number: QTBUG-99313 Change-Id: I599cb9846cf319c7ffd3457130938347a75aad25 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove outdated configure note about setting OpenSSL library namesJoerg Bornemann2022-09-281-7/+0
| | | | | | | | | | | | | The mentioned variable in the configure note is qmake only and not used anymore. Also, it seems pointless to show such a note on successful configuration. FindOpenSSL.cmake of CMake already takes care of library names of different OpenSSL installations. Task-number: QTBUG-93948 Change-Id: I5994df231ed4fd664f6ab17b983e88c744feb21a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: allow useCredentials access control to be setLorn Potter2022-09-283-0/+11
| | | | | | | | | | Introduce UseCredentialsAttribute that indicates whether the underlying fetch/XMLHttpRequest should use credentials https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials Fixes: QTBUG-90893 Change-Id: I2c43e286db52df387c0a22737d027b9a2a8dd2d3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QCryptographicHash: implement OpenSSL 3.0 supportJan Grulich2022-09-262-77/+0
| | | | | | | | | | | | | | | Use OpenSSL 3.0 as a provider of all hashing algorithms, except the BLAKE2b and BLAKE2s. BLAKE2b and BLAKE2s algorithms support a variable length digest, but OpenSSL's implementation outputs only a digest of a fixed length (the maximum length supported). This is 512-bits for the BLAKE2b and 256-bits for the BLAKE2s and for that reason we still use the original implementation. [ChangeLog][QtCore][QCryptographicHash] Uses the OpenSSL 3.0 implementation now, where available. Change-Id: Ia4e4139b92ea9b40a18aa480aa5c06562178f916 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QNetworkReply: honor legacy behavior of setting Accept-EncodingMårten Nordheim2022-09-221-1/+6
| | | | | | | | | And don't decompress the data Pick-to: 6.4 Fixes: QTBUG-106689 Change-Id: I93a96be8178e24ff0b0bb8647276828161445cf5 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkReplyFileImpl: Don't emit 'finished' in the ctorMårten Nordheim2022-09-161-1/+2
| | | | | | | | Pick-to: 5.15 6.2 6.4 Fixes: QTBUG-105618 Change-Id: I3bd36fbd5818d54088098e750643c3e2de30496e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Http: Don't clear (de)compressed data on errorMårten Nordheim2022-09-141-3/+4
| | | | | | | | | | | Some errors, such as 404, may still present useful data. As opposed to errors such as 'RemoteDisconnected'. So, just keep the data around until the reply is deleted. Pick-to: 6.4 Fixes: QTBUG-106573 Change-Id: I6c86b5a55a45f837ea9b42559d88cd3e0ac2fa5c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkReply: Fix missing final emission of readyReadMårten Nordheim2022-09-122-4/+6
| | | | | | | | | | | | | | | | | | | If we receive compressed data we will decompress it as it comes in, in some cases the final byte we receive doesn't actually contribute to the final output. If this byte is handled by itself then, when combined with QNetworkReply's signal compression, we ended up not emitting the readyRead signal for any of the data we received while compressing the signals. So, instead of relying on checking difference in bytes downloaded for each batch of data received we keep track of how much data we had received the last time we emitted readyRead. Pick-to: 6.3 6.4 6.4.0 Fixes: QTBUG-106354 Change-Id: I4777be29b46bf0de968667e9de9d975c735ac6e6 Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Http2: Drop an unnecessary copy of incoming dataMårten Nordheim2022-09-121-2/+1
| | | | | | | | | We don't need the QBA later, so just pass it directly to the QByteDataBuffer and avoid the ref-counter increase/decrease. Change-Id: I253a29981bdfffb1a205baaaa0788d4283253e19 Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSslServer: Document undocumented signalMårten Nordheim2022-09-081-0/+7
| | | | | | Pick-to: 6.4 Change-Id: Ife21d43d682e9463d41a1dd8c377003fca6f120f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Apply Q_CONSTINIT where beneficialSona Kurazyan2022-09-012-2/+2
| | | | | | | | | | Applied Q_CONSTINIT to variables with static storage duration, but skipped the POD types with core constant initializers. Task-number: QTBUG-100486 Change-Id: Iaabf824e9cb0f29a405a149912200d4e4b3573c1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QHttp2Configuration: in QNAM, use old, higher values in flow controlTimur Pocheptsov2022-08-303-7/+7
| | | | | | | | | | | | | | | | | | | | | Initially, stream receive window's size was quite significant. At some point when dealing with a server that did not want our windows' sizes and was closing the connection (they only accept 64K) we reduced this size, which ended in a regression with download speed significantly throttled. We return the old values (or even more, presuming we have 10 multiplexed streams and not 100). And also making QNAM consistent with its documentation (it was not updated). [ChangeLog][QtNetwork] Stream receive window that HTTP/2 protocol in QNAM is using increased to 214748364 octets (from the previous 64K) not to throttle download speed. Clients, working with servers, not accepting such parameters, must set HTTP/2 configuration on their requests accordingly. Fixes: QTBUG-105043 Pick-to: 6.4 6.3 6.2 Change-Id: I252b6b5eefe92a7304dad15c67928d5a57d9597f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Docs: Improve documentation regarding adding SSL supportNicholas Bennett2022-08-301-2/+3
| | | | | | | | | | | | | Added link to Adding Open SSL support to Android Applications Users are having difficulty finding this information, so adding a link to the networking module's SSL Classes page. Clarified the section title for adding SSL when building Qt from source. Pick-to: 6.3 6.4 Change-Id: I88fbf696583d75c76d3b9778dbacd058eb00b50d Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Add QComHelper class for dealing with COM on WindowsTor Arne Vestbø2022-08-291-9/+7
| | | | | | | | | | | | | | | Unifies our approach to calling CoInitializeEx and CoUninitialize, removing a lot of boilerplate in the process, and also fixes a few bugs where we would incorrectly balance our calls to CoInitializeEx and CoUninitialize. The optimistic approach of qfilesystemengine_win.cpp of calling CoCreateInstance without initializing the COM library explicitly has been removed, as calling CoInitializeEx should be a noop in the situation where it's already been loaded. Change-Id: I9e2ec101678c2ebb9946504b5e8034e58f1bb56a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Make sockets' accept() methods return qintptrMårten Nordheim2022-08-2410-19/+19
| | | | | | | | | | | Not necessarily relevant outside windows, where the socket descriptor is SOCKET (= unsigned 64-bit). Also follow their recommendation to not compare to -1, but rather to INVALID_SOCKET. Pick-to: 6.4 6.3 6.2 Change-Id: I0cfa4dfd9e147469132e2e72de22b30eab01e15c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-236-6/+6
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QSslServer: Re-enable read notifications when a client times outMårten Nordheim2022-08-191-0/+2
| | | | | | | | | | | Otherwise new clients will not be handled when they try to connect Amends 29a1fe72a0888eb1f22a5ae9fe1b3d87257f3246 Pick-to: 6.4 Change-Id: Ifff052d1bf27682df2782faa285a257c9b41d86f Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QSslServer: Make sure maxPendingConnections applies to all socketsMårten Nordheim2022-08-174-1/+23
| | | | | | | | | | Not just the ones we added to the pending sockets list Pick-to: 6.4 Change-Id: I0a0016fe39df7ca2fc3f0c4e4111195bc6d90198 Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSslServer: Implement handshake timeoutsMårten Nordheim2022-08-173-3/+67
| | | | | | | | | | | | | | | If a client doesn't send any data then we would leave the socket open for as long as it needed, wasting resources. Add timeouts to limit the amount of time this can happen for. Since there is a limit on number of sockets that the server will have queued, having idle sockets stick around forever is a vector for ddos. Pick-to: 6.4 Change-Id: Ida6251c92c625eeadf2065861b840b14255654b8 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QSslServer: Check that first byte is ClientHelloMårten Nordheim2022-08-172-2/+82
| | | | | | | | | | SecureTransport ignores any content that comes in until it is large enough to be a handshake. So a plaintext client may be left hanging while it is waiting for a response. Pick-to: 6.4 Change-Id: I501ae61d89d516765c7ba5f0d916d9246fde5d4d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QSslServer: pass 'this' as a context to connections to socketMårten Nordheim2022-08-171-9/+9
| | | | | | | | | | Then we don't have to do a 'global' disconnect() on the socket object just to disconnect the QSslServer from the socket. Pick-to: 6.4 Change-Id: Ie3c9680db2717e21a0c548c74374a58d533534fe Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QAuthenticator: Fix crash when using NTLM / NegotiateMårten Nordheim2022-08-172-7/+22
| | | | | | | | | | | | | | | | | | | 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>
* QtNetwork: Modernize JNI usageMårten Nordheim2022-08-091-8/+7
| | | | | | | | Fixes: QTBUG-104188 Change-Id: Iba14fbe23a44df6cb5f2f82b33339606165d1ce5 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QNetworkInformation: Add missing \since markerMårten Nordheim2022-08-081-0/+1
| | | | | | | | | | | The new name was introduced in 6.4, but the documentation stayed the same since it was initially written. Amends 8367be8ede233245f1c11ed1291c02afcdb0750e Pick-to: 6.4 Change-Id: Idb27b551760f0d0cb41220be18a4d87e5875baae Reviewed-by: Timur Pocheptsov <timur.pocheptsov@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>
* Remove if_types.h workaround for watchOSTor Arne Vestbø2022-08-042-24/+0
| | | | | | | | | watchOS is no longer supported, nor should the workaround be necessary anymore. Pick-to: 6.4 6.3 6.2 Change-Id: Id5898d14b10e8f4aeaf6ce42ab39dbfdff9338ef Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QtBase: Windows: Replace some deprecated API usagesYuhang Zhao2022-08-031-1/+1
| | | | | | | | | | | | Microsoft recommends to use CoInitializeEx() and SetWindowLongPtr()/GetWindowLongPtr() in new code. Use COINIT_DISABLE_OLE1DDE to avoid overhead of initializing and using obsolete technology. Pick-to: 6.4 Change-Id: I9d16943e864d4487dd4f46fd9325579c298c52b9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add license headers to cmake filesLucie Gérard2022-08-036-0/+18
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QNetworkInformation: guard deprecated method definitionsIvan Solovev2022-07-251-0/+4
| | | | | | | | | | | The definitions of the deprecated methods were not guarded by the QT_DEPRECATED_SINCE() check, which causes compilation errors when trying to get rid of the deprecated APIs using QT_DISABLE_DEPRECATED_BEFORE. Task-number: QTBUG-105126 Pick-to: 6.4 Change-Id: Iff7a5bbde743b4351b98c58090da44fe05c4654a Reviewed-by: Mårten Nordheim <marten.nordheim@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>
* Doc: Add default value for seed param to all qHash overloadsKai Köhne2022-07-203-5/+1
| | | | | | Pick-to: 6.4 Change-Id: I4d559ccd60ec54d2584dceecaece7e0899c0eea9 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Port QByteDataBuffer to qsizetypeMarc Mutz2022-07-201-1/+1
| | | | | | | | | | | | Less impedance mismatch with the other Qt containers. As a drive-by, fix code style in the touched lines, and remove superfluous inline keywords. Pick-to: 6.4 6.3 Change-Id: I2c9444a8f956e58c361104a19f55fcc783cd1a1d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QHttpHeaderParser: fix int/qsizetype nagsMårten Nordheim2022-06-271-3/+3
| | | | | | | | | | | | These values won't extend past MAX_INT but it may produce warnings nonetheless. Found by clang-tidy. Pick-to: 6.4 6.3 Task-number: QTBUG-104452 Change-Id: Icd8aa80a318274be00a3b32ad26a92745903cecb Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QHttpHeaderParser: fix clang-tidy nagsMårten Nordheim2022-06-271-8/+7
| | | | | | | | | "use empty instead of checking size" "no else following return" "initialize your variables" Change-Id: I4512471ec15a00f7ac1fccf88a3c87b8aa983ad7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QHttpHeaderParser: Allow larger fields but restrict total sizeLars Schmertmann2022-06-272-11/+40
| | | | | | | | | | | | | | | | | | Our limit of 8k for a single header field was too small for certain services which returned Location values or WWW-Authenticate challenges longer than 8k. Instead, taking inspiration from Chromium, we have a limit of 250k for the full header itself. And increasing our field limit to 100k, which would occupy almost half of what the total header allows. Also took the opportunity to make it adjustable from the outside so we can set more strict limits in other components. Fixes: QTBUG-104132 Pick-to: 6.3 6.4 Change-Id: Ibbe139445e79baaef30829cfbc9a59f884e96293 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* Isolate http2protocol_p.h includeAlexey Edelev2022-06-221-1/+1
| | | | | | | | | | http2protocol_p.h is not supposed to be used without the http feature is enabled. Move its include under QT_CONFIG(http) guard. Change-Id: I374dd84d3330de2b4c340b9803d0c3d2c13bc8e3 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add the qt_class pragma to file listed in sync.profile classnames mapAlexey Edelev2022-06-222-0/+8
| | | | | | | | | This makes header files self-contained and reduces the number of 'sources of truth' for syncqt procedure. Change-Id: I7f5865abc69934603139d23e1b5452da46ccb110 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move ssl header files to the general QtNetwork sourcesAlexey Edelev2022-06-221-5/+10
| | | | | | | | | | | Move public ssl headers to the general QtNetwork sources since they supposed to be used across the project without corresponding checks for the FEATURE_ssl presence. The content in these header files has a conditional implementation guarded by corresponding macros. Change-Id: I43168469da27321c2d8064ec2e5d7fe31126ebec Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Network: make Public Suffix List constexprYuhang Zhao2022-06-191-1/+1
| | | | | | | | | | | | | Upstream PR: https://github.com/rockdaboot/libpsl/pull/182 The repo owner denied the PR because the library only produces C89-compatible code and constexpr is a C++ feature. Pick-to: 6.4 Task-number: QTBUG-100485 Change-Id: I9e01705b27022a636a98ac67b19169677d7c7652 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix typos in docs and commentsKai Köhne2022-06-153-3/+3
| | | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: Ie3e301a23830c773a2e9aff487c702a223d246eb Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Unify QSslServer from QtWebSockets and QtHttpServer into QtNetworkØystein Heskestad2022-06-044-0/+383
| | | | | | | | | | | | | Both QtWeSockets and QtHttpServer has a QSslServer class that is useful elsewhere. They are different though, so the new class has features from both versions. [ChangeLog][QtNetwork] Unify QSslServer from QtWebSockets and QtHttpServer into QtNetwork Task-number: QTBUG-100823 Change-Id: I523f04db39297ceb9b258f673eb12deecfc6886c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* The new signal pendingConnectionAvailable is added to QTcpServerØystein Heskestad2022-06-042-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | The new signal pendingConnnectionAvailable is emitted after a new connection has been added to the pending connections queue. Connect to this signal and call nextPendingConnection to handle incoming connections. The existing unchanged newConnection signal is emitted after the overridable function incomingConnection is called, regardless of whether a new connection is added to the pending connections queue in the incomingConnection function or not. If a subclass that overrides incomingConnection either decides to not add all incoming connections to the pending connections queue, or to postpone adding the connection until a handshake is successfully completed, the pendingConnectionAvailable signal should be to used, because this signal directly corresponds to insertions to the pending connections queue. [ChangeLog][QtNetwork][QTcpServer] New signal pendingConnectionAvailable is emitted when a new connection is added Task-number: QTBUG-100823 Change-Id: I00c76761389065f68271553e69e6c45c393a2fa8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* wasm: add support for blocking socketsMorten Johan Sørvig2022-06-021-0/+25
| | | | | | | | | | | | | | | | | | | | | Add support for blocking sockets on secondary threads and on the main thread with asyncify. This extends the support for websockify tunneled TCP sockets, which was previously limited to async sockets on the main thread. Blocking sockets support is implemented by emulating select() on top of emscripten's socket notification support. This is requires synchronization between the blockee threads and the main thread, since we get socket notification callbacks on the main thread. The synchronized state is held in g_socketState where the main thread registers socket readiness state and blocking threads register themselves. Blocking using asyncify on the main thread is similar to blocking on a secondary thread, with the exception that the main thread suspends with qt_asyncify_suspend() instead of waiting on a wait condition. Change-Id: Idb5a493644e1e6634057dc2f64f2e99e82e3c01e Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Remove mentions of SSL 3 in documentationMårten Nordheim2022-05-302-6/+5
| | | | | | | | | | And some s,SSL,TLS, in the same paragraphs. Changing SSL to TLS in the whole codebase looks odd given classes are still called QSsl*, but may be worth considering at some point. Pick-to: 6.3 6.2 Change-Id: I06dfcd99c1f6ac9e029e1914363344b3705d871f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QAuthenticator: allow to set custom SPN for Windows clientIvan Solovev2022-05-241-3/+27
| | | | | | | | | A new option is added for SPNEGO/Negotiate authentication with SSPI backend to customize the SPN that is used during the procedure. Fixes: QTBUG-88869 Change-Id: If034ef451a61593445d8e79e7f82b9d3610ed653 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Network: update Public Suffix ListIvan Solovev2022-05-232-4384/+4463
| | | | | | | | | using the description from qtbase/src/network/kernel/qurltlds_p.h.INFO Task-number: QTBUG-103663 Change-Id: I543fa96d2538f5eb63b114fe6467fb5b0e891e3b Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove more unused qreadwritelock.h includesMarc Mutz2022-05-171-1/+0
| | | | | | Pick-to: 6.3 6.2 Change-Id: I4962c1abcc58d36500a56ccca680f6f36c3b5d89 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-16254-9832/+533
| | | | | | | | | | | | | 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>
* QNetworkCacheMetaData: replace qSwap with member-swapMarc Mutz2022-05-111-1/+1
| | | | | | | | | | | | This one seems to have been forgotten the first time around. Amends f438d29b6fdfff0680b09e88590ee47b22877776. Task-number: QTBUG-97601 Pick-to: 6.3 6.2 5.15 Change-Id: Ia9b2667dd69cc4a9778f8c9bdf905ca11b4e079e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>