feat(openvpn): OPENVPN_PROCESS_USER and deprecates OPENVPN_ROOT

This commit is contained in:
Quentin McGaw
2022-01-27 23:34:19 +00:00
parent 1b585159d1
commit 7a8f5f53d5
26 changed files with 80 additions and 82 deletions

View File

@@ -88,8 +88,8 @@ func modifyConfig(lines []string, connection models.Connection,
modified = append(modified, `pull-filter ignore "route-ipv6"`)
modified = append(modified, `pull-filter ignore "ifconfig-ipv6"`)
}
if !*settings.Root {
modified = append(modified, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
modified = append(modified, "user "+settings.ProcessUser)
modified = append(modified, "persist-tun")
modified = append(modified, "persist-key")
}

View File

@@ -10,7 +10,6 @@ import (
"github.com/stretchr/testify/assert"
)
func boolPtr(b bool) *bool { return &b }
func intPtr(n int) *int { return &n }
func uint16Ptr(n uint16) *uint16 { return &n }
func stringPtr(s string) *string { return &s }
@@ -36,14 +35,13 @@ func Test_modifyConfig(t *testing.T) {
"auth bla",
},
settings: settings.OpenVPN{
User: "user",
Ciphers: []string{"cipher"},
Auth: stringPtr("auth"),
MSSFix: uint16Ptr(1000),
Root: boolPtr(false),
ProcUser: "procuser",
Interface: "tun3",
Verbosity: intPtr(0),
User: "user",
Ciphers: []string{"cipher"},
Auth: stringPtr("auth"),
MSSFix: uint16Ptr(1000),
ProcessUser: "procuser",
Interface: "tun3",
Verbosity: intPtr(0),
}.WithDefaults(constants.Custom),
connection: models.Connection{
IP: net.IPv4(1, 2, 3, 4),

View File

@@ -57,8 +57,8 @@ func (c *Cyberghost) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -62,8 +62,8 @@ func (p *Provider) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -61,8 +61,8 @@ func (f *Fastestvpn) BuildConf(connection models.Connection,
lines = append(lines, "ping 15") // FastestVPN specific
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -53,8 +53,8 @@ func (h *HideMyAss) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -54,8 +54,8 @@ func (i *Ipvanish) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -59,8 +59,8 @@ func (i *Ivpn) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -58,8 +58,8 @@ func (m *Mullvad) BuildConf(connection models.Connection,
lines = append(lines, `pull-filter ignore "ifconfig-ipv6"`)
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -62,8 +62,8 @@ func (n *Nordvpn) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -61,8 +61,8 @@ func (p *Perfectprivacy) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -48,8 +48,8 @@ func (p *Privado) BuildConf(connection models.Connection,
lines = append(lines, utils.CipherLines(settings.Ciphers, settings.Version)...)
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -72,8 +72,8 @@ func (p *PIA) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -51,8 +51,8 @@ func (p *Privatevpn) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -61,8 +61,8 @@ func (p *Protonvpn) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -54,8 +54,8 @@ func (p *Purevpn) BuildConf(connection models.Connection,
lines = append(lines, "mssfix "+strconv.Itoa(int(*settings.MSSFix)))
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -61,8 +61,8 @@ func (s *Surfshark) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -59,8 +59,8 @@ func (t *Torguard) BuildConf(connection models.Connection,
lines = append(lines, utils.CipherLines(settings.Ciphers, settings.Version)...)
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -54,8 +54,8 @@ func (p *Provider) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -54,8 +54,8 @@ func (v *Vyprvpn) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -55,8 +55,8 @@ func (w *Wevpn) BuildConf(connection models.Connection,
lines = append(lines, utils.CipherLines(settings.Ciphers, settings.Version)...)
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}

View File

@@ -58,8 +58,8 @@ func (w *Windscribe) BuildConf(connection models.Connection,
lines = append(lines, "explicit-exit-notify")
}
if !*settings.Root {
lines = append(lines, "user "+settings.ProcUser)
if settings.ProcessUser != "root" {
lines = append(lines, "user "+settings.ProcessUser)
lines = append(lines, "persist-tun")
lines = append(lines, "persist-key")
}