diff options
| -rw-r--r-- | client/server.go | 7 | ||||
| -rw-r--r-- | internal/server/common.go | 14 |
2 files changed, 17 insertions, 4 deletions
diff --git a/client/server.go b/client/server.go index b7bbb2a..5e1c31f 100644 --- a/client/server.go +++ b/client/server.go @@ -79,6 +79,13 @@ func (client *Client) getConfig( ) } + // Refresh the server endpoints + // This is best effort + endpointErr := server.RefreshEndpoints(chosenServer) + if endpointErr != nil { + client.Logger.Warning(fmt.Sprintf("failed to refresh server endpoints: %v", endpointErr)) + } + config, configType, configErr := client.retryConfigAuth(chosenServer, preferTCP) if configErr != nil { return "", "", types.NewWrappedError(errorMessage, configErr) diff --git a/internal/server/common.go b/internal/server/common.go index 1b745cb..7d711f0 100644 --- a/internal/server/common.go +++ b/internal/server/common.go @@ -473,21 +473,27 @@ func HasValidProfile(server Server, clientSupportsWireguard bool) (bool, error) return false, nil } -func GetConfig(server Server, clientSupportsWireguard bool, preferTCP bool) (string, string, error) { - errorMessage := "failed getting an OpenVPN/WireGuard configuration" +func RefreshEndpoints(server Server) error { + errorMessage := "failed to refresh server endpoints" // Re-initialize the endpoints // TODO: Make this a warning instead? base, baseErr := server.GetBase() if baseErr != nil { - return "", "", types.NewWrappedError(errorMessage, baseErr) + return types.NewWrappedError(errorMessage, baseErr) } endpointsErr := base.InitializeEndpoints() if endpointsErr != nil { - return "", "", types.NewWrappedError(errorMessage, endpointsErr) + return types.NewWrappedError(errorMessage, endpointsErr) } + return nil +} + +func GetConfig(server Server, clientSupportsWireguard bool, preferTCP bool) (string, string, error) { + errorMessage := "failed getting an OpenVPN/WireGuard configuration" + profile, profileErr := getCurrentProfile(server) if profileErr != nil { return "", "", types.NewWrappedError(errorMessage, profileErr) |
