diff options
| -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 |
