1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-03-25 06:50:09 +08:00

Fix , update pb and fix private image upload issue ()

* Fix , update pb and fix private image upload issue

* Keeping consistent in annotation

* Restore old comment

* Let extendinfo default to null
This commit is contained in:
sandtechnology 2021-06-19 00:00:16 +08:00 committed by GitHub
parent 15021e3abb
commit 48f9ca0d48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 12 deletions
mirai-core/src/commonMain/kotlin
contact
network
highway
protocol/data/proto

View File

@ -64,7 +64,8 @@ internal abstract class AbstractUser(
fileMd5 = resource.md5,
fileSize = resource.size,
fileName = resource.md5.toUHexString("") + "." + resource.formatName,
imgOriginal = 1,
imgOriginal = true,
buildVer = bot.client.buildVer
)
).sendAndExpect<LongConn.OffPicUp.Response>()
}

View File

@ -57,7 +57,7 @@ internal object Highway {
resource: ExternalResource,
kind: ResourceKind,
commandId: Int, // group image=2, friend image=1, groupPtt=29
extendInfo: ByteArray = EMPTY_BYTE_ARRAY,
extendInfo: ByteArray? = null,
encrypt: Boolean = false,
initialTicket: ByteArray? = null, // null then use sig session
tryOnce: Boolean = false,
@ -99,7 +99,9 @@ internal object Highway {
dataFlag = dataFlag,
localeId = localeId,
fileMd5 = md5,
extendInfo = if (encrypt) TEA.encrypt(extendInfo, bdhSession.sessionKey) else extendInfo,
extendInfo = extendInfo?.let {
if (encrypt) TEA.encrypt(extendInfo, bdhSession.sessionKey) else extendInfo
},
callback = callback
).sendConcurrently(
createConnection = { createConnection(ip, port) },
@ -366,7 +368,7 @@ internal fun highwayPacketSession(
data: ExternalResource,
fileMd5: ByteArray,
sizePerPacket: Int = ByteArrayPool.BUFFER_SIZE,
extendInfo: ByteArray = EMPTY_BYTE_ARRAY,
extendInfo: ByteArray? = null,
callback: Highway.ProgressionCallback? = null,
): ChunkedFlowSession<ByteReadPacket> {
ByteArrayPool.checkBufferSize(sizePerPacket)

View File

@ -117,17 +117,17 @@ internal class Cmd0x352 : ProtoBuf {
internal class TryUpImgReq(
@ProtoNumber(1) @JvmField val srcUin: Long,
@ProtoNumber(2) @JvmField val dstUin: Long,
@ProtoNumber(3) @JvmField val fileId: Int = 0,//从0开始的自增数貌似有一个连接就要自增1, 但是又会重置回0
@ProtoNumber(3) @JvmField val fileId: Long = 0L,//从0开始的自增数貌似有一个连接就要自增1, 但是又会重置回0
@ProtoNumber(4) @JvmField val fileMd5: ByteArray,
@ProtoNumber(5) @JvmField val fileSize: Long,
@ProtoNumber(6) @JvmField val fileName: String,//默认为md5+".jpg"
@ProtoNumber(5) @JvmField val fileSize: Long,//默认为md5+".jpg"
@ProtoNumber(6) @JvmField val fileName: String,
@ProtoNumber(7) @JvmField val srcTerm: Int = 5,
@ProtoNumber(8) @JvmField val platformType: Int = 9,
@ProtoNumber(9) @JvmField val innerIP: Int = 0,
@ProtoNumber(10) @JvmField val addressBook: Int = 0,//chatType == 1006为1 我觉得发0没问题
@ProtoNumber(10) @JvmField val addressBook: Boolean = false,//chatType == 1006为true 我觉得发false没问题
@ProtoNumber(11) @JvmField val retry: Int = 0,//default
@ProtoNumber(12) @JvmField val buType: Int = 1,//1或96 不确定
@ProtoNumber(13) @JvmField val imgOriginal: Int,//是否为原图
@ProtoNumber(13) @JvmField val imgOriginal: Boolean = false,//是否为原图
@ProtoNumber(14) @JvmField val imgWidth: Int = 0,
@ProtoNumber(15) @JvmField val imgHeight: Int = 0,
/**
@ -145,7 +145,7 @@ internal class Cmd0x352 : ProtoBuf {
@ProtoNumber(18) @JvmField val fileIndex: ByteArray = EMPTY_BYTE_ARRAY,//default
@ProtoNumber(19) @JvmField val fileStoreDays: Int = 0,//default
@ProtoNumber(20) @JvmField val stepFlag: Int = 0,//default
@ProtoNumber(21) @JvmField val rejectTryFast: Int = 0,//bool
@ProtoNumber(21) @JvmField val rejectTryFast: Boolean = false,//bool
@ProtoNumber(22) @JvmField val srvUpload: Int = 1,//typeHotPic[1/2/3]
@ProtoNumber(23) @JvmField val transferUrl: ByteArray = EMPTY_BYTE_ARRAY//rawDownloadUrl, 如果没有就是EMPTY_BYTE_ARRAY
) : ImgReq
@ -155,7 +155,7 @@ internal class Cmd0x352 : ProtoBuf {
@ProtoNumber(1) @JvmField val fileId: Long = 0L,
@ProtoNumber(2) @JvmField val clientIp: Int = 0,
@ProtoNumber(3) @JvmField val result: Int = 0,
@ProtoNumber(4) @JvmField val failMsg: String? = "",
@ProtoNumber(4) @JvmField val failMsg: String = "",
@ProtoNumber(5) @JvmField val boolFileExit: Boolean = false,
@ProtoNumber(6) @JvmField val msgImgInfo: ImgInfo? = null,
@ProtoNumber(7) @JvmField val uint32UpIp: List<Int> = emptyList(),

View File

@ -249,7 +249,7 @@ internal class CSDataHighwayHead : ProtoBuf {
internal class ReqDataHighwayHead(
@JvmField @ProtoNumber(1) val msgBasehead: DataHighwayHead? = null,
@JvmField @ProtoNumber(2) val msgSeghead: SegHead? = null,
@JvmField @ProtoNumber(3) val reqExtendinfo: ByteArray, // = EMPTY_BYTE_ARRAY,
@JvmField @ProtoNumber(3) val reqExtendinfo: ByteArray? = null, // = EMPTY_BYTE_ARRAY,
@JvmField @ProtoNumber(4) val timestamp: Long = 0L,
@JvmField @ProtoNumber(5) val msgLoginSigHead: LoginSigHead? = null
) : ProtoBuf