From 554b687ad86eb0e8a8e2c291ff5b85ee7016d64e Mon Sep 17 00:00:00 2001 From: callebtc <93376500+callebtc@users.noreply.github.com> Date: Sun, 20 Jul 2025 22:33:19 +0200 Subject: [PATCH] clean code and fix signature to null --- .../android/crypto/EncryptionService.kt | 63 ------------------- .../android/mesh/BluetoothMeshService.kt | 9 +-- .../bitchat/android/mesh/MessageHandler.kt | 1 - 3 files changed, 5 insertions(+), 68 deletions(-) diff --git a/app/src/main/java/com/bitchat/android/crypto/EncryptionService.kt b/app/src/main/java/com/bitchat/android/crypto/EncryptionService.kt index d693b76c..2924c70d 100644 --- a/app/src/main/java/com/bitchat/android/crypto/EncryptionService.kt +++ b/app/src/main/java/com/bitchat/android/crypto/EncryptionService.kt @@ -286,66 +286,3 @@ class EncryptionService(private val context: Context) { Log.d(TAG, "🔌 EncryptionService shut down") } } - -/** - * Message padding utilities - exact same as iOS version - */ -object MessagePadding { - // Standard block sizes for padding - private val blockSizes = listOf(256, 512, 1024, 2048) - - /** - * Add PKCS#7-style padding to reach target size - */ - fun pad(data: ByteArray, targetSize: Int): ByteArray { - if (data.size >= targetSize) return data - - val paddingNeeded = targetSize - data.size - - // PKCS#7 only supports padding up to 255 bytes - if (paddingNeeded > 255) return data - - val padded = ByteArray(targetSize) - System.arraycopy(data, 0, padded, 0, data.size) - - // Fill with random bytes except the last byte - val random = SecureRandom() - random.nextBytes(padded.sliceArray(data.size until targetSize - 1)) - - // Last byte indicates padding length (PKCS#7) - padded[targetSize - 1] = paddingNeeded.toByte() - - return padded - } - - /** - * Remove padding from data - */ - fun unpad(data: ByteArray): ByteArray { - if (data.isEmpty()) return data - - // Last byte tells us how much padding to remove - val paddingLength = (data.last().toInt() and 0xFF) - if (paddingLength <= 0 || paddingLength > data.size) return data - - return data.sliceArray(0 until (data.size - paddingLength)) - } - - /** - * Find optimal block size for data - */ - fun optimalBlockSize(dataSize: Int): Int { - // Account for encryption overhead (~16 bytes for AES-GCM tag) - val totalSize = dataSize + 16 - - // Find smallest block that fits - for (blockSize in blockSizes) { - if (totalSize <= blockSize) { - return blockSize - } - } - - // For very large messages, just use the original size - return dataSize - } -} 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 569345af..70ecac6a 100644 --- a/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt +++ b/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt @@ -3,7 +3,7 @@ package com.bitchat.android.mesh import android.content.Context import android.util.Log import com.bitchat.android.crypto.EncryptionService -import com.bitchat.android.crypto.MessagePadding +import com.bitchat.android.protocol.MessagePadding import com.bitchat.android.model.BitchatMessage import com.bitchat.android.model.RoutedPacket import com.bitchat.android.model.DeliveryAck @@ -14,6 +14,7 @@ import com.bitchat.android.protocol.SpecialRecipients import com.bitchat.android.util.toHexString import kotlinx.coroutines.* import java.util.* +import kotlin.math.sign import kotlin.random.Random /** @@ -437,8 +438,8 @@ class BluetoothMeshService(private val context: Context) { ) message.toBinaryPayload()?.let { messageData -> - // Sign the message - val signature = securityManager.signPacket(messageData) + // Sign the message: TODO: NOT SIGNED + // val signature = securityManager.signPacket(messageData) val packet = BitchatPacket( version = 1u, @@ -447,7 +448,7 @@ class BluetoothMeshService(private val context: Context) { recipientID = SpecialRecipients.BROADCAST, timestamp = System.currentTimeMillis().toULong(), payload = messageData, - signature = signature, + signature = null, ttl = MAX_TTL ) diff --git a/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt b/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt index e53c4be7..4a3e7b68 100644 --- a/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt +++ b/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt @@ -1,7 +1,6 @@ package com.bitchat.android.mesh import android.util.Log -import com.bitchat.android.crypto.MessagePadding import com.bitchat.android.model.BitchatMessage import com.bitchat.android.model.DeliveryAck import com.bitchat.android.model.ReadReceipt