diff --git a/server/rpc/auth_server.go b/server/rpc/auth_server.go index d14fd91215c..aef148c2be0 100644 --- a/server/rpc/auth_server.go +++ b/server/rpc/auth_server.go @@ -76,10 +76,17 @@ func (s *WoodpeckerAuthServer) getAgent(agentID int64, agentToken string) (*mode if agentToken == s.agentMasterToken { agent, err := s.store.AgentFind(agentID) - if err != nil && errors.Is(err, types.ErrRecordNotExist) { - return nil, fmt.Errorf("AgentID not found in database") + if err != nil { + if errors.Is(err, types.ErrRecordNotExist) { + return nil, fmt.Errorf("AgentID not found in database") + } else { + return nil, err + } + } + if !agent.IsSystemAgent() { + return nil, fmt.Errorf("the agent with this ID is not a system agent") } - return agent, err + return agent, nil } }