mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-22 18:07:55 +00:00
Check packet type inside of isValidIdentityPacket
This commit is contained in:
parent
186236b93a
commit
efda9b95ab
@ -45,12 +45,6 @@ class BluetoothLinkProvider(private val context: Context) : BaseLinkProvider() {
|
|||||||
|
|
||||||
@Throws(CertificateException::class)
|
@Throws(CertificateException::class)
|
||||||
private fun addLink(identityPacket: NetworkPacket, link: BluetoothLink) {
|
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")
|
val deviceId = identityPacket.getString("deviceId")
|
||||||
Log.i("BluetoothLinkProvider", "addLink to $deviceId")
|
Log.i("BluetoothLinkProvider", "addLink to $deviceId")
|
||||||
val oldLink = visibleDevices[deviceId]
|
val oldLink = visibleDevices[deviceId]
|
||||||
@ -202,8 +196,8 @@ class BluetoothLinkProvider(private val context: Context) : BaseLinkProvider() {
|
|||||||
}
|
}
|
||||||
val response = sb.toString()
|
val response = sb.toString()
|
||||||
val identityPacket = NetworkPacket.unserialize(response)
|
val identityPacket = NetworkPacket.unserialize(response)
|
||||||
if (identityPacket.type != NetworkPacket.PACKET_TYPE_IDENTITY) {
|
if (!DeviceInfo.isValidIdentityPacket(identityPacket)) {
|
||||||
Log.e("BTLinkProvider/Server", "2 Expecting an identity packet")
|
Log.w("BTLinkProvider/Server", "Invalid identity packet received.")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
Log.i("BTLinkProvider/Server", "Received identity packet")
|
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 + "')")
|
Log.i("BTLinkProvider/Client", "Device: " + device.address + " Before unserialize (message: '" + message + "')")
|
||||||
val identityPacket = NetworkPacket.unserialize(message)
|
val identityPacket = NetworkPacket.unserialize(message)
|
||||||
Log.i("BTLinkProvider/Client", "Device: " + device.address + " After unserialize")
|
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)) {
|
if (!DeviceInfo.isValidIdentityPacket(identityPacket)) {
|
||||||
Log.w("KDE/LanLinkProvider", "Invalid identity packet received.")
|
Log.w("BTLinkProvider/Client", "Invalid identity packet received.")
|
||||||
connection.close()
|
connection.close()
|
||||||
return
|
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 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))
|
private val BYTE_REVERSED_SERVICE_UUID = UUID(java.lang.Long.reverseBytes(SERVICE_UUID.leastSignificantBits), java.lang.Long.reverseBytes(SERVICE_UUID.mostSignificantBits))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,9 @@ class DeviceInfo(
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun isValidIdentityPacket(identityPacket: NetworkPacket): Boolean = with(identityPacket) {
|
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()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user