diff --git a/cmd/gluetun/main.go b/cmd/gluetun/main.go index 57854645..cf09160b 100644 --- a/cmd/gluetun/main.go +++ b/cmd/gluetun/main.go @@ -143,7 +143,7 @@ func _main(ctx context.Context, buildInfo models.BuildInformation, httpClient := &http.Client{Timeout: clientTimeout} // Create configurators alpineConf := alpine.New() - ovpnConf := openvpnconfig.NewConfigurator( + ovpnConf := openvpnconfig.New( logger.NewChild(logging.Settings{Prefix: "openvpn configurator: "}), cmder, puid, pgid) dnsCrypto := dnscrypto.New(httpClient, "", "") diff --git a/internal/openvpn/config/auth.go b/internal/openvpn/config/auth.go index 03f21698..04af1324 100644 --- a/internal/openvpn/config/auth.go +++ b/internal/openvpn/config/auth.go @@ -11,7 +11,7 @@ type AuthWriter interface { } // WriteAuthFile writes the OpenVPN auth file to disk with the right permissions. -func (c *configurator) WriteAuthFile(user, password string) error { +func (c *Configurator) WriteAuthFile(user, password string) error { file, err := os.Open(c.authFilePath) if err != nil && !os.IsNotExist(err) { diff --git a/internal/openvpn/config/command.go b/internal/openvpn/config/command.go index 3232cff0..129555a7 100644 --- a/internal/openvpn/config/command.go +++ b/internal/openvpn/config/command.go @@ -23,7 +23,7 @@ type Starter interface { stdoutLines, stderrLines chan string, waitError chan error, err error) } -func (c *configurator) Start(ctx context.Context, version string, flags []string) ( +func (c *Configurator) Start(ctx context.Context, version string, flags []string) ( stdoutLines, stderrLines chan string, waitError chan error, err error) { var bin string switch version { @@ -50,17 +50,17 @@ type VersionGetter interface { Version25(ctx context.Context) (version string, err error) } -func (c *configurator) Version24(ctx context.Context) (version string, err error) { +func (c *Configurator) Version24(ctx context.Context) (version string, err error) { return c.version(ctx, binOpenvpn24) } -func (c *configurator) Version25(ctx context.Context) (version string, err error) { +func (c *Configurator) Version25(ctx context.Context) (version string, err error) { return c.version(ctx, binOpenvpn25) } var ErrVersionTooShort = errors.New("version output is too short") -func (c *configurator) version(ctx context.Context, binName string) (version string, err error) { +func (c *Configurator) version(ctx context.Context, binName string) (version string, err error) { cmd := exec.CommandContext(ctx, binName, "--version") output, err := c.cmder.Run(cmd) if err != nil && err.Error() != "exit status 1" { diff --git a/internal/openvpn/config/config.go b/internal/openvpn/config/config.go index 1b6fa8d7..2d678e1d 100644 --- a/internal/openvpn/config/config.go +++ b/internal/openvpn/config/config.go @@ -9,7 +9,7 @@ type Writer interface { WriteConfig(lines []string) error } -func (c *configurator) WriteConfig(lines []string) error { +func (c *Configurator) WriteConfig(lines []string) error { file, err := os.OpenFile(c.configPath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644) if err != nil { return err diff --git a/internal/openvpn/config/openvpn.go b/internal/openvpn/config/openvpn.go index ea792dc2..537694d2 100644 --- a/internal/openvpn/config/openvpn.go +++ b/internal/openvpn/config/openvpn.go @@ -6,14 +6,14 @@ import ( "github.com/qdm12/golibs/logging" ) -type Configurator interface { +type Interface interface { VersionGetter AuthWriter Starter Writer } -type configurator struct { +type Configurator struct { logger logging.Logger cmder command.RunStarter configPath string @@ -21,9 +21,9 @@ type configurator struct { puid, pgid int } -func NewConfigurator(logger logging.Logger, - cmder command.RunStarter, puid, pgid int) Configurator { - return &configurator{ +func New(logger logging.Logger, + cmder command.RunStarter, puid, pgid int) *Configurator { + return &Configurator{ logger: logger, cmder: cmder, configPath: constants.OpenVPNConf, diff --git a/internal/openvpn/loop.go b/internal/openvpn/loop.go index e1c101de..a10c1a9e 100644 --- a/internal/openvpn/loop.go +++ b/internal/openvpn/loop.go @@ -35,7 +35,7 @@ type Loop struct { buildInfo models.BuildInformation versionInfo bool // Configurators - conf config.Configurator + openvpnConf config.Interface fw firewallConfigurer routing routing.VPNGetter portForward portforward.StartStopper @@ -65,7 +65,7 @@ const ( func NewLoop(openVPNSettings configuration.OpenVPN, providerSettings configuration.Provider, - allServers models.AllServers, conf config.Configurator, + allServers models.AllServers, openvpnConf config.Interface, fw firewallConfigurer, routing routing.VPNGetter, portForward portforward.StartStopper, publicip publicip.Looper, dnsLooper dns.Looper, @@ -84,7 +84,7 @@ func NewLoop(openVPNSettings configuration.OpenVPN, state: state, buildInfo: buildInfo, versionInfo: versionInfo, - conf: conf, + openvpnConf: openvpnConf, fw: fw, routing: routing, portForward: portForward, diff --git a/internal/openvpn/run.go b/internal/openvpn/run.go index a028c9c9..252f6460 100644 --- a/internal/openvpn/run.go +++ b/internal/openvpn/run.go @@ -44,13 +44,13 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { continue } - if err := l.conf.WriteConfig(lines); err != nil { + if err := l.openvpnConf.WriteConfig(lines); err != nil { l.crashed(ctx, err) continue } if openVPNSettings.User != "" { - err := l.conf.WriteAuthFile(openVPNSettings.User, openVPNSettings.Password) + err := l.openvpnConf.WriteAuthFile(openVPNSettings.User, openVPNSettings.Password) if err != nil { l.crashed(ctx, err) continue @@ -64,7 +64,7 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { openvpnCtx, openvpnCancel := context.WithCancel(context.Background()) - stdoutLines, stderrLines, waitError, err := l.conf.Start( + stdoutLines, stderrLines, waitError, err := l.openvpnConf.Start( openvpnCtx, openVPNSettings.Version, openVPNSettings.Flags) if err != nil { openvpnCancel()