From 011417249f0f4aaf548d6a9a6413c8addcc6a6cd Mon Sep 17 00:00:00 2001
From: Him188moe <Him188@mamoe.net>
Date: Sat, 17 Aug 2019 22:09:26 +0800
Subject: [PATCH] update

---
 .../src/main/java/net/mamoe/mirai/network/Robot.kt |  2 +-
 .../packet/client/ClientSendMessagePacket.kt       | 11 +++++++++++
 .../client/{ => login}/ClientHeartbeatPacket.kt    |  8 ++++++--
 .../{ => login}/ClientPasswordSubmissionPacket.kt  |  7 ++++---
 .../{ => login}/ClientServerRedirectionPacket.kt   |  6 +++++-
 .../ClientTouchPacket.kt}                          | 14 +++++++++++---
 .../network/packet/server/Server0825Packet.kt      |  3 +++
 7 files changed, 41 insertions(+), 10 deletions(-)
 create mode 100644 mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientSendMessagePacket.kt
 rename mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/{ => login}/ClientHeartbeatPacket.kt (66%)
 rename mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/{ => login}/ClientPasswordSubmissionPacket.kt (95%)
 rename mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/{ => login}/ClientServerRedirectionPacket.kt (82%)
 rename mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/{ClientLoginPacket.kt => login/ClientTouchPacket.kt} (91%)

diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/Robot.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/Robot.kt
index 204fd8404..2b05d4da0 100644
--- a/mirai-core/src/main/java/net/mamoe/mirai/network/Robot.kt
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/Robot.kt
@@ -11,7 +11,7 @@ import io.netty.channel.socket.nio.NioSocketChannel
 import io.netty.handler.codec.bytes.ByteArrayDecoder
 import io.netty.handler.codec.bytes.ByteArrayEncoder
 import net.mamoe.mirai.network.packet.client.ClientPacket
-import net.mamoe.mirai.network.packet.client.ClientServerRedirectionPacket
+import net.mamoe.mirai.network.packet.client.login.ClientServerRedirectionPacket
 import net.mamoe.mirai.network.packet.client.writeHex
 import net.mamoe.mirai.network.packet.server.Server0825Packet
 import net.mamoe.mirai.network.packet.server.ServerPacket
diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientSendMessagePacket.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientSendMessagePacket.kt
new file mode 100644
index 000000000..85244ef9b
--- /dev/null
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientSendMessagePacket.kt
@@ -0,0 +1,11 @@
+package net.mamoe.mirai.network.packet.client
+
+/**
+ * @author Him188moe @ Mirai Project
+ */
+@ExperimentalUnsignedTypes
+class ClientSendMessagePacket : ClientPacket() {
+    override fun encode() {
+
+    }
+}
\ No newline at end of file
diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientHeartbeatPacket.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientHeartbeatPacket.kt
similarity index 66%
rename from mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientHeartbeatPacket.kt
rename to mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientHeartbeatPacket.kt
index 31904d469..ec5457c86 100644
--- a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientHeartbeatPacket.kt
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientHeartbeatPacket.kt
@@ -1,7 +1,11 @@
-package net.mamoe.mirai.network.packet.client
+package net.mamoe.mirai.network.packet.client.login
 
 import net.mamoe.mirai.network.Protocol
 import net.mamoe.mirai.network.packet.PacketId
+import net.mamoe.mirai.network.packet.client.ClientPacket
+import net.mamoe.mirai.network.packet.client.writeHex
+import net.mamoe.mirai.network.packet.client.writeQQ
+import net.mamoe.mirai.network.packet.client.writeRandom
 import net.mamoe.mirai.util.TEACryptor
 import java.io.IOException
 
@@ -9,7 +13,7 @@ import java.io.IOException
  * @author Him188moe @ Mirai Project
  */
 @ExperimentalUnsignedTypes
-@PacketId("00 58")
+@PacketId("00 58")//todo check
 class ClientHeartbeatPacket : ClientPacket() {
     var qq: Int = 0
     var sessionKey: ByteArray? = null//登录后获得
diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientPasswordSubmissionPacket.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientPasswordSubmissionPacket.kt
similarity index 95%
rename from mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientPasswordSubmissionPacket.kt
rename to mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientPasswordSubmissionPacket.kt
index fb633157e..070da00f9 100644
--- a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientPasswordSubmissionPacket.kt
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientPasswordSubmissionPacket.kt
@@ -1,7 +1,8 @@
-package net.mamoe.mirai.network.packet.client
+package net.mamoe.mirai.network.packet.client.login
 
 import net.mamoe.mirai.network.Protocol
 import net.mamoe.mirai.network.packet.PacketId
+import net.mamoe.mirai.network.packet.client.*
 import net.mamoe.mirai.util.TEACryptor
 import net.mamoe.mirai.util.getCrc32
 import net.mamoe.mirai.util.getRandomKey
@@ -14,7 +15,7 @@ import java.net.InetAddress
  *
  * @author Him188moe @ Mirai Project
  */
-@PacketId("08 36 31 03")
+@PacketId("08 36 31 03")//may be 08 36, 31 03 has another meaning
 @ExperimentalUnsignedTypes
 class ClientPasswordSubmissionPacket(private val qq: Int, private val password: String, private val loginTime: ByteArray, private val loginIP: ByteArray, private val tgtgtKey: ByteArray, private val token0825: ByteArray) : ClientPacket() {
     @ExperimentalUnsignedTypes
@@ -81,7 +82,7 @@ class ClientPasswordSubmissionPacket(private val qq: Int, private val password:
 
                 this.writeHex("01 02")//tag
                 this.writeHex("00 62")//length
-                this.writeHex("00 01")//word?
+                this.writeHex("00 01")//word
                 this.writeHex("04 EB B7 C1 86 F9 08 96 ED 56 84 AB 50 85 2E 48")//key
                 this.writeHex("00 38")//length
                 //value
diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientServerRedirectionPacket.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientServerRedirectionPacket.kt
similarity index 82%
rename from mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientServerRedirectionPacket.kt
rename to mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientServerRedirectionPacket.kt
index 1d044b953..63b6ced5d 100644
--- a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientServerRedirectionPacket.kt
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientServerRedirectionPacket.kt
@@ -1,7 +1,11 @@
-package net.mamoe.mirai.network.packet.client
+package net.mamoe.mirai.network.packet.client.login
 
 import net.mamoe.mirai.network.Protocol
 import net.mamoe.mirai.network.packet.PacketId
+import net.mamoe.mirai.network.packet.client.ClientPacket
+import net.mamoe.mirai.network.packet.client.writeHex
+import net.mamoe.mirai.network.packet.client.writeIp
+import net.mamoe.mirai.network.packet.client.writeQQ
 import net.mamoe.mirai.util.TEACryptor
 import net.mamoe.mirai.util.hexToBytes
 import java.io.IOException
diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientLoginPacket.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientTouchPacket.kt
similarity index 91%
rename from mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientLoginPacket.kt
rename to mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientTouchPacket.kt
index 1f97c6adc..1e9b1de34 100644
--- a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/ClientLoginPacket.kt
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/client/login/ClientTouchPacket.kt
@@ -1,18 +1,26 @@
-package net.mamoe.mirai.network.packet.client
+package net.mamoe.mirai.network.packet.client.login
 
 import net.mamoe.mirai.network.Protocol
 import net.mamoe.mirai.network.packet.PacketId
+import net.mamoe.mirai.network.packet.client.ClientPacket
+import net.mamoe.mirai.network.packet.client.writeHex
+import net.mamoe.mirai.network.packet.client.writeIp
+import net.mamoe.mirai.network.packet.client.writeQQ
 import net.mamoe.mirai.util.ByteArrayDataOutputStream
 import net.mamoe.mirai.util.TEACryptor
 import net.mamoe.mirai.util.toHexString
 import java.io.IOException
 
 /**
+ * The packet to touch server.
+ *
+ * @see net.mamoe.mirai.network.packet.server.Server0825Packet
+ *
  * @author Him188moe @ Mirai Project
  */
 @ExperimentalUnsignedTypes
 @PacketId("08 25 31 01")
-class ClientLoginPacket : ClientPacket() {
+class ClientTouchPacket : ClientPacket() {
     var qq: Int = 0
 
     @ExperimentalUnsignedTypes
@@ -49,7 +57,7 @@ class ClientLoginPacket : ClientPacket() {
 
 @ExperimentalUnsignedTypes
 fun main() {
-    val pk = ClientLoginPacket()
+    val pk = ClientTouchPacket()
     pk.qq = 1994701021
     pk.encode()
     pk.writeHex(Protocol.tail)
diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/Server0825Packet.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/Server0825Packet.kt
index ce364b602..996937b3c 100644
--- a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/Server0825Packet.kt
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/Server0825Packet.kt
@@ -6,6 +6,9 @@ import java.io.DataInputStream
 /**
  * A packet received when logging in, used to redirect server address
  *
+ * @see net.mamoe.mirai.network.packet.client.login.ClientServerRedirectionPacket
+ * @see net.mamoe.mirai.network.packet.client.login.ClientPasswordSubmissionPacket
+ *
  * @author Him188moe @ Mirai Project
  */
 class Server0825Packet(private val type: Type, inputStream: DataInputStream) : ServerPacket(inputStream) {