Răsfoiți Sursa

Validate protocol names in config.TunnelProtocolPorts

Rod Hynes 9 ani în urmă
părinte
comite
8db99c57c7
1 a modificat fișierele cu 3 adăugiri și 0 ștergeri
  1. 3 0
      psiphon/server/config.go

+ 3 - 0
psiphon/server/config.go

@@ -244,6 +244,9 @@ func LoadConfig(configJSON []byte) (*Config, error) {
 	}
 
 	for tunnelProtocol, _ := range config.TunnelProtocolPorts {
+		if !common.Contains(common.SupportedTunnelProtocols, tunnelProtocol) {
+			return nil, fmt.Errorf("Unsupported tunnel protocol: %s", tunnelProtocol)
+		}
 		if common.TunnelProtocolUsesSSH(tunnelProtocol) ||
 			common.TunnelProtocolUsesObfuscatedSSH(tunnelProtocol) {
 			if config.SSHPrivateKey == "" || config.SSHServerVersion == "" ||