mirror of https://github.com/v2ray/v2ray-core
fix error propagation in vmess server
parent
cdfbd0317f
commit
80a1e73361
|
@ -195,7 +195,7 @@ func (s *ServerSession) DecodeRequestHeader(reader io.Reader) (*protocol.Request
|
||||||
// 1 bytes reserved
|
// 1 bytes reserved
|
||||||
request.Command = protocol.RequestCommand(buffer.Byte(37))
|
request.Command = protocol.RequestCommand(buffer.Byte(37))
|
||||||
|
|
||||||
invalidRequest := false
|
var invalidRequestErr error
|
||||||
switch request.Command {
|
switch request.Command {
|
||||||
case protocol.RequestCommandMux:
|
case protocol.RequestCommandMux:
|
||||||
request.Address = net.DomainAddress("v1.mux.cool")
|
request.Address = net.DomainAddress("v1.mux.cool")
|
||||||
|
@ -205,18 +205,17 @@ func (s *ServerSession) DecodeRequestHeader(reader io.Reader) (*protocol.Request
|
||||||
request.Address = addr
|
request.Address = addr
|
||||||
request.Port = port
|
request.Port = port
|
||||||
} else {
|
} else {
|
||||||
invalidRequest = true
|
invalidRequestErr = newError("invalid address").Base(err)
|
||||||
newError("failed to read address").Base(err).WriteToLog()
|
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
invalidRequest = true
|
invalidRequestErr = newError("invalid request command: ", request.Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
if invalidRequest {
|
if invalidRequestErr != nil {
|
||||||
randomLen := dice.Roll(32) + 1
|
randomLen := dice.Roll(32) + 1
|
||||||
// Read random number of bytes for prevent detection.
|
// Read random number of bytes for prevent detection.
|
||||||
buffer.AppendSupplier(buf.ReadFullFrom(decryptor, randomLen))
|
buffer.AppendSupplier(buf.ReadFullFrom(decryptor, randomLen))
|
||||||
return nil, newError("invalid request")
|
return nil, invalidRequestErr
|
||||||
}
|
}
|
||||||
|
|
||||||
if padingLen > 0 {
|
if padingLen > 0 {
|
||||||
|
|
Loading…
Reference in New Issue