Skip to content

Commit 4f33386

Browse files
committed
feat: 消息解码逻辑调整,解决issue-23存在问题
1 parent b39a754 commit 4f33386

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/main/java/top/meethigher/proxy/tcp/mux/MuxMessageParser.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,7 @@ public MuxMessageParser(Handler<MuxMessage> muxMessageHandler, NetSocket netSock
4444
protected void parse() {
4545
// 获取消息的预设总长度
4646
int totalLength = buf.getInt(lengthFieldOffset);
47-
// 校验预设总长度
48-
if (buf.length() < totalLength) {
49-
return;
50-
}
51-
// 校验最大长度
47+
// 校验消息预设总长度是否超过最大限制
5248
if (totalLength > maxLength) {
5349
log.warn("too many bytes in length field, {} > {}, connection {} -- {} will be closed",
5450
totalLength, maxLength,
@@ -57,6 +53,10 @@ protected void parse() {
5753
netSocket.close();
5854
return;
5955
}
56+
// 校验预设总长度
57+
if (buf.length() < totalLength) {
58+
return;
59+
}
6060
// 校验类型编码是否在预设范围内
6161
if (totalLength >= (lengthFieldLength + typeFieldLength)) {
6262
short code = buf.getShort(lengthFieldLength);

src/main/java/top/meethigher/proxy/tcp/tunnel/codec/TunnelMessageParser.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,7 @@ public void handle(Buffer buffer) {
7171
protected void parse() {
7272
// 获取消息的预设总长度
7373
int totalLength = buf.getInt(lengthFieldOffset);
74-
// 校验预设总长度
75-
if (buf.length() < totalLength) {
76-
return;
77-
}
78-
// 校验最大长度
74+
// 校验消息预设总长度是否超过最大限制
7975
if (totalLength > maxLength) {
8076
log.warn("too many bytes in length field, {} > {}, connection {} -- {} will be closed",
8177
totalLength, maxLength,
@@ -84,6 +80,10 @@ protected void parse() {
8480
netSocket.close();
8581
return;
8682
}
83+
// 校验预设总长度
84+
if (buf.length() < totalLength) {
85+
return;
86+
}
8787
// 校验类型编码是否在预设范围内
8888
if (totalLength >= (lengthFieldLength + typeFieldLength)) {
8989
short code = buf.getShort(lengthFieldLength);

0 commit comments

Comments
 (0)