blob: 3681f8fbef674c90e01e8dc9b698c917586b8d41 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
--- core/backends/lan/lanlinkprovider.cpp.orig 2022-11-30 00:45:32 UTC
+++ core/backends/lan/lanlinkprovider.cpp
@@ -255,6 +255,16 @@ void LanLinkProvider::udpBroadcastReceived()
}
int tcpPort = receivedPacket->get<int>(QStringLiteral("tcpPort"));
+ // convert IPv6 addresses of type "v4-mapped" to IPv4
+ QHostAddress addr = sender;
+ if (addr.protocol() == QAbstractSocket::IPv6Protocol) {
+ bool success;
+ QHostAddress convertedAddr = QHostAddress(addr.toIPv4Address(&success));
+ if (success) {
+ // qCDebug(KDECONNECT_CORE) << "Converting IPv6" << addr << "to IPv4" << convertedAddr;
+ sender = convertedAddr;
+ }
+ }
if (tcpPort < MIN_TCP_PORT || tcpPort > MAX_TCP_PORT) {
qCDebug(KDECONNECT_CORE) << "TCP port outside of kdeconnect's range";
delete receivedPacket;
|