summaryrefslogtreecommitdiffstats
path: root/src/network/kernel
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* Doc: Centralize RFC documentation-links in rfc.qdocLuca Di Sera2021-09-162-4/+3
| | | | | | | | | | | | | | | | | | | | 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>
* Implement generating of private cpp exportsAlexey Edelev2021-08-271-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Doc: Fix warnings about undocumented enum and parametersNico Vertriest2021-08-032-2/+6
| | | | | | | | | | - enum 'CaptivePortal' in QNetworkInformation::Feature - parameter 'debug' in QNetworkAddressEntry::operator<<() - parameter 'debug' in QNetworkInterface::operator<<() Pick-to: 6.2 Change-Id: I518bc06edee9fa4955dc6295786ab1a6be989727 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QCryptographicHash: use a std::array to hold result (was: QByteArray)Marc Mutz2021-07-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | The maximum size for a hash result is 64 atm. Even if, and esp when, we'll get to 128 and 256 bytes in the future, there's no reason to use dynamic memory, because the sizes will always be statically known. So use, essentially, a std::array<char, 64> to hold the result internally. Add a bit of convenience API on top to limit impact on the rest of the code and add a few static_asserts that ensure this is large enough. Then give users access to the internal buffer by adding QByteArrayView resultView() const noexcept. The documentation snippet is taken from QString::data(), suitably adjusted. Use resultView() in a few places instead of result(). [ChangeLog][QtCore][QCryptographicHash] Changed to use a statically-sized buffer internally. Added resultView() to access it. Change-Id: I96c35e55acacbe94529446d720c18325273ffd2f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QCryptographicHash: port addData() to QByteArrayViewMarc Mutz2021-07-061-12/+12
| | | | | | | | | | | | | Incl. the static hash() function. Remove the QByteArray versions from the API, but not the ABI. Adapt some callers. [ChangeLog][QtCore][QCryptographicHash] Replaced QByteArray with QByteArrayView in addData() and static hash() functions. Change-Id: Ia0e9bf726276305e05894d323d76a29e985f39eb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Migrate to autogenerated cpp exportsAlexey Edelev2021-06-251-14/+1
| | | | | | | | | Replace the hardcoded cpp exports with a generated one where it's applicable. Task-number: QTBUG-90492 Change-Id: Idc160b594987b2c765e75bd669aae851b4366282 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Consistent indentation for all Q_PROPERTYsAndreas Buhr2021-06-241-1/+2
| | | | | | | | Task-number: QTBUG-94407 Pick-to: 6.2 Change-Id: I8c97a0b2de2bed78456322be271724fc47479d83 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Update public suffix listMårten Nordheim2021-06-142-14309/+14419
| | | | | | | | Task-number: QTBUG-94410 Pick-to: 6.2 6.1 5.15 Change-Id: I2ccf717dc7e0e70c4abd66956238ac3cca1d7a5d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkInformation: Rename the plugins and typeMårten Nordheim2021-06-111-1/+1
| | | | | | | | | | To better match other plugins in Qt Pick-to: 6.2 Change-Id: I6ab19603f13c80a8afe4fe69f64669559a0eea15 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Yuhang Zhao <2546789017@qq.com>
* QNetworkInformation: Adjustments to captive portal APIMårten Nordheim2021-06-083-39/+14
| | | | | | | | | | | | | | | Make it return bool since the TriState was really only used signify that the property was unsupported but there is already a separate way to check if it's supported. More importantly there is no different set of actions available to a user if they're in the Unknown or False state. Because of the change to bool, we also rename the property to have an 'is'-prefix. Change-Id: Iaaaad5ac31e663c36e00223bf5b0e719f412fc69 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QNetworkInformation: Behind captive portalMårten Nordheim2021-05-313-0/+60
| | | | | | | | | This patch adds the API, with no supporting backends Task-number: QTBUG-93848 Change-Id: I50454717f928819e1b990df91872675e842f9987 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add function to QAuthenticatorPrivate to check method supportMårten Nordheim2021-05-202-0/+22
| | | | | | | | To see if a certain method is supported. To be used in an upcoming patch. Change-Id: I1a5c2f655585331820701bb54f6991b4aba38273 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkAddressEntry: export QDebug stream operatorFabian Kosmale2021-05-192-3/+19
| | | | | | | | It already existed, but was only used internally in QNetworkInterface's debug stream operator. Change-Id: I36c2b4f6cb228df2f92ec92cc879b6d34f1e3ea1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Use templated QJniObject::object() instead of static_castAssam Boudjelthia2021-05-061-1/+1
| | | | | | | Change-Id: I3bf366967d7995621aba1a7c1bec6732f3ef957d Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add Solaris support in cmake buildNiclas Rosenvik2021-04-211-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add SOLARIS cmake platform definition. Add settings for QT_DEFAULT_MKSPEC so that qplatformdefs.h can be found. Solaris has its gssapi symbols in libgss. Solaris supports @ORIGIN. Solaris ld does not support --dynamic-list needed for reduce relocations. Make solaris fail the reduce relocation test. getauxval is specific to GNU libc and some other libc implementations on Linux but sys/auxv.h is not. The bootstrap uses sys/aux.h as the only indication for getauxval. This breaks builds on Solaris, so only make sys/auxv.h an indicator for getauxval on linux or glibc based systems. Solaris uses X11 so add it to the X11_SUPPORTED list. Solaris network libraries for sockets etc are in socket and nsl. ifreq does not have a member ifr_ifindex on Solaris, it uses ifr_index. Add test to check if ifr_index is a member of ifreq. The first struct in the in_addr union on solaris is defined as four uint8_t, therefore four arguments are needed for its initializer list. Change-Id: Ieed4c1bbac8559a7ae1db9c4e1e91f609f150270 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QNetworkInformation: delete the instance as a post-routineMårten Nordheim2021-04-141-2/+24
| | | | | | | | | | | | | | | | | | | | | | On Windows, on exit, the backend will deref (and then implicitly start deletion of) a COM object. This object tries to communicate with an object in another thread, though it seems this other thread quits before the main thread in _most_ cases. To get around this we move the deletion to earlier in the program. While this is only reported as a Windows issue it makes for more consistent behavior if all platforms behave the same. Document and test that recreation of QNI works as expected after the destruction (and recreation) of QCoreApplication. Amends: 0875626e22ad4e709ddf505e701a8d699559f5b4 Fixes: QTBUG-92568 Pick-to: 6.1 6.1.0 Change-Id: Iffc07f38673019aa059efd4d64d2ad706a03f6fe Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge integration refs/builds/qtci/dev/1618240808Qt CI Bot2021-04-122-3/+9
|\
| * QNetworkInformation: Private the destructorMårten Nordheim2021-04-122-3/+9
| | | | | | | | | | | | | | | | It wasn't meant to be public. Pick-to: 6.1 6.1.0 Change-Id: Ifa7fff48f82b96bdfa277677d3988dc8881b8c2a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge integration refs/builds/qtci/dev/1618233601Qt CI Bot2021-04-122-30/+23
|\ \ | |/ |/|
| * QNetworkInformation: Remove the default argumentMårten Nordheim2021-04-122-30/+23
| | | | | | | | | | | | | | | | | | And the code for loading whatever backend is sorted first. Though, looking at the code it would've never returned 'true' anyway. Pick-to: 6.1 6.1.0 Change-Id: I7bc2c740e8cb5343e5843cb1d65715d236b92a25 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge integration refs/builds/qtci/dev/1618228407Qt CI Bot2021-04-121-1/+1
|\ \
| * | QNetworkInformation: make supports(...) not virtualMårten Nordheim2021-04-121-1/+1
| |/ | | | | | | | | | | | | Pick-to: 6.1 6.1.0 Change-Id: Ib8d27410e6baa495a7351a57c8c1c1b30a64eb26 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* / doc: Fix typoAlbert Astals Cid2021-04-121-1/+1
|/ | | | | | Pick-to: 6.1 Change-Id: Ia4219d06e306b2abd2ac0977cac63ce0492c6397 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Linux: Add abstract address support for QLocal{Socket,Server}Piotr Mikolajczyk2021-04-011-0/+11
| | | | | | | | | | | | | Takes advantage of Linux's and Android's support for abstract namespace when binding sockets, which is independent of the filesystem (see man entry for unix domain sockets). To make QLocalServer and QLocalSocket use an abstract socket address, one needs to set the socket options to QLocalServer::AbstractNamespaceOption. Fixes: QTBUG-16090 Change-Id: Ia9f9c9cc1ac5c28f9d44b0a48d854a7cfbd39b11 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QHostAddress: prepare moving NetworkLayerProtocol from QAbstractSocketThiago Macieira2021-03-182-54/+71
| | | | | | | | | | This can only be completed in Qt 7, due to BC guarantees. I've only updated the source code for QHostAddress and its unit test and even then I did not touch the documentation. This needs to be completed in Qt 7.0 Change-Id: I26b8286f61534f88b649fffd166b695882f8f3b5 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QAbstractSocket: fake a bind(QHostAddress::SpecialAddress)Thiago Macieira2021-03-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | Because this is misleading: socket.bind(QHostAddress::AnyIPv4); The conversion of enum to int has preference over the construction of QHostAddress from enum, so that ends up calling bind(6), which attempts to bind to privileged port 6 and just returns with error. Meanwhile, socket.bind(QHostAddress::AnyIPv4, 0); does construct the QHostAddress because that is preferred to converting the int to the BindMode enum. Ideally we'd simply add the overload to QAbstractSocket but we can't do that because QHostAddress depends on QAbstractSocket. So I've added a Qt7 task to invert that dependency. Change-Id: I26b8286f61534f88b649fffd166b683266597796 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Convert QSslSocket(Backend)Private into pluginTimur Pocheptsov2021-03-171-0/+2
| | | | | | | | | | | | | | All backend-specific code is now separated and removed from QSslSocket(Private) code. The original code is mostly preserved to avoid (as much as possible) regressions (and to simplify code-review). Fixes: QTBUG-91173 Task-number: QTBUG-65922 Change-Id: I3ac4ba35d952162c8d6dc62d747cbd62dca0ef78 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 9391ba55149336c395b866b24dc9b844334d50da)
* Remove unnecessary int() casting in QRandomGenerator::boundedThiago Macieira2021-03-171-1/+1
| | | | | | | | | Commit 21d39168170c6833512c4a5f53985272741bd7e7 added the 64-bit version, so qsizetype now works cross-platform. The casts were added to make qtbase compile on commit df853fed66d891077ae2d04ecfa171d7e2cd5202. Change-Id: I26b8286f61534f88b649fffd166c409c5c232230 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Port from QScopedPointer to std::unique_ptrVolker Hilsheimer2021-03-152-3/+9
| | | | | | | | | | | | Silence compiler warnings from deprecated QScopedPointer::swap after fe9d7bf759d116f99131d14ac8b1fb44b2bc62fd. For Qt 7, both QSslCipher and QNetworkAddressEntry should be made into implicitly shared classes. Change-Id: Idfd5ec4b5a0f156f212d57684822a3cd1d88de1a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QNetworkInterface/Unix: fix DNS eligibility of global addressesThiago Macieira2021-03-051-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtNetwork][QNetworkInterface] Fixed the reporting the "DNS eligibility" factor (QNetworkAddressEntry::dnsEligibility) for global IP addresses. Previously, QNetworkInterface interface erroneously reported all global addresses as eligible, regardless of whether they had already been deprecated by the OS or were temporary in the first place. From the tst_QNetworkInterface::dump output (netmask & broadcast suppressed for readability, IPv6 prefixes changed to protect the innocent, but the local part is exactly as found on my system): address 0: 192.168.26.33/24 dns-eligible preferred:33546998ms valid:33546998ms address 1: 2001:db8::800/128 dns-eligible preferred:264817000ms valid:264817000ms address 2: fd00::800/128 dns-eligible preferred:forever valid:forever address 3: 2001:db8::2f5b:342c:fc53:b9b2/64 dns-ineligible preferred:12422000ms valid:264817000ms address 4: fd00::9351:adff:333d:5c8d/64 dns-ineligible preferred:12421999ms valid:531402999ms address 5: fd00::7297:9516:fbb4:17ac/64 dns-ineligible preferred:0ms valid:445585999ms address 6: fd00::fdc8:e620:691:3b44/64 dns-eligible preferred:forever valid:forever address 7: 2001:db8::ae82:a01:5a8a:e210/64 dns-ineligible preferred:0ms valid:264816999ms address 8: 2001:db8::c673:e0a2:8927:2118/64 dns-eligible preferred:264816999ms valid:264816999ms address 9: fe80::bd89:b998:4aeb:a5d0%bond0/64 dns-ineligible preferred:forever valid:forever Prior to this commit, only address 9 was showing as ineligible. Addresses 1 and 2 come from DHCPv6 and are thus always eligible. Addresses 3, 4, 5, and 7 are temporary addresses added on account of RFC 4941 and are therefore ineligible (they have the IFA_F_TEMPORARY flag set). Note how 5 and 7 have also stopped being preferred. Address 3 is the one I see when I go to ip6.me and address 4 is the one used to reach the router. Addresses 6, 8, and 9 are the "permanent" addresses that would normally be based on the MAC address of the interface, but are actually in "stable privacy" mode for me (RFC 8064). Address 9 is the link-local one, which makes it ineligible, leaving the other two stable addresses eligible. Addresses 1, 3, 7, and 8 are global, from a DHCPv6-PD delegation from my ISP, which is why they have finite lifetime. Addresses 2, 4, 5, and 6 are from my local Unique Local Address (ULA) prefix, which is why 2 and 6 are valid forever. Pick-to: 6.1 Change-Id: If8b43dc9678c4b4ba9c1fffd1668fdcae873c6bd Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix Android buildJoerg Bornemann2021-03-041-0/+1
| | | | | | | | The Android build failed, because the namespace QNativeInterface could not be found. Include the header file where it's defined. Change-Id: If53eda4d4d4e6d5e66787d74c714215721ba0b60 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* QHostInfo: simplify assignment operatorVolker Hilsheimer2021-03-031-4/+5
| | | | | | | | | | | | | | The d_ptr is never nullptr. If it could be, then other's d_ptr could also be nullptr, and we would dereference the null pointer. Guarding against self-assignment is nevertheless a good practice. Fixes static analyzer warning 5fc3780532e30c6350a0aa1ad2188a4c. Pick-to: 6.1 Change-Id: I07ff808e4c4f5bf07b4d6663f1fb4a3301a0fec7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QAndroidApplication as a nativeInterfaceAssam Boudjelthia2021-02-201-6/+7
| | | | | | | | | | QAndroidApplication provides the Android specific app context() and isActivityContext() to determine whether the context is an Activity or otherwise a Service. Task-number: QTBUG-90499 Change-Id: Iae2eef7ec44859a89825b09f52f09506b20b5420 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove assignment to variable which is never readAlex Blasche2021-02-191-1/+0
| | | | | | | | | Highlighted by static code analysis. Pick-to: 6.1 Change-Id: I0e0d33c66c3aac5135204212bea2d5d48bad3739 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QNetworkInterface/Linux: make the IFLA_OPER_STATE set IsRunningThiago Macieira2021-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We were setting IsUp for both the ifinfomsg::ifi_flags field and IFLA_OPER_STATE message. Turns out the second matches the "RUNNING" state that ifconfig used to return (IFF_RUNNING from SIOCIFFLAGS). Example: $ ip link show vboxnet0 4: vboxnet0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff $ ifconfig vboxnet0 vboxnet0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 0a:00:27:00:00:00 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 In this example, ifconfig is not showing "RUNNING", so its "UP" matches iproute2's in the <> section (that's the interface's ifi_flags). In an interface that ifconfig shows RUNNING, iproute2 will show "state UP", which is the IFLA_OPER_STATE. Exception: looks like the loopback has IF_OPER_UNKNOWN. Change-Id: Ic90d8429a0eb4837971dfffd1664bfc3f4b4e030 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QNetworkInformation: Address API review feedbackMårten Nordheim2021-02-181-2/+4
| | | | | | | | | | | Added missing NOTIFY for Q_PROPERTY. Switched one Q_ENUM to Q_FLAG. Declared missing operators for QFlag. Pick-to: 6.1 Change-Id: I8e6756838e44e205844a34c95f436df6b51a862f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNetworkInformation: Revise locking during creationMårten Nordheim2021-02-181-11/+8
| | | | | | | | | | | Potential issue caught by the Mårten static analyzer. In case another thread somehow ended up creating and returning an instance while another was waiting to relock it would deallocate the previous instance, which could lead to some bad situations. Pick-to: 6.1 Change-Id: I6e1843f8a483b2c3e0540e998c383e41f59c8655 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkInformation fixupsMårten Nordheim2021-02-113-5/+6
| | | | | | | | | | | | Addressing feedback that came after the reviews ended from both bot and people. Added CLASS_NAME to the CMakeLists files for the plugins so that cmake can generate the correct import. Fixes: QTBUG-91061 Change-Id: Ib3f1e863100c1c421a6c0a4081b1d40696d67b23 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix QNetworkInterface IsUp and IsRunning enum documentationAndreas Hartmetz2021-02-101-3/+5
| | | | | | | | | | | | | | | The information is based on common Linux knowledge, StackOverflow answers (this is just one of them): https://stackoverflow.com/questions/11679514/what-is-the- difference-between-iff-up-and-iff-running an LKML thread about IFF_UP and IFF_RUNNING: https://lkml.org/lkml/1999/7/9/69 and the FreeBSD manpage for "ifnet" - e.g. https://www.freebsd.org/cgi/man.cgi?query=ifnet&sektion=9 Pick-to: 6.0 5.15 Change-Id: I50a47b7fb26a63ac9d3f7eeef559fa7f56003cff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QNetworkStatusMonitorMårten Nordheim2021-02-064-464/+7
| | | | | | | | | | 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>
* SCNetworkReachability based backend for QNetworkInformationMårten Nordheim2021-02-061-1/+1
| | | | | | | | | | | | For macOS/iOS. Based on the code Timur wrote for QNetworkStatusMonitor, and uses QNetworkConnectionMonitor. It has less detail than the other backends which is unfortunate but should be fine! Task-number: QTBUG-86966 Change-Id: I0d5930d539f9668f001d6f85c86c9df0803d0f60 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 309a2360fdb3e9c1b07d2937859c521da187c486) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix static analysis warnings concerning QNetworkInformationMårten Nordheim2021-01-272-0/+7
| | | | | | | By marking undeclared and unused copy/move constructors as deleted. Change-Id: Ie74b9cb015090dbb425b701a55eadb9d80ab0285 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDnsLookup - port to the new property systemTimur Pocheptsov2021-01-273-18/+52
| | | | | | | | | Read/write/notify properties, 3 out of 5 defined in this class. Task-number: QTBUG-85520 Change-Id: Ic6c74f90a2fa3c71d71cf9a5d557f1b6fc489d35 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Make QJniObject and QJniEnvironment public APIAssam Boudjelthia2021-01-271-16/+18
| | | | | | | | | | | | | | | | | | | | As part of Qt 6 restructring for the extras modules, this change exposes the Jni APIs which are very important for Android platform. This patch adds the APIs QJniObject, QJniEnvironment, QJniExceptionCleaner based from private QtCore and QtAndroidExtras. The Jni interface is cross-platform which justifies the name, but currently, this API is used mainly for Android, and the naming comes generic without Android keyword to avoid any future limitation on supporting other platforms. [ChangeLog][QtCore] Add new QJniObject, QJniEnvironment and QJniExceptionCleaner APIs. Task-number: QTBUG-89482 Fixes: QTBUG-89633 Change-Id: I4382dd53a225375759b9d042f6035a4a9810572b Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Update public suffix list to today's latestEdward Welbourne2021-01-272-14313/+14346
| | | | | | | | | | | | | | | | | | | | | Fetched from the authoritative source, verified the content matches that of the current master revision in the github repository. Amend one cookie jar test to find the last group in the last chunk correctly - each group arises from a non-empty hsah-table entry, but the last few hash-table entries may be empty, in which case the last group isn't just before the last index, it's earlier by the number of empty hash table entries. In the process, amend this test and the related test of the end of the first chunk to iterate all the entries in the group (in the present version, as it happens, each end-group has just one entry, but that may vary). Task-number: QTBUG-90214 Pick-to: 6.0 5.15 Change-Id: I6da365a6ca558124f8275e392735071dc77e04bb Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Long live QNetworkInformationMårten Nordheim2021-01-203-0/+757
| | | | | | | | | | | The plugins are meant to indicate what they do support, meaning users of QNetworkInformation can choose to not care about which plugin is used and rather just request what they want. Task-number: QTBUG-86966 Change-Id: Ie130e1791250ec2a4470e3ba7081d982654af06c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Minor tidy-up: two sizetype fixes, two \nullptr usesEdward Welbourne2021-01-081-1/+1
| | | | | Change-Id: I6c4a1296350ecaf9a661dba22670fbb2ad23bd77 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove the qmake project filesJoerg Bornemann2021-01-071-95/+0
| | | | | | | | | | | | | | | | Remove the qmake project files for most of Qt. Leave the qmake project files for examples, because we still test those in the CI to ensure qmake does not regress. Also leave the qmake project files for utils and other minor parts that lack CMake project files. Task-number: QTBUG-88742 Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>