diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-22 15:11:13 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-22 15:11:13 +0200 |
| commit | 9c4da0277824c4d27cae4bc3f29d9c9708da3864 (patch) | |
| tree | 0aeb97b69adcb071562dea4be03707f01b67db41 /state.go | |
| parent | e477d140363ebf34300894cbb92ed7a676ea0d11 (diff) | |
State: Initialize FSM in renew and disconnect
Diffstat (limited to 'state.go')
| -rw-r--r-- | state.go | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -405,6 +405,16 @@ func (state *VPNState) SetDisconnected() error { if currentServerErr != nil { return &types.WrappedErrorMessage{Message: errorMessage, Err: currentServerErr} } + + oauthStructure := currentServer.GetOAuth() + + // Make sure the FSM is initialized + oauthStructure.FSM = &state.FSM + base, baseErr := currentServer.GetBase() + if baseErr != nil { + return &types.WrappedErrorMessage{Message: errorMessage, Err: baseErr} + } + base.FSM = &state.FSM server.Disconnect(currentServer) state.FSM.GoTransitionWithData(fsm.HAS_CONFIG, state.getServerInfoData(), false) @@ -418,13 +428,20 @@ func (state *VPNState) RenewSession() error { currentServer, currentServerErr := state.Servers.GetCurrentServer() if currentServerErr != nil { - return &types.WrappedErrorMessage{Message: "failed to renew session", Err: currentServerErr} + return &types.WrappedErrorMessage{Message: errorMessage, Err: currentServerErr} } oauthStructure := currentServer.GetOAuth() oauthStructure.Token = oauth.OAuthToken{Access: "", Refresh: "", Type: "", Expires: 0, ExpiredTimestamp: util.GetCurrentTime()} + // Make sure the FSM is initialized oauthStructure.FSM = &state.FSM + base, baseErr := currentServer.GetBase() + if baseErr != nil { + return &types.WrappedErrorMessage{Message: errorMessage, Err: baseErr} + } + base.FSM = &state.FSM + loginErr := server.Login(currentServer) |
