Compare commits

...

2 Commits

Author SHA1 Message Date
Quentin McGaw
1114981914 wip 2024-11-07 19:55:02 +00:00
Quentin McGaw
4ef0df04aa chore(routing): remove redundant rule ip rule in error messages 2024-11-07 19:50:46 +00:00
7 changed files with 29 additions and 5 deletions

View File

@@ -54,6 +54,7 @@ func (p PortForwarding) Validate(vpnProvider string) (err error) {
providers.PrivateInternetAccess, providers.PrivateInternetAccess,
providers.Privatevpn, providers.Privatevpn,
providers.Protonvpn, providers.Protonvpn,
providers.Mullvad,
} }
if err = validate.IsOneOf(providerSelected, validProviders...); err != nil { if err = validate.IsOneOf(providerSelected, validProviders...); err != nil {
return fmt.Errorf("%w: %w", ErrPortForwardingEnabled, err) return fmt.Errorf("%w: %w", ErrPortForwardingEnabled, err)

View File

@@ -0,0 +1,23 @@
package mullvad
import (
"context"
"github.com/qdm12/gluetun/internal/provider/utils"
)
// PortForward obtains a VPN server side port forwarded from ProtonVPN gateway.
func (p *Provider) PortForward(_ context.Context, objects utils.PortForwardObjects) (
port uint16, err error) {
objects.Logger.Debug("mullvad: port forward")
port = 10000
return port, nil
}
func (p *Provider) KeepPortForward(ctx context.Context,
objects utils.PortForwardObjects) (err error) {
objects.Logger.Debug("mullvad: keeping port forward")
<-ctx.Done()
objects.Logger.Debug("mullvad: keeping port forward exiting")
return nil
}

View File

@@ -26,7 +26,7 @@ func (r *Routing) addIPRule(src, dst netip.Prefix, table, priority int) error {
} }
if err := r.netLinker.RuleAdd(rule); err != nil { if err := r.netLinker.RuleAdd(rule); err != nil {
return fmt.Errorf("adding rule %s: %w", rule, err) return fmt.Errorf("adding %s: %w", rule, err)
} }
return nil return nil
} }

View File

@@ -80,7 +80,7 @@ func Test_Routing_addIPRule(t *testing.T) {
ruleToAdd: makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), ruleToAdd: makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99),
err: errDummy, err: errDummy,
}, },
err: errors.New("adding rule ip rule 99: from 1.1.1.0/24 to 2.2.2.0/24 table 99: dummy error"), err: errors.New("adding ip rule 99: from 1.1.1.0/24 to 2.2.2.0/24 table 99: dummy error"),
}, },
"add rule success": { "add rule success": {
src: makeNetipPrefix(1), src: makeNetipPrefix(1),

View File

@@ -118,5 +118,5 @@ func Test_netlink_Wireguard_addRule(t *testing.T) {
_ = nilCleanup() // in case it succeeds _ = nilCleanup() // in case it succeeds
} }
require.Error(t, err) require.Error(t, err)
assert.EqualError(t, err, "adding rule ip rule 10000: from all to all table 999: file exists") assert.EqualError(t, err, "adding ip rule 10000: from all to all table 999: file exists")
} }

View File

@@ -16,7 +16,7 @@ func (w *Wireguard) addRule(rulePriority int, firewallMark uint32,
rule.Table = int(firewallMark) rule.Table = int(firewallMark)
rule.Family = family rule.Family = family
if err := w.netlink.RuleAdd(rule); err != nil { if err := w.netlink.RuleAdd(rule); err != nil {
return nil, fmt.Errorf("adding rule %s: %w", rule, err) return nil, fmt.Errorf("adding %s: %w", rule, err)
} }
cleanup = func() error { cleanup = func() error {

View File

@@ -45,7 +45,7 @@ func Test_Wireguard_addRule(t *testing.T) {
Family: family, Family: family,
}, },
ruleAddErr: errDummy, ruleAddErr: errDummy,
err: errors.New("adding rule ip rule 987: from all to all table 456: dummy"), err: errors.New("adding ip rule 987: from all to all table 456: dummy"),
}, },
"rule delete error": { "rule delete error": {
expectedRule: netlink.Rule{ expectedRule: netlink.Rule{