diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-07-12 15:24:11 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-07-12 15:24:11 +0200 |
| commit | e7649f2dec8e146779b54627f5efb88f97e3392d (patch) | |
| tree | 03fc34717721e54da9a51e7628c6295e3040de33 | |
| parent | 49e0042abaf4210b751e592c2a9f366307e81a4f (diff) | |
State + Server: Ensure the current secure location is re-initialized
| -rw-r--r-- | internal/server/server.go | 4 | ||||
| -rw-r--r-- | state.go | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/internal/server/server.go b/internal/server/server.go index 55add85..f88c521 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -299,6 +299,10 @@ func (servers *Servers) AddInstituteAccess(instituteServer *types.DiscoveryServe return institute, nil } +func (servers *Servers) GetSecureLocation() string { + return servers.SecureInternetHomeServer.CurrentLocation +} + func (servers *Servers) SetSecureLocation(chosenLocationServer *types.DiscoveryServer, fsm *fsm.FSM, logger *log.FileLogger) error { errorMessage := "failed to set secure location" // Make sure to add the current location @@ -181,12 +181,18 @@ func (state *VPNState) addSecureInternetHomeServer(orgID string) (server.Server, return nil, &types.WrappedErrorMessage{Message: errorMessage, Err: serverErr} } + var locationErr error + if !state.Servers.HasSecureLocation() { - locationErr := state.AskSecureLocation() + locationErr = state.AskSecureLocation() - if locationErr != nil { - return nil, &types.WrappedErrorMessage{Message: errorMessage, Err: locationErr} - } + } else { + // reinitialize + locationErr = state.SetSecureLocation(state.Servers.GetSecureLocation()) + } + + if locationErr != nil { + return nil, &types.WrappedErrorMessage{Message: errorMessage, Err: locationErr} } return server, nil |
