diff --git a/client/server/network.go b/client/server/network.go index d310f4da1..1b7962b78 100644 --- a/client/server/network.go +++ b/client/server/network.go @@ -36,8 +36,13 @@ func (s *Server) ListNetworks(context.Context, *proto.ListNetworksRequest) (*pro return nil, fmt.Errorf("not connected") } - routesMap := engine.GetRouteManager().GetClientRoutesWithNetID() - routeSelector := engine.GetRouteManager().GetRouteSelector() + routeMgr := engine.GetRouteManager() + if routeMgr == nil { + return nil, fmt.Errorf("no route manager") + } + + routesMap := routeMgr.GetClientRoutesWithNetID() + routeSelector := routeMgr.GetRouteSelector() var routes []*selectRoute for id, rt := range routesMap { @@ -123,6 +128,10 @@ func (s *Server) SelectNetworks(_ context.Context, req *proto.SelectNetworksRequ } routeManager := engine.GetRouteManager() + if routeManager == nil { + return nil, fmt.Errorf("no route manager") + } + routeSelector := routeManager.GetRouteSelector() if req.GetAll() { routeSelector.SelectAllRoutes() @@ -165,6 +174,10 @@ func (s *Server) DeselectNetworks(_ context.Context, req *proto.SelectNetworksRe } routeManager := engine.GetRouteManager() + if routeManager == nil { + return nil, fmt.Errorf("no route manager") + } + routeSelector := routeManager.GetRouteSelector() if req.GetAll() { routeSelector.DeselectAllRoutes()