handle empty payload in freedom and outbound

This commit is contained in:
v2ray
2016-08-15 12:23:35 +02:00
parent cc92973daf
commit 66bb7879e0
2 changed files with 7 additions and 3 deletions
+3 -1
View File
@@ -99,7 +99,9 @@ func (this *FreedomConnection) Dispatch(destination v2net.Destination, payload *
readMutex.Lock()
writeMutex.Lock()
conn.Write(payload.Value)
if !payload.IsEmpty() {
conn.Write(payload.Value)
}
go func() {
v2writer := v2io.NewAdaptiveWriter(conn)
+4 -2
View File
@@ -97,8 +97,10 @@ func (this *VMessOutboundHandler) handleRequest(session *encoding.ClientSession,
if request.Option.Has(protocol.RequestOptionChunkStream) {
streamWriter = vmessio.NewAuthChunkWriter(streamWriter)
}
if err := streamWriter.Write(payload); err != nil {
conn.SetReusable(false)
if !payload.IsEmpty() {
if err := streamWriter.Write(payload); err != nil {
conn.SetReusable(false)
}
}
writer.SetCached(false)