In trying to fix something in the CMake files, it turns out that we had accidentally disabled a part of our IPv6 support on some platforms. I'm trying to fix it with https://codereview.qt-project.org/c/qt/qtbase/+/499560 https://codereview.qt-project.org/c/qt/qtbase/+/499601 https://codereview.qt-project.org/c/qt/qtbase/+/499549
This may take a few days, but at the end of it I plan to have it back to working order in all platforms (except the untestable ones). IPv6 support is mandatory for Qt in any and all OSes that support IPv6. And since we are right now in 2023, which is 12.5 years after IANA ran out of blocks to allocate to the local registries, and nearly 4 years since RIPE NCC (the registry for Europe) ran completely out, If you live in Europe and you want an IPv4 block, you have to wait for some company to return some or go bankrupt. I wouldn't touch with a long pole any OS that fails that, if I were making an application. I've already found failures for QNX and Android. For Android, it appears we have a defective support in QNetworkInterface. Linux does have a proper API for querying and getting IPv6 addresses out of the interfaces, which we have in Qt (qnetworkinterface_linux.cpp), but Android has decided to block us from it (see QTBUG-96974). That being an OS policy, there's nothing I can do about it. If there's another way to get to those addresses, I don't know about it and don't plan on investigating anyway. However, Android does support IPv6. It just lacks proper QNetworkInterface support to detect the addresses that the system may have. The tests seem to be otherwise passing. Then there's QNX. It not only seems to have the same QNetworkInterface shortcoming, but some QUdpSocket and QTcpSocket tests fail, though not all so it seems the IPv6 stack is there. Whatever the problem is, it's not apparent from the logs. Debugging this via the CI is time-consuming and frustrating, so I won't do any more of that. And since there's no SDK I can use, I won't fix this at all. I've just added a "return false" to QtNetworkSettings::hasIPv6(). No other OSes should be allowed this exception. This means INTEGRITY and VxWorks: the former is supported by Qt but not tested in the CI, whereas the latter is being re-added. They will need to fix the issues, not add more exceptions. -- Thiago Macieira - thiago.macieira (AT) intel.com Cloud Software Architect - Intel DCAI Cloud Engineering
smime.p7s
Description: S/MIME cryptographic signature
-- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development