From a73057f3a7ffd7f6dd4623d7c88b03d5e383c5ce Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Wed, 31 Dec 2025 07:48:22 -0500 Subject: [PATCH] refactor: NetworkMonitor, short phyical using isPrivateUse() this an Ip is considered private when its in a RFC1918 range 10/8, 172.16/12 and 192.168/16 are private IPs --- src/lib/gui/core/NetworkMonitor.cpp | 11 +++-------- src/lib/gui/core/NetworkMonitor.h | 2 +- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/lib/gui/core/NetworkMonitor.cpp b/src/lib/gui/core/NetworkMonitor.cpp index 35602d281..1406737c2 100644 --- a/src/lib/gui/core/NetworkMonitor.cpp +++ b/src/lib/gui/core/NetworkMonitor.cpp @@ -98,16 +98,11 @@ QList NetworkMonitor::getAvailableIPv4Addresses() const } } - auto physicalComparator = [](const QHostAddress &a, const QHostAddress &b) { - static const auto localIpFilter = QStringLiteral("192.168/16"); - if (a.isInSubnet(QHostAddress::parseSubnet(localIpFilter)) != - b.isInSubnet(QHostAddress::parseSubnet(localIpFilter))) { + std::sort(physicalIPs.begin(), physicalIPs.end(), [](const QHostAddress &a, const QHostAddress &b) { + if (a.isPrivateUse() != b.isPrivateUse()) return true; - } return a.toIPv4Address() < b.toIPv4Address(); - }; - - std::sort(physicalIPs.begin(), physicalIPs.end(), physicalComparator); + }); std::sort(virtualIPs.begin(), virtualIPs.end(), [](const QHostAddress &a, const QHostAddress &b) { return a.toIPv4Address() < b.toIPv4Address(); diff --git a/src/lib/gui/core/NetworkMonitor.h b/src/lib/gui/core/NetworkMonitor.h index 12a440410..4e44d550e 100644 --- a/src/lib/gui/core/NetworkMonitor.h +++ b/src/lib/gui/core/NetworkMonitor.h @@ -53,7 +53,7 @@ public: QList getAvailableIPv4Addresses() const; /** - * @brief Get recommended IP address (192.168.x.x preferred) + * @brief Get recommended IP address (RFC-1918 addresses preferred) * @return Recommended IP address, returns null if none available */ QHostAddress getSuggestedIPv4Address() const;