Skip to content

Commit b39ac9a

Browse files
committed
fix: 修复老版本 grpc 数据读取
1 parent aa275d5 commit b39ac9a

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/StandardV2RayBean.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public void initializeDefaultValues() {
112112

113113
@Override
114114
public void serialize(ByteBufferOutput output) {
115-
output.writeInt(3);
115+
output.writeInt(4);
116116
super.serialize(output);
117117
output.writeString(uuid);
118118
output.writeString(encryption);
@@ -133,7 +133,8 @@ public void serialize(ByteBufferOutput output) {
133133
output.writeString(earlyDataHeaderName);
134134
break;
135135
}
136-
case "http": {
136+
case "http":
137+
case "httpupgrade": {
137138
output.writeString(host);
138139
output.writeString(path);
139140
break;
@@ -142,11 +143,6 @@ public void serialize(ByteBufferOutput output) {
142143
output.writeString(path);
143144
break;
144145
}
145-
case "httpupgrade": {
146-
output.writeString(host);
147-
output.writeString(path);
148-
149-
}
150146
}
151147

152148
output.writeString(security);
@@ -194,19 +190,21 @@ public void deserialize(ByteBufferInput input) {
194190
earlyDataHeaderName = input.readString();
195191
break;
196192
}
197-
case "http": {
193+
case "http":
194+
case "httpupgrade": {
198195
host = input.readString();
199196
path = input.readString();
200197
break;
201198
}
202199
case "grpc": {
203200
path = input.readString();
201+
if (version < 4) {
202+
// 解决老版本数据的读取问题
203+
input.readString();
204+
input.readString();
205+
}
204206
break;
205207
}
206-
case "httpupgrade": {
207-
host = input.readString();
208-
path = input.readString();
209-
}
210208
}
211209

212210
security = input.readString();

0 commit comments

Comments
 (0)