Bläddra i källkod

Merge branch 'master' of https://github.com/v2ray/v2ray-core

Darien Raymond 8 år sedan
förälder
incheckning
68fe9d8007
2 ändrade filer med 6 tillägg och 3 borttagningar
  1. 1 0
      app/dispatcher/impl/default.go
  2. 5 3
      proxy/shadowsocks/client.go

+ 1 - 0
app/dispatcher/impl/default.go

@@ -72,6 +72,7 @@ func (v *DefaultDispatcher) DispatchToOutbound(session *proxy.SessionInfo) ray.I
 	return direct
 }
 
+// FilterPacketAndDispatch waits for a payload from source and starts dispatching.
 // Private: Visible for testing.
 func (v *DefaultDispatcher) FilterPacketAndDispatch(destination v2net.Destination, link ray.OutboundRay, dispatcher proxy.OutboundHandler) {
 	payload, err := link.OutboundInput().Read()

+ 5 - 3
proxy/shadowsocks/client.go

@@ -99,9 +99,11 @@ func (v *Client) Dispatch(destination v2net.Destination, payload *buf.Buffer, ra
 			return
 		}
 
-		if err := bodyWriter.Write(payload); err != nil {
-			log.Info("Shadowsocks|Client: Failed to write payload: ", err)
-			return
+		if !payload.IsEmpty() {
+			if err := bodyWriter.Write(payload); err != nil {
+				log.Info("Shadowsocks|Client: Failed to write payload: ", err)
+				return
+			}
 		}
 
 		var responseMutex sync.Mutex