Maint: make VPN connection not specific to OpenVPN

- Add VPN field to ServerSelection struct
- Set VPN type to server selection at start using VPN_TYPE
- Change OpenVPNConnection to Connection with Type field
- Rename Provider GetOpenVPNConnection to GetConnection
- Rename GetTargetIPOpenVPNConnection to GetTargetIPConnection
- Rename PickRandomOpenVPNConnection to PickRandomConnection
- Add 'OpenVPN' prefix to OpenVPN specific methods on connection
This commit is contained in:
Quentin McGaw (desktop)
2021-08-19 14:09:41 +00:00
parent 105d81c018
commit 3d8e61900b
54 changed files with 283 additions and 255 deletions

View File

@@ -8,10 +8,10 @@ import (
)
type VPNConnectionSetter interface {
SetVPNConnection(ctx context.Context, connection models.OpenVPNConnection) error
SetVPNConnection(ctx context.Context, connection models.Connection) error
}
func (c *Config) SetVPNConnection(ctx context.Context, connection models.OpenVPNConnection) (err error) {
func (c *Config) SetVPNConnection(ctx context.Context, connection models.Connection) (err error) {
c.stateMutex.Lock()
defer c.stateMutex.Unlock()
@@ -33,7 +33,7 @@ func (c *Config) SetVPNConnection(ctx context.Context, connection models.OpenVPN
c.logger.Error("cannot remove outdated VPN connection through firewall: " + err.Error())
}
}
c.vpnConnection = models.OpenVPNConnection{}
c.vpnConnection = models.Connection{}
remove = false
if err := c.acceptOutputTrafficToVPN(ctx, c.defaultInterface, connection, remove); err != nil {
return fmt.Errorf("cannot set VPN connection through firewall: %w", err)