diff --git a/client/server/capture.go b/client/server/capture.go index 308c00338..3d3a2854e 100644 --- a/client/server/capture.go +++ b/client/server/capture.go @@ -344,9 +344,6 @@ func (s *Server) clearCaptureIfOwner(sess *capture.Session, engine *internal.Eng } func (s *Server) getCaptureEngineLocked() (*internal.Engine, error) { - if s.connectClient == nil { - return nil, status.Error(codes.FailedPrecondition, "client not connected") - } engine := s.connectClient.Engine() if engine == nil { return nil, status.Error(codes.FailedPrecondition, "engine not initialized") diff --git a/client/server/debug.go b/client/server/debug.go index 14dcaba33..c425c58b8 100644 --- a/client/server/debug.go +++ b/client/server/debug.go @@ -5,7 +5,6 @@ package server import ( "bytes" "context" - "errors" "fmt" "runtime/pprof" @@ -28,11 +27,9 @@ func (s *Server) DebugBundle(_ context.Context, req *proto.DebugBundleRequest) ( } var clientMetrics debug.MetricsExporter - if s.connectClient != nil { - if engine := s.connectClient.Engine(); engine != nil { - if cm := engine.GetClientMetrics(); cm != nil { - clientMetrics = cm - } + if engine := s.connectClient.Engine(); engine != nil { + if cm := engine.GetClientMetrics(); cm != nil { + clientMetrics = cm } } @@ -48,13 +45,10 @@ func (s *Server) DebugBundle(_ context.Context, req *proto.DebugBundleRequest) ( defer s.cleanupBundleCapture() var refreshStatus func() - if s.connectClient != nil { - engine := s.connectClient.Engine() - if engine != nil { - refreshStatus = func() { - log.Debug("refreshing system health status for debug bundle") - engine.RunHealthProbes(true) - } + if engine := s.connectClient.Engine(); engine != nil { + refreshStatus = func() { + log.Debug("refreshing system health status for debug bundle") + engine.RunHealthProbes(true) } } @@ -118,9 +112,7 @@ func (s *Server) SetLogLevel(_ context.Context, req *proto.SetLogLevelRequest) ( log.SetLevel(level) - if s.connectClient != nil { - s.connectClient.SetLogLevel(level) - } + s.connectClient.SetLogLevel(level) log.Infof("Log level set to %s", level.String()) @@ -134,20 +126,13 @@ func (s *Server) SetSyncResponsePersistence(_ context.Context, req *proto.SetSyn enabled := req.GetEnabled() s.persistSyncResponse = enabled - if s.connectClient != nil { - s.connectClient.SetSyncResponsePersistence(enabled) - } + s.connectClient.SetSyncResponsePersistence(enabled) return &proto.SetSyncResponsePersistenceResponse{}, nil } func (s *Server) getLatestSyncResponse() (*mgmProto.SyncResponse, error) { - cClient := s.connectClient - if cClient == nil { - return nil, errors.New("connect client is not initialized") - } - - return cClient.GetLatestSyncResponse() + return s.connectClient.GetLatestSyncResponse() } // StartCPUProfile starts CPU profiling in the daemon. diff --git a/client/server/network.go b/client/server/network.go index 7a3c08f2e..46c95c6cf 100644 --- a/client/server/network.go +++ b/client/server/network.go @@ -34,10 +34,6 @@ func (s *Server) ListNetworks(context.Context, *proto.ListNetworksRequest) (*pro return nil, gstatus.Errorf(codes.Unavailable, errNetworksDisabled) } - if s.connectClient == nil { - return nil, fmt.Errorf("not connected") - } - engine := s.connectClient.Engine() if engine == nil { return nil, fmt.Errorf("not connected") @@ -147,10 +143,6 @@ func (s *Server) SelectNetworks(_ context.Context, req *proto.SelectNetworksRequ return nil, gstatus.Errorf(codes.Unavailable, errNetworksDisabled) } - if s.connectClient == nil { - return nil, fmt.Errorf("not connected") - } - engine := s.connectClient.Engine() if engine == nil { return nil, fmt.Errorf("not connected") @@ -199,10 +191,6 @@ func (s *Server) DeselectNetworks(_ context.Context, req *proto.SelectNetworksRe return nil, gstatus.Errorf(codes.Unavailable, errNetworksDisabled) } - if s.connectClient == nil { - return nil, fmt.Errorf("not connected") - } - engine := s.connectClient.Engine() if engine == nil { return nil, fmt.Errorf("not connected") diff --git a/client/server/server.go b/client/server/server.go index 30c46e4ef..2004d0710 100644 --- a/client/server/server.go +++ b/client/server/server.go @@ -887,10 +887,8 @@ func (s *Server) cleanupConnection() error { // until the in-flight run has fully unwound (a clean, synchronous teardown). // It must run before actCancel: cancelling the context first would make // Stop observe a dead context and return early without waiting. - if s.connectClient != nil { - if err := s.connectClient.Stop(); err != nil { - return err - } + if err := s.connectClient.Stop(); err != nil { + return err } // Stop the retry goroutine so it does not start a fresh run. The client diff --git a/client/server/state.go b/client/server/state.go index f2d823465..ec11cdc4f 100644 --- a/client/server/state.go +++ b/client/server/state.go @@ -9,7 +9,6 @@ import ( "google.golang.org/grpc/status" nberrors "github.com/netbirdio/netbird/client/errors" - "github.com/netbirdio/netbird/client/internal" "github.com/netbirdio/netbird/client/internal/routemanager/systemops" "github.com/netbirdio/netbird/client/internal/statemanager" "github.com/netbirdio/netbird/client/proto" @@ -38,7 +37,7 @@ func (s *Server) ListStates(_ context.Context, _ *proto.ListStatesRequest) (*pro // CleanState handles cleaning of states (performing cleanup operations) func (s *Server) CleanState(ctx context.Context, req *proto.CleanStateRequest) (*proto.CleanStateResponse, error) { - if s.connectClient != nil && (s.connectClient.Status() == internal.StatusConnected || s.connectClient.Status() == internal.StatusConnecting) { + if s.connectClient.ConnectionRunning() { return nil, status.Errorf(codes.FailedPrecondition, "cannot clean state while connecting or connected, run 'netbird down' first.") } @@ -81,7 +80,7 @@ func (s *Server) CleanState(ctx context.Context, req *proto.CleanStateRequest) ( // DeleteState handles deletion of states without cleanup func (s *Server) DeleteState(ctx context.Context, req *proto.DeleteStateRequest) (*proto.DeleteStateResponse, error) { - if s.connectClient != nil && (s.connectClient.Status() == internal.StatusConnected || s.connectClient.Status() == internal.StatusConnecting) { + if s.connectClient.ConnectionRunning() { return nil, status.Errorf(codes.FailedPrecondition, "cannot clean state while connecting or connected, run 'netbird down' first.") } diff --git a/client/server/trace.go b/client/server/trace.go index 7fea31c49..026117c69 100644 --- a/client/server/trace.go +++ b/client/server/trace.go @@ -62,10 +62,6 @@ func (s *Server) TracePacket(_ context.Context, req *proto.TracePacketRequest) ( } func (s *Server) getPacketTracer() (packetTracer, *internal.Engine, error) { - if s.connectClient == nil { - return nil, nil, fmt.Errorf("connect client not initialized") - } - engine := s.connectClient.Engine() if engine == nil { return nil, nil, fmt.Errorf("engine not initialized")