summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* Merge "QNetworkInterface/Unix: fix DNS eligibility of global addresses"Thiago Macieira2 days1-7/+8
|\
| * QNetworkInterface/Unix: fix DNS eligibility of global addressesThiago Macieira2 days1-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 a BIC introduced by extending the namespace QSsl in _p.h filesTimur Pocheptsov3 days43-243/+215
|/ | | | | | | | | | Renamed the private part of the namespace to QTlsPrivate. Fixes: QTBUG-91531 Change-Id: Id2d9c458d8d958b35e437eee42889177dad0a7a7 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit e4efa00c72c7011f4e5c27722c2a522b30274610) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make qdecompresshelper archive bomb check only trigger for large filesØystein Heskestad3 days2-0/+10
| | | | | | | | | | | | This is to avoid false positives. By default files are large if uncompressed size > 10 MB. Only configurable internally. Also add auto tests. Task-number: QTBUG-91392 Pick-to: 6.0 6.1 Change-Id: I32258cb7c957f2a23a05157ba4ed5c0af2ba585e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix Android buildJoerg Bornemann4 days1-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>
* Convert QDtls classes to the new plugin-based designTimur Pocheptsov4 days11-278/+749
| | | | | | | | | | | | | Essentially, the same code re-shuffled and placed behind the new interfaces. Fixes: QTBUG-91174 Task-number: QTBUG-65922 Change-Id: I8f14697f10713f9738c5c7805aed0150c084850c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 6c835796c8ea2590008900ffb5f4bf0d902ee73d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QHostInfo: simplify assignment operatorVolker Hilsheimer4 days1-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>
* Convert elliptic curves and DH params to work with QTlsBackendTimur Pocheptsov5 days13-396/+372
| | | | | | | | | | | | | | | The corresponding API is becoming a part of QTlsBackend interface, since it's too minimalistic and does not require additional interfaces, unlike certificates or keys. Fixes: QTBUG-91177 Fixes: QTBUG-91175 Task-number: QTBUG-65922 Change-Id: I44dd0adbdf2427962451998664efe234d59fae24 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit cdf4976b5a01bc5b65aed746acc9cc7f87b0fd97) Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QSsl: fix UB pointer useTimur Pocheptsov6 days2-7/+7
| | | | | | | | | | | | | Weird macro had inverted notion of type safety: instead of casting parameters and return values (they are pointers) to work with generic OPENSSL_sk_xxx functions, it was ... casting a function pointer to an invalid type to get ... nothing, but UB. Home-brewed (un)'safestack'!!! Change-Id: Ib91a7ba4cd472f370836797e422456f91a4385b0 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 9fc2f1f076b953ff0979fb73ed6e70ac9bde278c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Move QSslCertificate's details and cert-related code to the pluginsTimur Pocheptsov6 days20-1726/+540
| | | | | | | | | | | | | | | Also since we have to properly support 'no-ssl' configure option (alas, we support QSslCertificate on such builds) - introduce a minimal crippled QTlsBackendCertOnly, which depends on X509CertificateGeneric. Fixes: QTBUG-90954 Task-number: QTBUG-65922 Change-Id: Ib9d62903f16b7c0eaaa23e319a822c24a7631dc6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 41fc143635c25f937a557f09890601f6c7d38736) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Assert that we have a socketEngine before calling itVolker Hilsheimer11 days1-0/+1
| | | | | | | | | | | | If we are connected or bound, then we must have an engine. Otherwise in code we frequently test for the d->socketEngine pointer, including in waitForConnected. Fixes static anlyzer warning 3b37ce4102843c97ceef2b7bb68a409d. Pick-to: 6.1 Change-Id: Ib9818282ad2813db97859cbe1f184bcfb5ea4ab4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QtNetwork: Fix build with QT_NO_SSLFriedemann Kleint14 days1-2/+2
| | | | | | | | | | Fix: qsslcertificate_qt.cpp.obj : error LNK2001: Unresolved symbol ""public: static struct QMetaObject const QTlsBackend::staticMetaObject" (?staticMetaObject@QTlsBackend@@2UQMetaObject@@B)". Pick-to: 6.1 Task-number: QTBUG-90953 Change-Id: I4eb99c2ee4be67dfdf07e52219b73c6b14436344 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* A follow-up fix for potentially missing OpenSSL symbol resolvingTimur Pocheptsov14 days5-2/+28
| | | | | | | | | | | | This patch also adds 'isValid()' to know if a backend from a plugin is in working condition (say, there is 'openssl' plugin but no or old openssl libraries in some system). Task-number: QTBUG-65922 Change-Id: I0b846536a069ca8c5a94e7191f11c81bac6ad527 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 573ba145d76f239dbc7464a78aabc06ed4d00419) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* 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>
* Doc: Fix warnings about wrong snippet path or missing .pro fileNico Vertriest2021-02-191-1/+1
| | | | | | Task-number: QTBUG-91147 Change-Id: I6a55b2b713dd70cf1cbb0b93a8d4152e175e2c4d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Port QSslKey to the new plugin-based implementationTimur Pocheptsov2021-02-1924-1940/+248
| | | | | | | | | | | | | The idea is to have QSslKey(Private) backend-neutral and hide all library-specific code inside plugins. Fixes: QTBUG-90953 Task-number: QTBUG-65922 Change-Id: I2eeee3b2b72c78c2e24f2fb914abce3caa913be8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 0352cf8e1bf57615b9faf3f6f383896444e762ac) Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* qssl.h - address comments from API reviewTimur Pocheptsov2021-02-191-13/+13
| | | | | | | | | | | Enumerators initially were to be flags, but this changed later, no initialisers needed now. Change-Id: I72b24f979e207e21d6f42a11cf0ae8887df473d3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit b6778832636fc8f6911eb30bc9767ea6caaf6642) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* 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>
* Introduce QSsl::X509Certificate interface and its implementationsTimur Pocheptsov2021-02-1827-192/+2890
| | | | | | | | | | | | | To enable QSslCertificate to use TLS plugins. All backend-specific code is to be moved from QSslCertificate(Private) making them backend-neutral. Task-number: QTBUG-90954 Task-number: QTBUG-65922 Change-Id: Ic9d5abf91e42ce81fe56239f95ae97b64035e950 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 405337ee7276be4b76e86745c0694c51283b6b07) 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>
* Remove redundant invalid socket checkEdward Welbourne2021-02-182-10/+6
| | | | | | | | | It happens after the same socket check has lead to an early return. Prompted by a PVS-studio article. Change-Id: I63b42abed9102df73d29e6ff8a89a475751d4b91 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Doc: Fix documentation warnings qtbaseNico Vertriest2021-02-181-1/+1
| | | | | | Task-number: QTBUG-90662 Change-Id: If31847f8f2b8b57a8a8624d0406a030b5752f1c8 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Use newlines more consistently in generate compile-test codeEdward Welbourne2021-02-152-42/+26
| | | | | | | | | | | The generated code contained many repeated blank lines. Most main()s were preceded by one, but not all. Only include blank lines for actual empty entries in lists, where configure.json specified them, plus one before main if anything else precedes it. Change-Id: I6e6c34940e08712a1aa848a3c9ad1b0fb5806d77 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Simplify test-snippets in configure.cmakeEdward Welbourne2021-02-152-36/+18
| | | | | | | | | The main(void) signature obviates the need for unused parameters and has existed since (at least) C89; so use that instead of the old-fashioned argc/argv arguments we don't use in any of these tests. Change-Id: Ibfe850a1fce378673c9781011475ea623fd75ad4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update two .prev_configure.cmake files that seem to be out of dateEdward Welbourne2021-02-151-4/+4
| | | | | | | | Running the script updated them, without updating the configure.cmake files they relate to. Change-Id: I050d2131fa575811ae9ff4b51ef786a073c554c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Schannel: Fix incomplete downloads with read buffer restrictedMårten Nordheim2021-02-153-1/+5
| | | | | | | | | | | | | | | | | | | When the read buffer has a max size we do our best not to exceed it. Usually there's no problem and we just read more when the next tcp frame arrives. However if there's data leftover after the last tcp frame arrived then we won't receive any more data. To counter this QSslSocket would try to invoke QSslSocketPrivate::transmit indirectly if there were any bytes available on the plain socket. The problem is that with Schannel the last few remaining bytes would not be in the plain socket, but in the 'intermediateBuffer'. So let's make QSslSocket aware of that. Fixes: QTBUG-90625 Pick-to: 5.15 6.0 6.1 Change-Id: If56e4cce558f99c9a08a1f6818e005a887712ef2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Norbert Pfeiler <norbert.pfeiler+git@gmail.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Revert "Remove the qmake project files" for snippetsNico Vertriest2021-02-121-0/+3
| | | | | | | | | | | This reverts a limited part of commit ad2da2d27a590333fc89a56fc58700a09c3017b3 that deleted .pro files for snippets compilation. Some .pro files which contain snippets used in the documentation itself should be restored. Task-number: QTBUG-90483 Change-Id: I1b03833c8ff17b5fca43a5b6c5417e8545b1711b Reviewed-by: Topi Reiniö <topi.reinio@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>
* CMake: Port the snippet project setup to CMakeVenugopal Shivashankar2021-02-103-6/+11
| | | | | | | | Change-Id: I411e58e94752f3b2d0a3e8aac0ab7c4c2272db89 Fixes: QTBUG-89826 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* 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>
* Several fixes to porting guidesAlex Blasche2021-02-101-1/+1
| | | | | Change-Id: I46b1754103d33d21e6cdeb338e3c6e3b0d0a4e29 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Schannel: fix suspicious sizeof marked by clangMårten Nordheim2021-02-081-1/+1
| | | | | | | | sizeof(1) should be fine, but it looks weird, so let's just use the type instead. Change-Id: I543462a837b0214883ca389be0e7e6ba2057cdd0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Remove QNetworkStatusMonitorMårten Nordheim2021-02-066-467/+10
| | | | | | | | | | 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>
* qtlskey_schannel_p.cpp: fix a compilation errorLi Xinwei2021-02-021-0/+1
| | | | | | | qtlskey_schannel.cpp(183): error C3861: 'lcSsl': identifier not found Change-Id: I406860f87a7b7f93ac2c0ca3d426dfa88615a90e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* NetworkListManager based backend for QNetworkInformationMårten Nordheim2021-02-023-9/+9
| | | | | | | | | | For Windows. Based on the code I wrote for QNetworkStatusMonitor. It also renames the netlistmgr feature, avoiding the abbreviation. Locally my MinGW fails the networklistmanager feature test so it may not be supported on MinGW, likely leaving it without a backend at all. Change-Id: I13bbe4127edc2a9c0bb91602c95f1cb206a85a69 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Schannel - fix a compilation errorTimur Pocheptsov2021-02-011-0/+1
| | | | | | | | While rebasing and resolving conflicts, I've acidentally removed a declaration of supportsTls13() making a call expression invalid. Change-Id: If561091db36f0354b61fa050ff9f72b29eddce53 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QSsl::TlsKey - provide the interface and implementationsTimur Pocheptsov2021-02-0121-16/+2475
| | | | | | | | which will become parts of TLS plugins in the future. Task-number: QTBUG-65922 Change-Id: I4ee3c59c435fc34a9f4dacd3ff0e3cfb44251e23 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove the 'corewlan' featureAlexey Edelev2021-02-013-33/+433
| | | | | | | | | | | | | Remove 'corewlan' feature from the network related configure.json. The 'bearer' component was removed in the Network module. It was the only consumer of the 'corewlan' feature. There are no plans, yet, to use CoreWLAN framework in the future. Pick-to: 6.0 Fixes: QTBUG-90672 Change-Id: I1afb7b04ea75f8cb09cb570d820d16f54a130cf9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Shrink the memory footprint of QLocalSocketPrivatePiotr Mikolajczyk2021-02-011-3/+2
| | | | | | | | Member variables have been reordered to reduce the memory footprint by 8 bytes. Change-Id: Ib03f916c065861fa317f8802695363fd152e314a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* TLS backend: merge with its factoryTimur Pocheptsov2021-01-286-197/+129
| | | | | | | | | | | | | | QTlsBackend is a factory itself - it creates TLS/X509 objects. Having an intermediary between Factory->Backend->TLS primitive does not look very natural thus let's squash the first two parts. Backend is a factory creating TLS primitives, but its static functions also provide information about backends availablei and give access to those backends. Fixes: QTBUG-90606 Task-number: QTBUG-65922 Change-Id: I8409d81fd11fb46e6ab4465b4937a7680a8c2447 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* 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>
* Port QLocalServer to the new property systemTimur Pocheptsov2021-01-275-12/+23
| | | | | | Task-number: QTBUG-85520 Change-Id: Iee43a2e9e2d4847dad3b8be345d562af9aa3b690 Reviewed-by: Sona Kurazyan <sona.kurazyan@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-272-22/+25
| | | | | | | | | | | | | | | | | | | | 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>
* Fix schannel compilation issuesMårten Nordheim2021-01-271-3/+3
| | | | | | | Amends 7cf8e5ada9eac00b200141fdc80a2e76c0422411 Change-Id: I6e188675ab53fd173bd75defe9d190a509f4adad Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QSsl: add a new private APITimur Pocheptsov2021-01-229-320/+767
| | | | | | | | | This is an abstraction for TLS backend and its factory, preparing to transition to plugin-based design. Task-number: QTBUG-65922 Change-Id: Ibe810e77fd1b715a6bea66cd3f44312b015ac274 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>