mirror of
https://github.com/permissionlesstech/bitchat-android.git
synced 2026-07-26 12:05:22 +00:00
buffers
This commit is contained in:
@@ -187,7 +187,7 @@ class NoiseSession(
|
|||||||
// CRITICAL FIX: Use exact buffer size for XX message 1 (32 bytes)
|
// CRITICAL FIX: Use exact buffer size for XX message 1 (32 bytes)
|
||||||
val messageBuffer = ByteArray(XX_MESSAGE_1_SIZE + MAX_PAYLOAD_SIZE) // Extra space for safety
|
val messageBuffer = ByteArray(XX_MESSAGE_1_SIZE + MAX_PAYLOAD_SIZE) // Extra space for safety
|
||||||
val handshakeStateLocal = handshakeState ?: throw IllegalStateException("Handshake state is null")
|
val handshakeStateLocal = handshakeState ?: throw IllegalStateException("Handshake state is null")
|
||||||
val messageLength = handshakeStateLocal.writeMessage(ByteArray(0), 0, messageBuffer, 0, 0)
|
val messageLength = handshakeStateLocal.writeMessage(messageBuffer, 0, ByteArray(0), 0, 0)
|
||||||
val firstMessage = messageBuffer.copyOf(messageLength)
|
val firstMessage = messageBuffer.copyOf(messageLength)
|
||||||
|
|
||||||
// Validate message size matches XX pattern expectations
|
// Validate message size matches XX pattern expectations
|
||||||
@@ -211,7 +211,7 @@ class NoiseSession(
|
|||||||
*/
|
*/
|
||||||
@Synchronized
|
@Synchronized
|
||||||
fun processHandshakeMessage(message: ByteArray): ByteArray? {
|
fun processHandshakeMessage(message: ByteArray): ByteArray? {
|
||||||
Log.d(TAG, "Processing real handshake message from $peerID (${message.size} bytes)")
|
Log.d(TAG, "Processing handshake message from $peerID (${message.size} bytes)")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Initialize as responder if receiving first message
|
// Initialize as responder if receiving first message
|
||||||
@@ -246,7 +246,7 @@ class NoiseSession(
|
|||||||
handshakeMessageCount++
|
handshakeMessageCount++
|
||||||
val expectedSize = getExpectedResponseSize(handshakeMessageCount, isInitiator)
|
val expectedSize = getExpectedResponseSize(handshakeMessageCount, isInitiator)
|
||||||
val responseBuffer = ByteArray(expectedSize + MAX_PAYLOAD_SIZE) // Use proper size
|
val responseBuffer = ByteArray(expectedSize + MAX_PAYLOAD_SIZE) // Use proper size
|
||||||
val responseLength = handshakeStateLocal.writeMessage(ByteArray(0), 0, responseBuffer, 0, 0)
|
val responseLength = handshakeStateLocal.writeMessage(responseBuffer, 0, ByteArray(0), 0, 0)
|
||||||
val response = responseBuffer.copyOf(responseLength)
|
val response = responseBuffer.copyOf(responseLength)
|
||||||
|
|
||||||
// Validate response size
|
// Validate response size
|
||||||
|
|||||||
Reference in New Issue
Block a user