Преглед изворни кода

Use distinct server entry port for tapdance

Rod Hynes пре 7 година
родитељ
комит
05d58c956c
2 измењених фајлова са 5 додато и 1 уклоњено
  1. 1 0
      psiphon/common/protocol/serverEntry.go
  2. 4 1
      psiphon/tunnel.go

+ 1 - 0
psiphon/common/protocol/serverEntry.go

@@ -48,6 +48,7 @@ type ServerEntry struct {
 	SshHostKey                    string   `json:"sshHostKey"`
 	SshObfuscatedPort             int      `json:"sshObfuscatedPort"`
 	SshObfuscatedQUICPort         int      `json:"sshObfuscatedQUICPort"`
+	SshObfuscatedTapdancePort     int      `json:"sshObfuscatedTapdancePort"`
 	SshObfuscatedKey              string   `json:"sshObfuscatedKey"`
 	Capabilities                  []string `json:"capabilities"`
 	Region                        string   `json:"region"`

+ 4 - 1
psiphon/tunnel.go

@@ -839,9 +839,12 @@ func dialSsh(
 	var err error
 
 	switch selectedProtocol {
-	case protocol.TUNNEL_PROTOCOL_OBFUSCATED_SSH, protocol.TUNNEL_PROTOCOL_TAPDANCE_OBFUSCATED_SSH:
+	case protocol.TUNNEL_PROTOCOL_OBFUSCATED_SSH:
 		directDialAddress = fmt.Sprintf("%s:%d", serverEntry.IpAddress, serverEntry.SshObfuscatedPort)
 
+	case protocol.TUNNEL_PROTOCOL_TAPDANCE_OBFUSCATED_SSH:
+		directDialAddress = fmt.Sprintf("%s:%d", serverEntry.IpAddress, serverEntry.SshObfuscatedTapdancePort)
+
 	case protocol.TUNNEL_PROTOCOL_QUIC_OBFUSCATED_SSH:
 		directDialAddress = fmt.Sprintf("%s:%d", serverEntry.IpAddress, serverEntry.SshObfuscatedQUICPort)
 		QUICVersion = selectQUICVersion(config.clientParameters)