pull/1746/head
James Rich 2025-04-01 04:11:36 -05:00
rodzic 547f370b1d
commit 092f23d816
2 zmienionych plików z 21 dodań i 10 usunięć

Wyświetl plik

@ -32,7 +32,6 @@ import com.geeksville.mesh.database.entity.NodeEntity
import com.geeksville.mesh.database.entity.NodeWithRelations import com.geeksville.mesh.database.entity.NodeWithRelations
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
private const val TAG = "NodeInfoDao"
@Suppress("TooManyFunctions") @Suppress("TooManyFunctions")
@Dao @Dao
interface NodeInfoDao { interface NodeInfoDao {
@ -113,9 +112,13 @@ interface NodeInfoDao {
val found = getNodeByNum(node.num)?.node val found = getNodeByNum(node.num)?.node
found?.let { found?.let {
val keyMatch = !it.hasPKC || it.user.publicKey == node.user.publicKey val keyMatch = !it.hasPKC || it.user.publicKey == node.user.publicKey
it.user = if (keyMatch) node.user else node.user.copy { it.user = if (keyMatch) {
warn("Public key mismatch from $longName ($shortName)") node.user
publicKey = NodeEntity.ERROR_BYTE_STRING } else {
node.user.copy {
warn("Public key mismatch from $longName ($shortName)")
publicKey = NodeEntity.ERROR_BYTE_STRING
}
} }
} }
doUpsert(node) doUpsert(node)
@ -127,9 +130,13 @@ interface NodeInfoDao {
val found = getNodeByNum(node.num)?.node val found = getNodeByNum(node.num)?.node
found?.let { found?.let {
val keyMatch = !it.hasPKC || it.user.publicKey == node.user.publicKey val keyMatch = !it.hasPKC || it.user.publicKey == node.user.publicKey
it.user = if (keyMatch) node.user else node.user.copy { it.user = if (keyMatch) {
warn("Public key mismatch from $longName ($shortName)") node.user
publicKey = NodeEntity.ERROR_BYTE_STRING } else {
node.user.copy {
warn("Public key mismatch from $longName ($shortName)")
publicKey = NodeEntity.ERROR_BYTE_STRING
}
} }
} }
} }

Wyświetl plik

@ -904,9 +904,13 @@ class MeshService : Service(), Logging {
val newNode = (it.isUnknownUser && p.hwModel != MeshProtos.HardwareModel.UNSET) val newNode = (it.isUnknownUser && p.hwModel != MeshProtos.HardwareModel.UNSET)
val keyMatch = !it.hasPKC || it.user.publicKey == p.publicKey val keyMatch = !it.hasPKC || it.user.publicKey == p.publicKey
it.user = if (keyMatch) p else p.copy { it.user = if (keyMatch) {
warn("Public key mismatch from $longName ($shortName)") p
publicKey = NodeEntity.ERROR_BYTE_STRING } else {
p.copy {
warn("Public key mismatch from $longName ($shortName)")
publicKey = NodeEntity.ERROR_BYTE_STRING
}
} }
it.longName = p.longName it.longName = p.longName
it.shortName = p.shortName it.shortName = p.shortName