diff --git a/common/buf/reader.go b/common/buf/reader.go index 02450bc3c..49e37bab7 100644 --- a/common/buf/reader.go +++ b/common/buf/reader.go @@ -90,8 +90,6 @@ type BufferedReader struct { Reader Reader // Buffer is the internal buffer to be read from first Buffer MultiBuffer - // Direct indicates whether or not to use the internal buffer - Direct bool } // BufferedBytes returns the number of bytes that is cached in this reader. @@ -118,12 +116,6 @@ func (r *BufferedReader) Read(b []byte) (int, error) { return nBytes, nil } - if r.Direct { - if reader, ok := r.Reader.(io.Reader); ok { - return reader.Read(b) - } - } - mb, err := r.Reader.ReadMultiBuffer() if err != nil { return 0, err diff --git a/common/crypto/auth.go b/common/crypto/auth.go index f860577e1..dc158f0cc 100644 --- a/common/crypto/auth.go +++ b/common/crypto/auth.go @@ -104,7 +104,6 @@ func NewAuthenticationReader(auth Authenticator, sizeParser ChunkSizeDecoder, re sizeBytes: make([]byte, sizeParser.SizeBytes()), } if breader, ok := reader.(*buf.BufferedReader); ok { - breader.Direct = false r.reader = breader } else { r.reader = &buf.BufferedReader{Reader: buf.NewReader(reader)} diff --git a/proxy/shadowsocks/protocol.go b/proxy/shadowsocks/protocol.go index 836d08941..ce6681956 100644 --- a/proxy/shadowsocks/protocol.go +++ b/proxy/shadowsocks/protocol.go @@ -103,8 +103,6 @@ func ReadTCPSession(user *protocol.User, reader io.Reader) (*protocol.RequestHea return nil, nil, newError("invalid remote address.") } - br.Direct = true - var chunkReader buf.Reader if request.Option.Has(RequestOptionOneTimeAuth) { chunkReader = NewChunkReader(br, NewAuthenticator(ChunkKeyGenerator(iv))) diff --git a/proxy/shadowsocks/server.go b/proxy/shadowsocks/server.go index c6dc8b41f..0c390b06d 100644 --- a/proxy/shadowsocks/server.go +++ b/proxy/shadowsocks/server.go @@ -171,8 +171,6 @@ func (s *Server) handleConnection(ctx context.Context, conn internet.Connection, } conn.SetReadDeadline(time.Time{}) - bufferedReader.Direct = true - dest := request.Destination() log.Record(&log.AccessMessage{ From: conn.RemoteAddr(), diff --git a/proxy/vmess/outbound/outbound.go b/proxy/vmess/outbound/outbound.go index fe278304e..1612f7035 100644 --- a/proxy/vmess/outbound/outbound.go +++ b/proxy/vmess/outbound/outbound.go @@ -160,7 +160,6 @@ func (v *Handler) Process(ctx context.Context, link *core.Link, dialer proxy.Dia } v.handleCommand(rec.Destination(), header.Command) - reader.Direct = true bodyReader := session.DecodeResponseBody(request, reader) return buf.Copy(bodyReader, output, buf.UpdateActivity(timer))