summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* QNI: Add a convenience method for loading the default pluginMårten Nordheim2021-10-223-2/+65
| | | | | | | | | We have some official plugins, we may as well treat them as default and give a convenient function which loads those. Change-Id: I6251c77ac042b795bcf24b86e510e960ee4bab54 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNI: Add supportedFeatures getterMårten Nordheim2021-10-222-0/+11
| | | | | | | Which just returns all the supported features Change-Id: I8c3996b00a6ebb114bdbc9db3085a0e27fc8fa79 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Doc: Enable qdoc warning count limitVenugopal Shivashankar2021-10-211-0/+3
| | | | | | | | This should restrict changes that introduce new warnings. Change-Id: I7e4b5d9d5d84b7c336509c380bc7e6d86e360f4a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* SSL: Update documentation wrt backendsMårten Nordheim2021-10-201-8/+31
| | | | | | | | | Mention the platform-specific backends and add a section on packaging Pick-to: 6.2 Fixes: QTBUG-97532 Change-Id: Ice78e32e81a719ccf237625e542d620662d3073e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QNetworkAccessAuthenticationManager: don't mix iterators and pointersGiuseppe D'Angelo2021-10-141-8/+11
| | | | | | | | | | | QList::iterator is not a pointer and shouldn't be treated as one. Convert the code to use iterators consistently (using iterators is necessary due to the call to insert()). Change-Id: I917b3ff6fdcf1f7959e35ac5b091a8140e9f833c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Android: remove unused imports and fix warning on network java codeAssam Boudjelthia2021-10-121-1/+0
| | | | | | Pick-to: 6.2 Change-Id: Ifa69c04f7f2e75751b6f8a157d04f3870f0c0eb1 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Don't send the default SETTINGS_INITIAL_WINDOW_SIZETimur Pocheptsov2021-10-123-13/+14
| | | | | | | | | | And don't set non-default large value in QNetworkRequest's constructor. Some servers consider those values as 'flow control error'. Pick-to: 6.2 Fixes: QTBUG-97384 Change-Id: I801b7c83fe7e7392a02ba653c36dfa8a22c21d1e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* network: Fix typos in source code commentsJonas Kvinge2021-10-1210-16/+16
| | | | | | Change-Id: Iff505451e3f00de2d753de0f1d891a73cf73ef0d Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* network: Fix typos in messagesJonas Kvinge2021-10-122-2/+2
| | | | | | Pick-to: 5.15 6.2 Change-Id: Ibad852372c80a988efeabc2b0757bf238b92b9a3 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* network: Fix typos in documentationJonas Kvinge2021-10-1212-15/+15
| | | | | | | Pick-to: 5.15 6.2 Change-Id: I386c6e4a21dacb2553a39a073052dcf6d92a9854 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QNI: Add missing transportMedium documentationMårten Nordheim2021-10-121-0/+30
| | | | | | | | | I forgot Fixes: QTBUG-97409 Change-Id: I5ee94b2cc4c70b6408bb9bb9368c6876f3179783 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Http/2 - handle PADDED flag correctlyTimur Pocheptsov2021-10-091-2/+3
| | | | | | | | | | | | Previously, when deciding where the actual data is, Frame was calling padding() to test if offset is needed. A curious case with a DATA frame containing compressed body and having 'PADDED' flag set with a padding equal to ... 0, ended in a decompression error (and assert in 6.2 code). Pick-to: 6.2 5.15 Fixes: QTBUG-97179 Change-Id: I9341a4d68510aa4c26f4972afdcd09a530d5a367 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QNetworkInfo: Add transport medium detection APIMårten Nordheim2021-10-073-4/+55
| | | | | | | | | | | The new public API returns and notifies changes to the currently active transport medium for the application. And there's a new private API to report it, with backends to follow. Task-number: QTBUG-91023 Change-Id: I527985f9dabcd7bc4a32f36597e21bc4ab664c4e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Android: Update and add missing gradle files for jar foldersAssam Boudjelthia2021-10-063-0/+60
| | | | | | | | | | | | Update the build.gradle for main Qt jar code, and add same files for network and network information backend, so the code can be managed from Android Studio. This also adds .gitignore to ignore Android Studio build artefacts. Pick-to: 6.2 Change-Id: Ic06e9d12708070fad112f17e58b8754608d184f3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QLocalSocket/Win: stop reading in close()Alex Trotsenko2021-10-061-0/+1
| | | | | | | | | | After calling close(), the socket can enter 'Closing' state, in which we try to write buffered data before disconnecting. As the device is already closed, we must disable any pipe reader activity and clear the read buffer. Change-Id: I8994df32bf324325d54dd36cbe1a1ee3f08022d1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Doc: Do not highlight DTLS client/serverKai Köhne2021-10-051-3/+1
| | | | | | | | | | | The client and server do in practice depend on each other. So setting up things is a tad more complicated, and the use case not big enough to warrant both to be highlighted. Task-number: QTBUG-96575 Pick-to: 6.2 Change-Id: I0ed69f7a20ec490cc977bde7f1b09162153d0bd2 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QLocalSocket/Win: add missing check to waitForBytesWritten()Alex Trotsenko2021-10-051-1/+1
| | | | | | | | | | | | | | | Calling pipeWriter->checkForWrite() can indirectly close the socket even if the bytesWritten() signal has not been sent. So, we need to make sure the handle is valid before checking pipe state in the reader. There is no harm in calling PeekNamedPipe() with an invalid handle, but the wrong call should be avoided. This patch amends b2c3b3e8fe0d8bdc88051d0120aaa8d5cf8acce0. Change-Id: I5d2ecbbbe0af817aac68ad6f1173b0ed9b324e98 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Disable the dnslookup feature for INTEGRITYJoerg Bornemann2021-10-012-1/+2
| | | | | | | | | | | | | | | | | | The QtNetwork project file excludes the dnslookup source files for Unix, despite the dnslookup feature is always on. This inconsistency leads to linker errors when building applications against QtNetwork: (error #412) unresolved symbols: 1 QDnsLookupRunnable::query(int, const QByteArray &, const QHostAddress &, QDnsLookupReply *) from libQt6Network.a(qdnslookup.cpp.o) Turn the feature off for INTEGRITY and remove the condition from the project file. Pick-to: 6.2 Change-Id: If086da51ca343f598eb273236e7b6338f5da1e97 Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Update Microsoft's Documentation LinksLuca Di Sera2021-09-232-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | The documentation links on `msdn.microsoft.com` now redirect to `docs.microsoft.com`. While the redirection works, our script to catch broken links on dev-snapshots builds of the documentation doesn't handle redirection correctly, reporting it as broken. Both to appease the broken-links script and to avoid an unneccesary redirection, the links were modified to point to the equivalent address in the new domain. Furthermore, the link to the `Winsock 2 Socket Handle` was moved to be an `\externalpage` link, as it was used in two different places. Additionally, the `\externalpage` link titled `Dirext X SDK` was removed as it was not used in any part of the documentation. Task-number: QTBUG-96127 Pick-to: 6.2 6.2.0 Change-Id: I07f0ae8d610a7f8322b892a2fa37a5cc1769289e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* CMake: Bump almost all cmake_minimum_required calls to 3.16Alexandru Croitor2021-09-221-1/+1
| | | | | | | | | | | | Needed for subsequent change that will check and error out if the version is lower than 3.16. We do that to ensure all policies introduced by CMake up to version 3.16 have their behavior set to NEW. Pick-to: 6.2 Task-number: QTBUG-95018 Change-Id: Ieaf82c10987dd797d86a3fd4a986a67e72de486a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* QNetworkInformation: Request all supported feature when loading by nameMårten Nordheim2021-09-221-1/+1
| | | | | | | | | | | | | When we load by name we used to pass an empty QList to the backend as the list of requested features. That's not ideal if a backend were to selectively initialize components, so let's just pass the list of supported features. Not a problem in any current backend but it looks weird. Pick-to: 6.2 Change-Id: Ib022778b08d32e4057103a86bfdda9e17e6ebdaf Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QLocalSocket: reorder device closingAlex Trotsenko2021-09-212-2/+4
| | | | | | | | | | | To allow reading from a slot connected to the aboutToClose() signal, we should call QIODevice::close() just before closing the inner device. This patch amends 21f3ff65b8df777b5726a68b09bbee39f1a893ec. Pick-to: 6.2 Change-Id: Ic8cd00497e1bdf923b980c26e9ca874b77e82f89 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* QNetworkInformation: Actually compare names case insensitivelyMårten Nordheim2021-09-201-1/+1
| | | | | | | | | The docs (10 lines above) say it will find the backend case insensitively. Thus the comparison should also be case-insensitive. Pick-to: 6.2 Change-Id: I65901ed81b7d8bdfcf76f5b6c7b40efe63245503 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Q{LocalSocket|Process}/Win: handle write errorsAlex Trotsenko2021-09-182-0/+13
| | | | | | | | | To match the Unix behavior, we should emit errorOccurred() signal and close the channel if the write operation fails. Change-Id: Iac3acb18dbbfe6e7e8afb2555d9adaff1fe98d0f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QWindowsPipeWriter: do not clear the buffer in thread pool callbackAlex Trotsenko2021-09-181-1/+1
| | | | | | | | | | | | | | | | | In a blocking application, receiving the results of write operations must be synchronized with the waitFor...() functions. But, clearing the buffer in another thread can cause the code localsocket.write(...); QVERIFY(localsocket.bytesToWrite() > 0); to fail unexpectedly, if the socket has been disconnected between the calls. So, defer resetting the buffer until checkForWrite() is called. Change-Id: I8c21036aab6a4c56d02c0d9a18d4bbce52d724f4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Doc: Centralize RFC documentation-links in rfc.qdocLuca Di Sera2021-09-168-14/+13
| | | | | | | | | | | | | | | | | | | | In the effort of repairing broken links as per QTBUG-96127, a series of RFC links referring to `tools.ietf.org/html/*` were modified to point to the new address that the site redirected to. To simplify executing a similar task and to diminish the duplication of manually inserted urls, the already existing `rfc.qdoc` file, containing `\externalpage` commands directing to RFC locations, was enhanced with links to all RFCs that were mentioned in the current documentation, so as to aggregate this common category of links. All links pointing to a `ietf` domain inside QDoc documentation blocks were then changed to use the newly provided external-references. Task-number: QTBUG-96127 Pick-to: 6.2 Change-Id: I2a52eb6aa8c9e346f64ef1a627b039220d9f6c2a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Doc: Update a link to Windows SocketsLuca Di Sera2021-09-101-1/+1
| | | | | | | | | | | | | | | | | | | The link was to `msdn.microsoft.com` which now redirects to `docs.microsoft.com`. While the redirection works, our script to catch broken links on dev-snapshots builds of the documentation doesn't handle redirection correctly, reporting it as broken. Both to appease the broken-links script and to avoid an unneccesary redirection, the Winsock link in `qlocalsocket.cpp` was modified to point to the new address. Task-number: QTBUG-96127 Pick-to: 6.2 Change-Id: Idff5c2e96f7c90259219a554f73e16c37b81cafe Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Move QNAM's http header parsing into separate classØystein Heskestad2021-09-0912-132/+419
| | | | | | Fixes: QTBUG-80701 Change-Id: I43f5e102c15d121dba74e07e3cd4bb8aded1c763 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: Fix documentation warnings for Qt NetworkTopi Reinio2021-09-082-4/+7
| | | | | | | | | | | | | | | | The Clang compiler used in QDoc complained about the documentation- specific overload of QAbstractSocket::bind(): error: incomplete type 'QHostAddress' named in nested name specifier Also, fix an attempted snippet inclusion to use the \include command, and fix the comment tag spacing and indentation. Pick-to: 6.2 Fixes: QTBUG-96293 Change-Id: Ie4d78933fa7ac0aaf7f3bcc6487e7fd823db5123 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Remove QNetworkAccessCache::Node's explicit ctorMårten Nordheim2021-09-071-8/+4
| | | | | Change-Id: I2a993bcf96a0c603496e8a420251a7e01f46acee Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
* wasm: fix network data URI schemeLorn Potter2021-09-071-2/+0
| | | | | | | | | | Inadvertantly ifdefed out. Tested and works fine Fixes: QTBUG-96170 Pick-to: 6.2 5.15 Change-Id: Ib26cf76a548146d4212c48b228965348038f34e8 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Doc: mark documentation of internal functions as such to silence qdocVolker Hilsheimer2021-09-062-0/+3
| | | | | | | | Pick-to: 6.2 Change-Id: I9523511b9adf40d1280fbf320c24a79aa2860ef2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Luca Di Sera <luca.disera@qt.io>
* Fix QMAKE_LIBS_OPENSSL/NOLINK entries in qt_lib_network_private.priJoerg Bornemann2021-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The file qt_lib_network_private.pri contained the following bit QMAKE_LIBS_OPENSSL/NOLINK = QMAKE_INCDIR_OPENSSL/NOLINK = C:/openssl/include QMAKE_LIBS_OPENSSL = QMAKE_LIBS_OPENSSL_DEBUG = -L"C:/openssl/lib/VC" -llibssl64MDd QMAKE_LIBS_OPENSSL_RELEASE = -L"C:/openssl/lib/VC" -llibssl64MD QMAKE_INCDIR_OPENSSL = C:/openssl/include The /NOLINK entries are nonsense. QMake projects that do QMAKE_USE += openssl/nolink would use QMAKE_INCDIR_OPENSSL and discard the QMAKE_LIBS_OPENSSL* variables. The QMAKE_*_OPENSSL/NOLINK entries stem from the WrapOpenSSLHeaders CMake package, and QMAKE_*_OPENSSL from WrapOpenSSL. It's safe to assume that both packages use the same include paths. Remove the QMAKE_LIB parameter from the qt_find_package(WrapOpenSSLHeaders) call to avoid writing this library into the .pri file. Pick-to: 6.2 Fixes: QTBUG-89562 Change-Id: Ibc20f6f90678eb127db7813eb63c5c3e0bff2268 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Remove unsupported customFiltersKai Köhne2021-09-031-4/+0
| | | | | | | | | | | customFilters defined in .qdocconf are not supported anymore by Qt Assistant since Qt 5.13. Therefore remove them from all .qdocconf files, also to avoid cargo-culting them to new help modules. Task-number: QTBUG-95987 Change-Id: I664391460637d2e859348da0338e1a4a3ee9f570 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QNetworkAccessCache: Style fixes and move assertsMårten Nordheim2021-09-021-6/+4
| | | | | Change-Id: I300d2525d9987737697e2cc6a326be19554902c8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkAccessCache: Port to QDeadlineTimerMårten Nordheim2021-09-021-13/+11
| | | | | | | | | QDeadlineTimer is semantically more correct than comparing timestamps to 'now'. Change-Id: I15d9654af2886499392e6409d22f802203aca18d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkAccessCache: move debug logging to specific ifdefMårten Nordheim2021-09-021-1/+3
| | | | | | | | | | | | Instead of for any debug output. Since QTestLib cuts off output after X messages we shouldn't add these by default. Another option would be categorized logging, but QNAC should not be very interesting for 'outside' users Change-Id: I4c2c2a68ca4962476bfecd679f3229ccf3403aee Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkAccessCache: Remove the ctor and init member variables in classMårten Nordheim2021-09-022-8/+2
| | | | | | Change-Id: Ic7ce41679d89b496413ef13e6e917bf506b2405d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkAccessCache: Rename first and last nodeMårten Nordheim2021-09-022-64/+68
| | | | | | | | | | | | | 'oldest' and 'newest' to me make me thing of 'least recently inserted' and 'most recently inserted', which is what they used to mean. But now the expiration can be set per-request so the semantics don't work anymore. So, rename to 'nextExpiringNode' and 'lastExpiringNode'. Also rename the node member elements "older" and "newer" to the more generic "previous" and "next". Change-Id: I582267d09c60c68396e4201e4a20185bbf0942e2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QLocalSocket/Win: fix waitFor...() functions for write-only socketAlex Trotsenko2021-09-021-8/+36
| | | | | | | | | | | | | | | | | There were several issues with the socket state checking when the pipe reader is not running: - the number of object handles in the WaitForMultipleObjectsEx() call might have been zero; - a call to the waitForDisconnected(-1) might have hung; - we did not perform a loop iteration for the waitFor...(0) calls, so disconnect detection was unreliable. These issues are related to the same code, so they don't seem to be addressable separately. Change-Id: I3bca872bb4191e6a7d38a693d81f7981af7fe145 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Fix documentation of QNetworkAccessBackendMårten Nordheim2021-09-011-0/+111
| | | | | | | | | | | | | | | | | | | The classes themselves were not documented, so...: Add some documentation for QNetworkAccessBackendFactory. Add some overall class docs for QNetworkAccessBackend. The class docs were marked \internal (because they mostly are). I don't think we yet have a defined way to handle semi-private APIs but having them be marked \internal and leaving the documentation in source seems fine (and was what someone suggested a while back). Add documentation for pure virtual functions which were overlooked. Pick-to: 6.2 Fixes: QTBUG-88774 Change-Id: Id7fe18ec92372abb96540cd29543608f87ec862e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkAccessCache: Another fix to the linked list insertionMårten Nordheim2021-08-311-0/+2
| | | | | | | | | When inserting between two nodes the "previous" node's "newer" was forgotten and not updated. So every node's "newer" would point to the "newest" node. Change-Id: I5b0df8812be5f7f62b3ae363e4c78f582e0e5c43 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkAccessCache: Remove unused codeMårten Nordheim2021-08-272-42/+0
| | | | | | | | The function was never called. As a consequence receiverQueue was only ever read and never written. Change-Id: I30905446452d9f263124d3af08c42e2e1b0cafbe Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkCookie: Clean upMårten Nordheim2021-08-271-8/+8
| | | | | | | | | | | | | Rewrite the regex to not capture the things we ignore anyway. Use capturedView to avoid allocating a string just to turn it into an int. Fix a (usually) ifdef-ed out piece of code that was still calling a QRegExp function. Make the QRegularExpression static const to save it from having to recompile every time. Change-Id: I2f4841a2bc35df4e6cea44aec72432410583f770 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Implement generating of private cpp exportsAlexey Edelev2021-08-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Add the generating of private cpp exports for Qt modules. Add the GENERATE_PRIVATE_CPP_EXPORTS option to qt_internal_add_module that is the manual switch for private exports generator. Existing modules in qtbase doesn't follow any strict convention of using private cpp export. So there is no clue how to detect if generating of the private exports is required or not for the module. Use autogenerated private cpp exports in QtNetwork module. CPP_EXPORT_HEADER_NAME argument of the qt_internal_add_module function is replaced by the CPP_EXPORT_HEADER_BASE_NAME and has a different meaning. The provided name is used as a base name for the private and non-private headers that contains cpp exports. Header files suffixes are constant: .h and _p.h for the non-private and private header files accordingly. Pick-to: 6.2 Task-number: QTBUG-90492 Change-Id: Icf11304e00379fb8521a865965c19b974e01e62f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QNetworkCookie: Fix use-after-freeMårten Nordheim2021-08-261-3/+4
| | | | | | | | | | | | The code was previously calling indexOf() on a temporary, which QRegularExpression would create backing storage for. After 11d1dcc6e263c5059f34b44d531c9ccdf7c0b1d6 the internals were made to use the QStringView path, which inadvertently meant that there was no storage for the temporary string anymore. So we need to keep it alive ourselves. Change-Id: I542da7010934594eba3b93261322963866ed9297 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* wasm: don’t dereference null reply pointerMorten Johan Sørvig2021-08-261-40/+33
| | | | | | | | | | | | | | | | | | | Move all access to the reply inside the nullptr check, while making sure to still call emscripten_fetch_close() unconditionally where needed. Make all four Emscripten callback handlers have a similar structure where we check if the reply is not null and not in the Aborted state. (This removes one emscripten_fetch_t nullptr check in stateChage(), if it is really the case that Emscripten calls us with a null emscripten_fetch_t then we should add it back.) Pick-to: 5.15 6.1 6.2 Change-Id: Iadcbe6338c338cfeb8967490e0951d8b3e1ec5b3 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* NetworkAccessBackend: Remove the backend part of the nameMårten Nordheim2021-08-262-2/+2
| | | | | | | | | | | | | | For consistency with naming of other plugins. Slight compatibility break, but this is semi-private API. [ChangeLog][Network][QNetworkAccessBackend] The NetworkAccessBackend plugin-type is renamed to NetworkAccess, if you have a plugin marked NetworkAccessBackend you need to change it to NetworkAccess. Pick-to: 6.2 Change-Id: Ib5ea02f542254b0f5b8c425c89ee00075a58c956 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkAccessManager: move #ifery out of if-conditionMårten Nordheim2021-08-261-4/+8
| | | | | | | for legibility Change-Id: Id5bc2471e79bb8560cec46068cc72573f6adec34 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkAccessBackend: emit readyRead less oftenMårten Nordheim2021-08-261-1/+4
| | | | | | | | | Once per iteration of the loop wouldn't theoretically be so bad if there was no overhead to emitting signals or reading from buffers. Change-Id: I0e424264fcc95eb2e2e5f8f908cf9ae3a7cc4b7e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>