Fix extradata not passed for simple packet

This commit is contained in:
sandtechnology 2023-06-29 13:59:11 +08:00 committed by Karlatemp
parent 8af6c3fcf6
commit 787ee833cc
No known key found for this signature in database
GPG Key ID: BA173CA2B9956C59

View File

@ -169,11 +169,16 @@ internal fun <R : Packet?> buildRawUniPacket(
if (signDataPacket != BRP_STUB && (extraData != BRP_STUB && extraData.remaining != 0L)) {
throw IllegalStateException("$commandName cmd needs sign but has extraData!")
}
if (encryptMethod === PacketEncryptType.NoEncrypt) {
writeUniPacket(
commandName,
client.outgoingPacketSessionId,
signDataPacket,
if (signDataPacket == BRP_STUB) {
extraData
} else {
signDataPacket
},
(client.qimei16?.encodeToByteArray() ?: EMPTY_BYTE_ARRAY)
) {
writeFully(bodyBytes)
@ -183,7 +188,11 @@ internal fun <R : Packet?> buildRawUniPacket(
writeUniPacket(
commandName,
client.outgoingPacketSessionId,
signDataPacket,
if (signDataPacket == BRP_STUB) {
extraData
} else {
signDataPacket
},
(client.qimei16?.encodeToByteArray() ?: EMPTY_BYTE_ARRAY)
) {
writeFully(bodyBytes)