1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-13 03:10:44 +00:00

fix error handling in outbound handler

This commit is contained in:
Darien Raymond 2018-02-19 17:51:10 +01:00
parent b3e46f5d07
commit 446059f8dc
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

View File

@ -2,13 +2,11 @@ package outbound
import (
"context"
"io"
"v2ray.com/core"
"v2ray.com/core/app/proxyman"
"v2ray.com/core/app/proxyman/mux"
"v2ray.com/core/common"
"v2ray.com/core/common/errors"
"v2ray.com/core/common/net"
"v2ray.com/core/proxy"
"v2ray.com/core/transport/internet"
@ -89,7 +87,7 @@ func (h *Handler) Dispatch(ctx context.Context, outboundRay ray.OutboundRay) {
} else {
err := h.proxy.Process(ctx, outboundRay, h)
// Ensure outbound ray is properly closed.
if err != nil && errors.Cause(err) != io.EOF {
if err != nil {
newError("failed to process outbound traffic").Base(err).WriteToLog()
outboundRay.OutboundOutput().CloseError()
} else {