Skip to content

Commit ac69875

Browse files
author
null
committed
fix logic
1 parent 2245a0e commit ac69875

File tree

3 files changed

+11
-17
lines changed

3 files changed

+11
-17
lines changed

proxy/hysteria/client.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -223,15 +223,9 @@ func (w *UDPWriter) WriteMultiBuffer(mb buf.MultiBuffer) error {
223223
for _, fMsg := range fMsgs {
224224
err := w.sendMsg(&fMsg)
225225
if err != nil {
226-
b.Release()
227-
buf.ReleaseMulti(mb)
228-
return err
226+
break
229227
}
230228
}
231-
} else {
232-
b.Release()
233-
buf.ReleaseMulti(mb)
234-
return err
235229
}
236230

237231
b.Release()

proxy/hysteria/server.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -170,15 +170,6 @@ func (s *Server) Process(ctx context.Context, network net.Network, conn stat.Con
170170
}
171171
common.Must(conn.SetReadDeadline(time.Time{}))
172172

173-
bufferedWriter := buf.NewBufferedWriter(buf.NewWriter(conn))
174-
err = WriteTCPResponse(bufferedWriter, true, "")
175-
if err != nil {
176-
return errors.New("failed to write response").Base(err)
177-
}
178-
if err := bufferedWriter.SetBuffered(false); err != nil {
179-
return err
180-
}
181-
182173
dest := common.Must2(net.ParseDestination("tcp:" + addr))
183174
ctx = log.ContextWithAccessMessage(ctx, &log.AccessMessage{
184175
From: conn.RemoteAddr(),
@@ -189,6 +180,15 @@ func (s *Server) Process(ctx context.Context, network net.Network, conn stat.Con
189180
})
190181
errors.LogInfo(ctx, "tunnelling request to ", dest)
191182

183+
bufferedWriter := buf.NewBufferedWriter(buf.NewWriter(conn))
184+
err = WriteTCPResponse(bufferedWriter, true, "")
185+
if err != nil {
186+
return errors.New("failed to write response").Base(err)
187+
}
188+
if err := bufferedWriter.SetBuffered(false); err != nil {
189+
return err
190+
}
191+
192192
return dispatcher.DispatchLink(ctx, dest, &transport.Link{
193193
Reader: buf.NewReader(conn),
194194
Writer: bufferedWriter,

transport/internet/hysteria/conn.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ func (i *interConn) Write(b []byte) (int, error) {
3535
if i.client {
3636
i.mutex.Lock()
3737
if i.client {
38-
i.client = false
3938
buf := make([]byte, 0, quicvarint.Len(FrameTypeTCPRequest)+len(b))
4039
buf = quicvarint.Append(buf, FrameTypeTCPRequest)
4140
buf = append(buf, b...)
4241
_, err := i.stream.Write(buf)
4342
if err != nil {
4443
return 0, err
4544
}
45+
i.client = false
4646
return len(b), nil
4747
}
4848
i.mutex.Unlock()

0 commit comments

Comments
 (0)