فهرست منبع

prevent using net.Conn.WriteTo()

Darien Raymond 8 سال پیش
والد
کامیت
74327ea8ae
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      proxy/http/server.go

+ 5 - 1
proxy/http/server.go

@@ -86,8 +86,12 @@ func parseBasicAuth(auth string) (username, password string, ok bool) {
 	return cs[:s], cs[s+1:], true
 }
 
+type readerOnly struct {
+	io.Reader
+}
+
 func (s *Server) Process(ctx context.Context, network net.Network, conn internet.Connection, dispatcher dispatcher.Interface) error {
-	reader := bufio.NewReaderSize(conn, buf.Size)
+	reader := bufio.NewReaderSize(readerOnly{conn}, buf.Size)
 
 Start:
 	conn.SetReadDeadline(time.Now().Add(time.Second * 16))