Maintenance: split each provider in a package
- Fix VyprVPN port - Fix missing Auth overrides
This commit is contained in:
41
internal/provider/protonvpn/port.go
Normal file
41
internal/provider/protonvpn/port.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package protonvpn
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func getPort(tcp bool, customPort uint16) (port uint16, err error) {
|
||||
if customPort == 0 {
|
||||
const defaultTCPPort, defaultUDPPort = 443, 1194
|
||||
if tcp {
|
||||
return defaultTCPPort, nil
|
||||
}
|
||||
return defaultUDPPort, nil
|
||||
}
|
||||
|
||||
if err := checkPort(customPort, tcp); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
return customPort, nil
|
||||
}
|
||||
|
||||
var ErrInvalidPort = errors.New("invalid port number")
|
||||
|
||||
func checkPort(port uint16, tcp bool) (err error) {
|
||||
if tcp {
|
||||
switch port {
|
||||
case 443, 5995, 8443: //nolint:gomnd
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("%w: %d for protocol TCP", ErrInvalidPort, port)
|
||||
}
|
||||
}
|
||||
switch port {
|
||||
case 80, 443, 1194, 4569, 5060: //nolint:gomnd
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("%w: %d for protocol UDP", ErrInvalidPort, port)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user