mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-12-22 19:33:32 +02:00
Fix VLESS & Trojan fallbacks xver
This commit is contained in:
parent
7da97635b2
commit
8ffc430351
2 changed files with 20 additions and 26 deletions
|
@ -500,19 +500,16 @@ func (s *Server) fallback(ctx context.Context, sid errors.ExportOption, err erro
|
|||
postRequest := func() error {
|
||||
defer timer.SetTimeout(sessionPolicy.Timeouts.DownlinkOnly)
|
||||
if fb.Xver != 0 {
|
||||
var remoteAddr, remotePort, localAddr, localPort string
|
||||
ipType, network := 0, connection.RemoteAddr().Network()
|
||||
if len(network) >= 3 && network[:3] == "tcp" {
|
||||
var err error
|
||||
remoteAddr, remotePort, err = net.SplitHostPort(connection.RemoteAddr().String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
localAddr, localPort, err = net.SplitHostPort(connection.LocalAddr().String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ipType = 4
|
||||
ipType := 4
|
||||
remoteAddr, remotePort, err := net.SplitHostPort(connection.RemoteAddr().String())
|
||||
if err != nil {
|
||||
ipType = 0
|
||||
}
|
||||
localAddr, localPort, err := net.SplitHostPort(connection.LocalAddr().String())
|
||||
if err != nil {
|
||||
ipType = 0
|
||||
}
|
||||
if ipType == 4 {
|
||||
for i := 0; i < len(remoteAddr); i++ {
|
||||
if remoteAddr[i] == ':' {
|
||||
ipType = 6
|
||||
|
|
|
@ -335,19 +335,16 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection i
|
|||
postRequest := func() error {
|
||||
defer timer.SetTimeout(sessionPolicy.Timeouts.DownlinkOnly)
|
||||
if fb.Xver != 0 {
|
||||
var remoteAddr, remotePort, localAddr, localPort string
|
||||
ipType, network := 0, connection.RemoteAddr().Network()
|
||||
if len(network) >= 3 && network[:3] == "tcp" {
|
||||
var err error
|
||||
remoteAddr, remotePort, err = net.SplitHostPort(connection.RemoteAddr().String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
localAddr, localPort, err = net.SplitHostPort(connection.LocalAddr().String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ipType = 4
|
||||
ipType := 4
|
||||
remoteAddr, remotePort, err := net.SplitHostPort(connection.RemoteAddr().String())
|
||||
if err != nil {
|
||||
ipType = 0
|
||||
}
|
||||
localAddr, localPort, err := net.SplitHostPort(connection.LocalAddr().String())
|
||||
if err != nil {
|
||||
ipType = 0
|
||||
}
|
||||
if ipType == 4 {
|
||||
for i := 0; i < len(remoteAddr); i++ {
|
||||
if remoteAddr[i] == ':' {
|
||||
ipType = 6
|
||||
|
|
Loading…
Reference in a new issue