mirror of
https://github.com/fosrl/olm.git
synced 2026-02-07 21:46:40 +00:00
Dont go unregistered when low power mode
This commit is contained in:
@@ -36,7 +36,7 @@ func (o *Olm) handleConnect(msg websocket.WSMessage) {
|
|||||||
|
|
||||||
var wgData WgData
|
var wgData WgData
|
||||||
|
|
||||||
if o.connected {
|
if o.registered {
|
||||||
logger.Info("Already connected. Ignoring new connection request.")
|
logger.Info("Already connected. Ignoring new connection request.")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -208,7 +208,7 @@ func (o *Olm) handleConnect(msg websocket.WSMessage) {
|
|||||||
|
|
||||||
o.apiServer.SetRegistered(true)
|
o.apiServer.SetRegistered(true)
|
||||||
|
|
||||||
o.connected = true
|
o.registered = true
|
||||||
|
|
||||||
// Start ping monitor now that we are registered and connected
|
// Start ping monitor now that we are registered and connected
|
||||||
o.websocket.StartPingMonitor()
|
o.websocket.StartPingMonitor()
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ func (o *Olm) handleWgPeerUpdateData(msg websocket.WSMessage) {
|
|||||||
func (o *Olm) handleSync(msg websocket.WSMessage) {
|
func (o *Olm) handleSync(msg websocket.WSMessage) {
|
||||||
logger.Debug("Received sync message: %v", msg.Data)
|
logger.Debug("Received sync message: %v", msg.Data)
|
||||||
|
|
||||||
if !o.connected {
|
if !o.registered {
|
||||||
logger.Warn("Not connected, ignoring sync request")
|
logger.Warn("Not connected, ignoring sync request")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
11
olm/olm.go
11
olm/olm.go
@@ -32,7 +32,7 @@ type Olm struct {
|
|||||||
privateKey wgtypes.Key
|
privateKey wgtypes.Key
|
||||||
logFile *os.File
|
logFile *os.File
|
||||||
|
|
||||||
connected bool
|
registered bool
|
||||||
tunnelRunning bool
|
tunnelRunning bool
|
||||||
|
|
||||||
uapiListener net.Listener
|
uapiListener net.Listener
|
||||||
@@ -386,10 +386,10 @@ func (o *Olm) StartTunnel(config TunnelConfig) {
|
|||||||
|
|
||||||
o.apiServer.SetConnectionStatus(true)
|
o.apiServer.SetConnectionStatus(true)
|
||||||
|
|
||||||
if o.connected {
|
if o.registered {
|
||||||
o.websocket.StartPingMonitor()
|
o.websocket.StartPingMonitor()
|
||||||
|
|
||||||
logger.Debug("Already connected, skipping registration")
|
logger.Debug("Already registered, skipping registration")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -615,7 +615,7 @@ func (o *Olm) StopTunnel() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Reset the running state BEFORE cleanup to prevent callbacks from accessing nil pointers
|
// Reset the running state BEFORE cleanup to prevent callbacks from accessing nil pointers
|
||||||
o.connected = false
|
o.registered = false
|
||||||
o.tunnelRunning = false
|
o.tunnelRunning = false
|
||||||
|
|
||||||
// Cancel the tunnel context if it exists
|
// Cancel the tunnel context if it exists
|
||||||
@@ -739,9 +739,6 @@ func (o *Olm) SetPowerMode(mode string) error {
|
|||||||
|
|
||||||
logger.Info("Switching to low power mode")
|
logger.Info("Switching to low power mode")
|
||||||
|
|
||||||
// Mark as disconnected so we re-register on reconnect
|
|
||||||
o.connected = false
|
|
||||||
|
|
||||||
// Update API server connection status
|
// Update API server connection status
|
||||||
if o.apiServer != nil {
|
if o.apiServer != nil {
|
||||||
o.apiServer.SetConnectionStatus(false)
|
o.apiServer.SetConnectionStatus(false)
|
||||||
|
|||||||
Reference in New Issue
Block a user