diff --git a/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt b/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt index ee5f0f16..dd12138d 100644 --- a/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt +++ b/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt @@ -949,12 +949,11 @@ class BluetoothMeshService(private val context: Context) { * Send leave announcement */ private fun sendLeaveAnnouncement() { - val nickname = delegate?.getNickname() ?: myPeerID val packet = BitchatPacket( type = MessageType.LEAVE.value, ttl = MAX_TTL, senderID = myPeerID, - payload = nickname.toByteArray() + payload = byteArrayOf() ) // Sign the packet before broadcasting diff --git a/app/src/main/java/com/bitchat/android/mesh/SecurityManager.kt b/app/src/main/java/com/bitchat/android/mesh/SecurityManager.kt index 717d302c..bce69c26 100644 --- a/app/src/main/java/com/bitchat/android/mesh/SecurityManager.kt +++ b/app/src/main/java/com/bitchat/android/mesh/SecurityManager.kt @@ -50,24 +50,11 @@ class SecurityManager(private val encryptionService: EncryptionService, private return false } - // Validate packet payload - if (packet.payload.isEmpty()) { - Log.d(TAG, "Dropping packet with empty payload") - return false - } - // Replay attack protection (same 5-minute window as iOS) val currentTime = System.currentTimeMillis() - val packetTime = packet.timestamp.toLong() - val timeDiff = kotlin.math.abs(currentTime - packetTime) - -// if (timeDiff > MESSAGE_TIMEOUT) { -// Log.d(TAG, "Dropping old packet from $peerID, time diff: ${timeDiff/1000}s") -// return false -// } + val messageType = MessageType.fromValue(packet.type) // Duplicate detection - val messageType = MessageType.fromValue(packet.type) val messageID = generateMessageID(packet, peerID) if (messageType != MessageType.ANNOUNCE) { if (processedMessages.contains(messageID)) {