Skip to content

Commit

Permalink
hotfix(config): split common VPN options per VPN type
Browse files Browse the repository at this point in the history
- Split `VPN_ENDPOINT_IP` in `OPENVPN_ENDPOINT_IP` and `WIREGUARD_ENDPOINT_IP`
- Split `VPN_ENDPOINT_PORT` in `OPENVPN_ENDPOINT_PORT` and `WIREGUARD_ENDPOINT_PORT`
- Fixes bad usage of Wireguard config file endpoint for OpenVPN #2347
  • Loading branch information
qdm12 committed Jul 27, 2024
1 parent 73832d8 commit 36c8da7
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 12 deletions.
6 changes: 4 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,10 @@ LABEL \
ENV VPN_SERVICE_PROVIDER=pia \
VPN_TYPE=openvpn \
# Common VPN options
VPN_ENDPOINT_IP= \
VPN_ENDPOINT_PORT= \
VPN_INTERFACE=tun0 \
# OpenVPN
OPENVPN_ENDPOINT_IP= \
OPENVPN_ENDPOINT_PORT= \
OPENVPN_PROTOCOL=udp \
OPENVPN_USER= \
OPENVPN_PASSWORD= \
Expand All @@ -93,6 +93,8 @@ ENV VPN_SERVICE_PROVIDER=pia \
OPENVPN_PROCESS_USER=root \
OPENVPN_CUSTOM_CONFIG= \
# Wireguard
WIREGUARD_ENDPOINT_IP= \
WIREGUARD_ENDPOINT_PORT= \
WIREGUARD_CONF_SECRETFILE=/run/secrets/wg0.conf \
WIREGUARD_PRIVATE_KEY= \
WIREGUARD_PRIVATE_KEY_SECRETFILE=/run/secrets/wireguard_private_key \
Expand Down
4 changes: 2 additions & 2 deletions internal/configuration/settings/openvpnselection.go
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,8 @@ func (o *OpenVPNSelection) read(r *reader.Reader) (err error) {
return err
}

o.CustomPort, err = r.Uint16Ptr("VPN_ENDPOINT_PORT",
reader.RetroKeys("PORT", "OPENVPN_PORT"))
o.CustomPort, err = r.Uint16Ptr("OPENVPN_ENDPOINT_PORT",
reader.RetroKeys("PORT", "OPENVPN_PORT", "VPN_ENDPOINT_PORT"))
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions internal/configuration/settings/serverselection.go
Original file line number Diff line number Diff line change
Expand Up @@ -385,8 +385,8 @@ func (ss *ServerSelection) read(r *reader.Reader,
vpnProvider, vpnType string) (err error) {
ss.VPN = vpnType

ss.TargetIP, err = r.NetipAddr("VPN_ENDPOINT_IP",
reader.RetroKeys("OPENVPN_TARGET_IP"))
ss.TargetIP, err = r.NetipAddr("OPENVPN_ENDPOINT_IP",
reader.RetroKeys("OPENVPN_TARGET_IP", "VPN_ENDPOINT_IP"))
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions internal/configuration/settings/wireguardselection.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,12 @@ func (w WireguardSelection) toLinesNode() (node *gotree.Node) {
}

func (w *WireguardSelection) read(r *reader.Reader) (err error) {
w.EndpointIP, err = r.NetipAddr("VPN_ENDPOINT_IP", reader.RetroKeys("WIREGUARD_ENDPOINT_IP"))
w.EndpointIP, err = r.NetipAddr("WIREGUARD_ENDPOINT_IP", reader.RetroKeys("VPN_ENDPOINT_IP"))
if err != nil {
return err
}

w.EndpointPort, err = r.Uint16Ptr("VPN_ENDPOINT_PORT", reader.RetroKeys("WIREGUARD_ENDPOINT_PORT"))
w.EndpointPort, err = r.Uint16Ptr("WIREGUARD_ENDPOINT_PORT", reader.RetroKeys("VPN_ENDPOINT_PORT"))
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions internal/configuration/sources/files/reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ func (s *Source) Get(key string) (value string, isSet bool) {
return strPtrToStringIsSet(s.lazyLoadWireguardConf().Addresses)
case "wireguard_public_key":
return strPtrToStringIsSet(s.lazyLoadWireguardConf().PublicKey)
case "vpn_endpoint_ip":
case "wireguard_endpoint_ip":
return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointIP)
case "vpn_endpoint_port":
case "wireguard_endpoint_port":
return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointPort)
}

Expand Down
4 changes: 2 additions & 2 deletions internal/configuration/sources/secrets/reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ func (s *Source) Get(key string) (value string, isSet bool) {
} // else continue to read from individual secret file
case "wireguard_public_key":
return strPtrToStringIsSet(s.lazyLoadWireguardConf().PublicKey)
case "vpn_endpoint_ip":
case "wireguard_endpoint_ip":
return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointIP)
case "vpn_endpoint_port":
case "wireguard_endpoint_port":
return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointPort)
}

Expand Down

0 comments on commit 36c8da7

Please sign in to comment.