Fix bugs.

This commit is contained in:
Koen J 2025-04-09 15:41:42 +02:00
parent 97381739dd
commit 1ae9f0ea26
2 changed files with 11 additions and 7 deletions

View file

@ -12,8 +12,10 @@ import kotlin.time.Duration.Companion.milliseconds
class SyncServerTests {
private val relayHost = "relay.grayjay.app"
private val relayKey = "xGbHRzDOvE6plRbQaFgSen82eijF+gxS0yeUaeEErkw="
//private val relayHost = "relay.grayjay.app"
//private val relayKey = "xGbHRzDOvE6plRbQaFgSen82eijF+gxS0yeUaeEErkw="
private val relayKey = "XlUaSpIlRaCg0TGzZ7JYmPupgUHDqTZXUUBco2K7ejw="
private val relayHost = "192.168.1.175"
private val relayPort = 9000
/** Creates a client connected to the live relay server. */
@ -126,7 +128,9 @@ class SyncServerTests {
val tcsDataB = CompletableDeferred<ByteArray>()
channelB.setDataHandler { _, _, o, so, d ->
if (o == Opcode.DATA.value && so == 0u.toUByte()) tcsDataB.complete(d.array())
val b = ByteArray(d.remaining())
d.get(b)
if (o == Opcode.DATA.value && so == 0u.toUByte()) tcsDataB.complete(b)
}
channelA.send(Opcode.DATA.value, 0u, ByteBuffer.wrap(maxSizeData))
val receivedData = withTimeout(5000.milliseconds) { tcsDataB.await() }

View file

@ -153,7 +153,7 @@ class ChannelRelayed(
put(encryptedPayload, 0, encryptedLength)
}
session.send(Opcode.RELAY.value, RelayOpcode.RELAYED_DATA.value, ByteBuffer.wrap(relayedPacket))
session.send(Opcode.RELAY.value, RelayOpcode.DATA.value, ByteBuffer.wrap(relayedPacket).order(ByteOrder.LITTLE_ENDIAN))
}
}
@ -173,7 +173,7 @@ class ChannelRelayed(
put(encryptedPayload, 0, encryptedLength)
}
session.send(Opcode.RELAY.value, RelayOpcode.RELAYED_ERROR.value, ByteBuffer.wrap(relayedPacket))
session.send(Opcode.RELAY.value, RelayOpcode.ERROR.value, ByteBuffer.wrap(relayedPacket))
}
}
@ -311,7 +311,7 @@ class ChannelRelayed(
val decryptedPayload = ByteArray(encryptedBytes.size - 16)
val plen = transport!!.receiver.decryptWithAd(null, encryptedBytes, 0, decryptedPayload, 0, encryptedBytes.size)
if (plen != decryptedPayload.size) throw IllegalStateException("Expected decrypted payload length to be $plen")
return ByteBuffer.wrap(decryptedPayload)
return ByteBuffer.wrap(decryptedPayload).order(ByteOrder.LITTLE_ENDIAN)
}
}
@ -329,7 +329,7 @@ class ChannelRelayed(
fun handleData(data: ByteBuffer) {
val size = data.int
if (size != data.remaining() + 2) throw IllegalStateException("Incomplete packet received")
if (size != data.remaining()) throw IllegalStateException("Incomplete packet received")
val opcode = data.get().toUByte()
val subOpcode = data.get().toUByte()
invokeDataHandler(opcode, subOpcode, data)