diff --git a/src/org/kde/kdeconnect/Backends/BluetoothBackend/BluetoothLinkProvider.kt b/src/org/kde/kdeconnect/Backends/BluetoothBackend/BluetoothLinkProvider.kt index 054d8516..7ea1488b 100644 --- a/src/org/kde/kdeconnect/Backends/BluetoothBackend/BluetoothLinkProvider.kt +++ b/src/org/kde/kdeconnect/Backends/BluetoothBackend/BluetoothLinkProvider.kt @@ -45,12 +45,6 @@ class BluetoothLinkProvider(private val context: Context) : BaseLinkProvider() { @Throws(CertificateException::class) private fun addLink(identityPacket: NetworkPacket, link: BluetoothLink) { - - if (!DeviceInfo.isValidIdentityPacket(identityPacket)) { - Log.w("KDE/LanLinkProvider", "Invalid identity packet received.") - return - } - val deviceId = identityPacket.getString("deviceId") Log.i("BluetoothLinkProvider", "addLink to $deviceId") val oldLink = visibleDevices[deviceId] @@ -202,8 +196,8 @@ class BluetoothLinkProvider(private val context: Context) : BaseLinkProvider() { } val response = sb.toString() val identityPacket = NetworkPacket.unserialize(response) - if (identityPacket.type != NetworkPacket.PACKET_TYPE_IDENTITY) { - Log.e("BTLinkProvider/Server", "2 Expecting an identity packet") + if (!DeviceInfo.isValidIdentityPacket(identityPacket)) { + Log.w("BTLinkProvider/Server", "Invalid identity packet received.") return } Log.i("BTLinkProvider/Server", "Received identity packet") @@ -371,14 +365,9 @@ class BluetoothLinkProvider(private val context: Context) : BaseLinkProvider() { Log.i("BTLinkProvider/Client", "Device: " + device.address + " Before unserialize (message: '" + message + "')") val identityPacket = NetworkPacket.unserialize(message) Log.i("BTLinkProvider/Client", "Device: " + device.address + " After unserialize") - if (identityPacket.type != NetworkPacket.PACKET_TYPE_IDENTITY) { - Log.e("BTLinkProvider/Client", "1 Expecting an identity packet") - socket.close() - return - } if (!DeviceInfo.isValidIdentityPacket(identityPacket)) { - Log.w("KDE/LanLinkProvider", "Invalid identity packet received.") + Log.w("BTLinkProvider/Client", "Invalid identity packet received.") connection.close() return } @@ -429,4 +418,4 @@ class BluetoothLinkProvider(private val context: Context) : BaseLinkProvider() { private val SERVICE_UUID = UUID.fromString("185f3df4-3268-4e3f-9fca-d4d5059915bd") private val BYTE_REVERSED_SERVICE_UUID = UUID(java.lang.Long.reverseBytes(SERVICE_UUID.leastSignificantBits), java.lang.Long.reverseBytes(SERVICE_UUID.mostSignificantBits)) } -} \ No newline at end of file +} diff --git a/src/org/kde/kdeconnect/DeviceInfo.kt b/src/org/kde/kdeconnect/DeviceInfo.kt index 2c6aee8b..e02c243e 100644 --- a/src/org/kde/kdeconnect/DeviceInfo.kt +++ b/src/org/kde/kdeconnect/DeviceInfo.kt @@ -103,7 +103,9 @@ class DeviceInfo( @JvmStatic fun isValidIdentityPacket(identityPacket: NetworkPacket): Boolean = with(identityPacket) { - DeviceHelper.filterName(getString("deviceName", "")).isNotBlank() && getString("deviceId", "").isNotBlank() + type == NetworkPacket.PACKET_TYPE_IDENTITY && + DeviceHelper.filterName(getString("deviceName", "")).isNotBlank() && + getString("deviceId", "").isNotBlank() } } }