mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-02 21:22:25 +08:00
Move protocol-specific classes to mirai-core-qqandroid
This commit is contained in:
parent
7efb7834db
commit
90ef83e345
@ -7,7 +7,7 @@
|
|||||||
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.mamoe.mirai.utils.cryptor
|
package net.mamoe.mirai.qqandroid.utils.cryptor
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import net.mamoe.mirai.utils.MiraiInternalAPI
|
import net.mamoe.mirai.utils.MiraiInternalAPI
|
@ -408,7 +408,6 @@ internal abstract class QQAndroidBotBase constructor(
|
|||||||
when (response) {
|
when (response) {
|
||||||
is MultiMsg.ApplyUp.Response.MessageTooLarge ->
|
is MultiMsg.ApplyUp.Response.MessageTooLarge ->
|
||||||
error("message is too large")
|
error("message is too large")
|
||||||
}
|
|
||||||
is MultiMsg.ApplyUp.Response.RequireUpload -> {
|
is MultiMsg.ApplyUp.Response.RequireUpload -> {
|
||||||
resId = response.proto.msgResid
|
resId = response.proto.msgResid
|
||||||
|
|
||||||
|
@ -18,10 +18,8 @@ import kotlinx.serialization.builtins.SetSerializer
|
|||||||
import kotlinx.serialization.internal.*
|
import kotlinx.serialization.internal.*
|
||||||
import kotlinx.serialization.modules.EmptyModule
|
import kotlinx.serialization.modules.EmptyModule
|
||||||
import kotlinx.serialization.modules.SerialModule
|
import kotlinx.serialization.modules.SerialModule
|
||||||
import kotlinx.serialization.protobuf.ProtoId
|
|
||||||
import net.mamoe.mirai.qqandroid.io.JceStruct
|
import net.mamoe.mirai.qqandroid.io.JceStruct
|
||||||
import net.mamoe.mirai.qqandroid.io.ProtoBuf
|
import net.mamoe.mirai.qqandroid.io.ProtoBuf
|
||||||
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce
|
|
||||||
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.BYTE
|
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.BYTE
|
||||||
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.DOUBLE
|
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.DOUBLE
|
||||||
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.FLOAT
|
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.FLOAT
|
||||||
@ -39,7 +37,7 @@ import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.STRUCT_END
|
|||||||
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.ZERO_TYPE
|
import net.mamoe.mirai.qqandroid.io.serialization.jce.Jce.Companion.ZERO_TYPE
|
||||||
import net.mamoe.mirai.qqandroid.io.serialization.jce.JceHead
|
import net.mamoe.mirai.qqandroid.io.serialization.jce.JceHead
|
||||||
import net.mamoe.mirai.qqandroid.io.serialization.jce.JceId
|
import net.mamoe.mirai.qqandroid.io.serialization.jce.JceId
|
||||||
import net.mamoe.mirai.utils.io.readString
|
import net.mamoe.mirai.qqandroid.utils.io.readString
|
||||||
import net.mamoe.mirai.utils.io.toReadPacket
|
import net.mamoe.mirai.utils.io.toReadPacket
|
||||||
|
|
||||||
@PublishedApi
|
@PublishedApi
|
||||||
|
@ -11,7 +11,7 @@ package net.mamoe.mirai.qqandroid.io.serialization.jce
|
|||||||
|
|
||||||
import kotlinx.io.core.*
|
import kotlinx.io.core.*
|
||||||
import net.mamoe.mirai.qqandroid.io.serialization.JceCharset
|
import net.mamoe.mirai.qqandroid.io.serialization.JceCharset
|
||||||
import net.mamoe.mirai.utils.io.readString
|
import net.mamoe.mirai.qqandroid.utils.io.readString
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +25,7 @@ import net.mamoe.mirai.qqandroid.network.protocol.data.jce.RequestPacket
|
|||||||
import net.mamoe.mirai.utils.MiraiInternalAPI
|
import net.mamoe.mirai.utils.MiraiInternalAPI
|
||||||
import net.mamoe.mirai.utils.firstValue
|
import net.mamoe.mirai.utils.firstValue
|
||||||
import net.mamoe.mirai.utils.io.read
|
import net.mamoe.mirai.utils.io.read
|
||||||
import net.mamoe.mirai.utils.io.readPacketExact
|
import net.mamoe.mirai.qqandroid.utils.io.readPacketExact
|
||||||
import net.mamoe.mirai.utils.io.toReadPacket
|
import net.mamoe.mirai.utils.io.toReadPacket
|
||||||
import kotlin.jvm.JvmMultifileClass
|
import kotlin.jvm.JvmMultifileClass
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
|
@ -39,8 +39,8 @@ import net.mamoe.mirai.qqandroid.network.protocol.packet.login.WtLogin
|
|||||||
import net.mamoe.mirai.utils.*
|
import net.mamoe.mirai.utils.*
|
||||||
import net.mamoe.mirai.utils.io.ByteArrayPool
|
import net.mamoe.mirai.utils.io.ByteArrayPool
|
||||||
import net.mamoe.mirai.utils.io.PlatformSocket
|
import net.mamoe.mirai.utils.io.PlatformSocket
|
||||||
import net.mamoe.mirai.utils.io.readPacketExact
|
import net.mamoe.mirai.qqandroid.utils.io.readPacketExact
|
||||||
import net.mamoe.mirai.utils.io.useBytes
|
import net.mamoe.mirai.qqandroid.utils.io.useBytes
|
||||||
import kotlin.coroutines.CoroutineContext
|
import kotlin.coroutines.CoroutineContext
|
||||||
import kotlin.jvm.Volatile
|
import kotlin.jvm.Volatile
|
||||||
import kotlin.time.ExperimentalTime
|
import kotlin.time.ExperimentalTime
|
||||||
|
@ -22,9 +22,9 @@ import net.mamoe.mirai.qqandroid.network.protocol.packet.EMPTY_BYTE_ARRAY
|
|||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketLogger
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketLogger
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.Tlv
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.Tlv
|
||||||
import net.mamoe.mirai.qqandroid.utils.NetworkType
|
import net.mamoe.mirai.qqandroid.utils.NetworkType
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.cryptor.ECDH
|
||||||
import net.mamoe.mirai.utils.*
|
import net.mamoe.mirai.utils.*
|
||||||
import net.mamoe.mirai.utils.cryptor.ECDH
|
import net.mamoe.mirai.qqandroid.utils.cryptor.TEA
|
||||||
import net.mamoe.mirai.utils.cryptor.TEA
|
|
||||||
import net.mamoe.mirai.utils.io.*
|
import net.mamoe.mirai.utils.io.*
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -33,7 +33,7 @@ import net.mamoe.mirai.utils.MiraiInternalAPI
|
|||||||
import net.mamoe.mirai.utils.copyAndClose
|
import net.mamoe.mirai.utils.copyAndClose
|
||||||
import net.mamoe.mirai.utils.io.ByteArrayPool
|
import net.mamoe.mirai.utils.io.ByteArrayPool
|
||||||
import net.mamoe.mirai.utils.io.PlatformSocket
|
import net.mamoe.mirai.utils.io.PlatformSocket
|
||||||
import net.mamoe.mirai.utils.io.withUse
|
import net.mamoe.mirai.qqandroid.utils.io.withUse
|
||||||
import kotlinx.serialization.InternalSerializationApi
|
import kotlinx.serialization.InternalSerializationApi
|
||||||
|
|
||||||
@OptIn(MiraiInternalAPI::class, InternalSerializationApi::class)
|
@OptIn(MiraiInternalAPI::class, InternalSerializationApi::class)
|
||||||
|
@ -14,10 +14,10 @@ import kotlinx.io.core.ByteReadPacket
|
|||||||
import kotlinx.io.core.buildPacket
|
import kotlinx.io.core.buildPacket
|
||||||
import kotlinx.io.core.writeFully
|
import kotlinx.io.core.writeFully
|
||||||
import net.mamoe.mirai.qqandroid.network.QQAndroidClient
|
import net.mamoe.mirai.qqandroid.network.QQAndroidClient
|
||||||
import net.mamoe.mirai.utils.cryptor.ECDH
|
import net.mamoe.mirai.qqandroid.utils.cryptor.ECDH
|
||||||
import net.mamoe.mirai.utils.cryptor.ECDHKeyPair
|
import net.mamoe.mirai.qqandroid.utils.cryptor.ECDHKeyPair
|
||||||
import net.mamoe.mirai.utils.io.encryptAndWrite
|
import net.mamoe.mirai.qqandroid.utils.io.encryptAndWrite
|
||||||
import net.mamoe.mirai.utils.io.writeShortLVByteArray
|
import net.mamoe.mirai.qqandroid.utils.io.writeShortLVByteArray
|
||||||
|
|
||||||
@OptIn(ExperimentalUnsignedTypes::class)
|
@OptIn(ExperimentalUnsignedTypes::class)
|
||||||
internal interface EncryptMethod {
|
internal interface EncryptMethod {
|
||||||
|
@ -16,9 +16,9 @@ import kotlinx.io.core.buildPacket
|
|||||||
import kotlinx.io.core.writeFully
|
import kotlinx.io.core.writeFully
|
||||||
import net.mamoe.mirai.qqandroid.network.QQAndroidClient
|
import net.mamoe.mirai.qqandroid.network.QQAndroidClient
|
||||||
import net.mamoe.mirai.utils.MiraiInternalAPI
|
import net.mamoe.mirai.utils.MiraiInternalAPI
|
||||||
import net.mamoe.mirai.utils.io.encryptAndWrite
|
import net.mamoe.mirai.qqandroid.utils.io.encryptAndWrite
|
||||||
import net.mamoe.mirai.utils.io.writeHex
|
import net.mamoe.mirai.qqandroid.utils.io.writeHex
|
||||||
import net.mamoe.mirai.utils.io.writeIntLVPacket
|
import net.mamoe.mirai.qqandroid.utils.io.writeIntLVPacket
|
||||||
|
|
||||||
internal class OutgoingPacket constructor(
|
internal class OutgoingPacket constructor(
|
||||||
name: String?,
|
name: String?,
|
||||||
|
@ -27,9 +27,13 @@ import net.mamoe.mirai.qqandroid.network.protocol.packet.login.Heartbeat
|
|||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.StatSvc
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.StatSvc
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.WtLogin
|
import net.mamoe.mirai.qqandroid.network.protocol.packet.login.WtLogin
|
||||||
import net.mamoe.mirai.qqandroid.network.readUShortLVByteArray
|
import net.mamoe.mirai.qqandroid.network.readUShortLVByteArray
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.io.readPacketExact
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.io.readString
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.io.useBytes
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.io.withUse
|
||||||
import net.mamoe.mirai.utils.*
|
import net.mamoe.mirai.utils.*
|
||||||
import net.mamoe.mirai.utils.cryptor.TEA
|
import net.mamoe.mirai.qqandroid.utils.cryptor.TEA
|
||||||
import net.mamoe.mirai.utils.cryptor.adjustToPublicKey
|
import net.mamoe.mirai.qqandroid.utils.cryptor.adjustToPublicKey
|
||||||
import net.mamoe.mirai.utils.io.*
|
import net.mamoe.mirai.utils.io.*
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ import kotlinx.io.core.toByteArray
|
|||||||
import kotlinx.io.core.writeFully
|
import kotlinx.io.core.writeFully
|
||||||
import net.mamoe.mirai.qqandroid.network.protocol.LoginType
|
import net.mamoe.mirai.qqandroid.network.protocol.LoginType
|
||||||
import net.mamoe.mirai.qqandroid.utils.NetworkType
|
import net.mamoe.mirai.qqandroid.utils.NetworkType
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.io.*
|
||||||
import net.mamoe.mirai.utils.MiraiInternalAPI
|
import net.mamoe.mirai.utils.MiraiInternalAPI
|
||||||
import net.mamoe.mirai.utils.MiraiPlatformUtils
|
import net.mamoe.mirai.utils.MiraiPlatformUtils
|
||||||
import net.mamoe.mirai.utils.currentTimeMillis
|
import net.mamoe.mirai.utils.currentTimeMillis
|
||||||
|
@ -38,7 +38,7 @@ import net.mamoe.mirai.qqandroid.network.protocol.packet.buildResponseUniPacket
|
|||||||
import net.mamoe.mirai.utils.MiraiInternalAPI
|
import net.mamoe.mirai.utils.MiraiInternalAPI
|
||||||
import net.mamoe.mirai.utils.debug
|
import net.mamoe.mirai.utils.debug
|
||||||
import net.mamoe.mirai.utils.io.read
|
import net.mamoe.mirai.utils.io.read
|
||||||
import net.mamoe.mirai.utils.io.readString
|
import net.mamoe.mirai.qqandroid.utils.io.readString
|
||||||
import net.mamoe.mirai.utils.io.toUHexString
|
import net.mamoe.mirai.utils.io.toUHexString
|
||||||
|
|
||||||
internal class OnlinePush {
|
internal class OnlinePush {
|
||||||
|
@ -20,8 +20,9 @@ import net.mamoe.mirai.qqandroid.network.protocol.packet.*
|
|||||||
import net.mamoe.mirai.qqandroid.utils.GuidSource
|
import net.mamoe.mirai.qqandroid.utils.GuidSource
|
||||||
import net.mamoe.mirai.qqandroid.utils.MacOrAndroidIdChangeFlag
|
import net.mamoe.mirai.qqandroid.utils.MacOrAndroidIdChangeFlag
|
||||||
import net.mamoe.mirai.qqandroid.utils.guidFlag
|
import net.mamoe.mirai.qqandroid.utils.guidFlag
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.io.*
|
||||||
import net.mamoe.mirai.utils.*
|
import net.mamoe.mirai.utils.*
|
||||||
import net.mamoe.mirai.utils.cryptor.TEA
|
import net.mamoe.mirai.qqandroid.utils.cryptor.TEA
|
||||||
import net.mamoe.mirai.utils.io.*
|
import net.mamoe.mirai.utils.io.*
|
||||||
|
|
||||||
internal class WtLogin {
|
internal class WtLogin {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.mamoe.mirai.utils.cryptor
|
package net.mamoe.mirai.qqandroid.utils.cryptor
|
||||||
|
|
||||||
import net.mamoe.mirai.utils.io.chunkedHexToBytes
|
import net.mamoe.mirai.utils.io.chunkedHexToBytes
|
||||||
|
|
@ -7,7 +7,7 @@
|
|||||||
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.mamoe.mirai.utils.cryptor
|
package net.mamoe.mirai.qqandroid.utils.cryptor
|
||||||
|
|
||||||
import kotlinx.io.core.ByteReadPacket
|
import kotlinx.io.core.ByteReadPacket
|
||||||
import kotlinx.io.pool.useInstance
|
import kotlinx.io.pool.useInstance
|
@ -11,7 +11,7 @@
|
|||||||
@file:JvmMultifileClass
|
@file:JvmMultifileClass
|
||||||
@file:JvmName("Utils")
|
@file:JvmName("Utils")
|
||||||
|
|
||||||
package net.mamoe.mirai.utils.io
|
package net.mamoe.mirai.qqandroid.utils.io
|
||||||
|
|
||||||
import kotlinx.io.OutputStream
|
import kotlinx.io.OutputStream
|
||||||
import kotlinx.io.charsets.Charset
|
import kotlinx.io.charsets.Charset
|
||||||
@ -27,6 +27,9 @@ import kotlin.jvm.JvmMultifileClass
|
|||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
import kotlin.jvm.JvmSynthetic
|
import kotlin.jvm.JvmSynthetic
|
||||||
import kotlinx.serialization.InternalSerializationApi
|
import kotlinx.serialization.InternalSerializationApi
|
||||||
|
import net.mamoe.mirai.utils.io.ByteArrayPool
|
||||||
|
import net.mamoe.mirai.utils.io.toReadPacket
|
||||||
|
import net.mamoe.mirai.utils.io.toUHexString
|
||||||
|
|
||||||
@OptIn(MiraiInternalAPI::class, InternalSerializationApi::class)
|
@OptIn(MiraiInternalAPI::class, InternalSerializationApi::class)
|
||||||
fun ByteReadPacket.copyTo(outputStream: OutputStream) {
|
fun ByteReadPacket.copyTo(outputStream: OutputStream) {
|
@ -11,12 +11,12 @@
|
|||||||
@file:JvmMultifileClass
|
@file:JvmMultifileClass
|
||||||
@file:JvmName("Utils")
|
@file:JvmName("Utils")
|
||||||
|
|
||||||
package net.mamoe.mirai.utils.io
|
package net.mamoe.mirai.qqandroid.utils.io
|
||||||
|
|
||||||
import kotlinx.io.core.*
|
import kotlinx.io.core.*
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.coerceAtMostOrFail
|
||||||
|
import net.mamoe.mirai.qqandroid.utils.cryptor.TEA
|
||||||
import net.mamoe.mirai.utils.MiraiInternalAPI
|
import net.mamoe.mirai.utils.MiraiInternalAPI
|
||||||
import net.mamoe.mirai.utils.coerceAtMostOrFail
|
|
||||||
import net.mamoe.mirai.utils.cryptor.TEA
|
|
||||||
import kotlin.jvm.JvmMultifileClass
|
import kotlin.jvm.JvmMultifileClass
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
@file:JvmMultifileClass
|
@file:JvmMultifileClass
|
||||||
@file:JvmName("Utils")
|
@file:JvmName("Utils")
|
||||||
|
|
||||||
package net.mamoe.mirai.utils
|
package net.mamoe.mirai.qqandroid.utils
|
||||||
|
|
||||||
import kotlin.jvm.JvmMultifileClass
|
import kotlin.jvm.JvmMultifileClass
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
@ -7,7 +7,7 @@
|
|||||||
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.mamoe.mirai.utils.cryptor
|
package net.mamoe.mirai.qqandroid.utils.cryptor
|
||||||
|
|
||||||
import net.mamoe.mirai.utils.MiraiInternalAPI
|
import net.mamoe.mirai.utils.MiraiInternalAPI
|
||||||
import net.mamoe.mirai.utils.MiraiPlatformUtils
|
import net.mamoe.mirai.utils.MiraiPlatformUtils
|
||||||
@ -27,11 +27,13 @@ internal actual class ECDHKeyPairImpl(
|
|||||||
override val privateKey: ECDHPrivateKey get() = delegate.private
|
override val privateKey: ECDHPrivateKey get() = delegate.private
|
||||||
override val publicKey: ECDHPublicKey get() = delegate.public
|
override val publicKey: ECDHPublicKey get() = delegate.public
|
||||||
|
|
||||||
override val initialShareKey: ByteArray = ECDH.calculateShareKey(privateKey, initialPublicKey)
|
override val initialShareKey: ByteArray =
|
||||||
|
ECDH.calculateShareKey(privateKey, initialPublicKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("FunctionName")
|
@Suppress("FunctionName")
|
||||||
actual fun ECDH() = ECDH(ECDH.generateKeyPair())
|
actual fun ECDH() =
|
||||||
|
ECDH(ECDH.generateKeyPair())
|
||||||
|
|
||||||
actual class ECDH actual constructor(actual val keyPair: ECDHKeyPair) {
|
actual class ECDH actual constructor(actual val keyPair: ECDHKeyPair) {
|
||||||
actual companion object {
|
actual companion object {
|
Loading…
Reference in New Issue
Block a user