mirror of
https://github.com/crowdsecurity/crowdsec.git
synced 2025-05-11 20:36:12 +02:00
errors.Wrap -> fmt.Errorf (#2333)
This commit is contained in:
parent
486b56d1ed
commit
9967d60987
11 changed files with 110 additions and 113 deletions
|
@ -84,7 +84,7 @@ func (a *apic) FetchScenariosListFromDB() ([]string, error) {
|
|||
scenarios := make([]string, 0)
|
||||
machines, err := a.dbClient.ListMachines()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "while listing machines")
|
||||
return nil, fmt.Errorf("while listing machines: %w", err)
|
||||
}
|
||||
//merge all scenarios together
|
||||
for _, v := range machines {
|
||||
|
@ -189,16 +189,16 @@ func NewAPIC(config *csconfig.OnlineApiClientCfg, dbClient *database.Client, con
|
|||
password := strfmt.Password(config.Credentials.Password)
|
||||
apiURL, err := url.Parse(config.Credentials.URL)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "while parsing '%s'", config.Credentials.URL)
|
||||
return nil, fmt.Errorf("while parsing '%s': %w", config.Credentials.URL, err)
|
||||
}
|
||||
papiURL, err := url.Parse(config.Credentials.PapiURL)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "while parsing '%s'", config.Credentials.PapiURL)
|
||||
return nil, fmt.Errorf("while parsing '%s': %w", config.Credentials.PapiURL, err)
|
||||
}
|
||||
|
||||
ret.scenarioList, err = ret.FetchScenariosListFromDB()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "while fetching scenarios from db")
|
||||
return nil, fmt.Errorf("while fetching scenarios from db: %w", err)
|
||||
}
|
||||
ret.apiClient, err = apiclient.NewClient(&apiclient.Config{
|
||||
MachineID: config.Credentials.Login,
|
||||
|
@ -211,14 +211,14 @@ func NewAPIC(config *csconfig.OnlineApiClientCfg, dbClient *database.Client, con
|
|||
UpdateScenario: ret.FetchScenariosListFromDB,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "while creating api client")
|
||||
return nil, fmt.Errorf("while creating api client: %w", err)
|
||||
}
|
||||
|
||||
// The watcher will be authenticated by the RoundTripper the first time it will call CAPI
|
||||
// Explicit authentication will provoke an useless supplementary call to CAPI
|
||||
scenarios, err := ret.FetchScenariosListFromDB()
|
||||
if err != nil {
|
||||
return ret, errors.Wrapf(err, "get scenario in db: %s", err)
|
||||
return ret, fmt.Errorf("get scenario in db: %w", err)
|
||||
}
|
||||
|
||||
authResp, _, err := ret.apiClient.Auth.AuthenticateWatcher(context.Background(), models.WatcherAuthRequest{
|
||||
|
@ -227,11 +227,11 @@ func NewAPIC(config *csconfig.OnlineApiClientCfg, dbClient *database.Client, con
|
|||
Scenarios: scenarios,
|
||||
})
|
||||
if err != nil {
|
||||
return ret, errors.Wrapf(err, "authenticate watcher (%s)", config.Credentials.Login)
|
||||
return ret, fmt.Errorf("authenticate watcher (%s): %w", config.Credentials.Login, err)
|
||||
}
|
||||
|
||||
if err := ret.apiClient.GetClient().Transport.(*apiclient.JWTTransport).Expiration.UnmarshalText([]byte(authResp.Expire)); err != nil {
|
||||
return ret, errors.Wrap(err, "unable to parse jwt expiration")
|
||||
return ret, fmt.Errorf("unable to parse jwt expiration: %w", err)
|
||||
}
|
||||
|
||||
ret.apiClient.GetClient().Transport.(*apiclient.JWTTransport).Token = authResp.Token
|
||||
|
@ -375,7 +375,7 @@ func (a *apic) CAPIPullIsOld() (bool, error) {
|
|||
alerts = alerts.Where(alert.CreatedAtGTE(time.Now().UTC().Add(-time.Duration(1*time.Hour + 30*time.Minute)))) //nolint:unconvert
|
||||
count, err := alerts.Count(a.dbClient.CTX)
|
||||
if err != nil {
|
||||
return false, errors.Wrap(err, "while looking for CAPI alert")
|
||||
return false, fmt.Errorf("while looking for CAPI alert: %w", err)
|
||||
}
|
||||
if count > 0 {
|
||||
log.Printf("last CAPI pull is newer than 1h30, skip.")
|
||||
|
@ -401,11 +401,11 @@ func (a *apic) HandleDeletedDecisions(deletedDecisions []*models.Decision, delet
|
|||
|
||||
dbCliRet, _, err := a.dbClient.SoftDeleteDecisionsWithFilter(filter)
|
||||
if err != nil {
|
||||
return 0, errors.Wrap(err, "deleting decisions error")
|
||||
return 0, fmt.Errorf("deleting decisions error: %w", err)
|
||||
}
|
||||
dbCliDel, err := strconv.Atoi(dbCliRet)
|
||||
if err != nil {
|
||||
return 0, errors.Wrapf(err, "converting db ret %d", dbCliDel)
|
||||
return 0, fmt.Errorf("converting db ret %d: %w", dbCliDel, err)
|
||||
}
|
||||
updateCounterForDecision(delete_counters, decision.Origin, decision.Scenario, dbCliDel)
|
||||
nbDeleted += dbCliDel
|
||||
|
@ -431,11 +431,11 @@ func (a *apic) HandleDeletedDecisionsV3(deletedDecisions []*modelscapi.GetDecisi
|
|||
|
||||
dbCliRet, _, err := a.dbClient.SoftDeleteDecisionsWithFilter(filter)
|
||||
if err != nil {
|
||||
return 0, errors.Wrap(err, "deleting decisions error")
|
||||
return 0, fmt.Errorf("deleting decisions error: %w", err)
|
||||
}
|
||||
dbCliDel, err := strconv.Atoi(dbCliRet)
|
||||
if err != nil {
|
||||
return 0, errors.Wrapf(err, "converting db ret %d", dbCliDel)
|
||||
return 0, fmt.Errorf("converting db ret %d: %w", dbCliDel, err)
|
||||
}
|
||||
updateCounterForDecision(delete_counters, ptr.Of(types.CAPIOrigin), nil, dbCliDel)
|
||||
nbDeleted += dbCliDel
|
||||
|
@ -575,7 +575,7 @@ func (a *apic) PullTop(forcePull bool) error {
|
|||
|
||||
data, _, err := a.apiClient.Decisions.GetStreamV3(context.Background(), apiclient.DecisionsStreamOpts{Startup: a.startup})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "get stream")
|
||||
return fmt.Errorf("get stream: %w", err)
|
||||
}
|
||||
a.startup = false
|
||||
/*to count additions/deletions across lists*/
|
||||
|
@ -610,12 +610,12 @@ func (a *apic) PullTop(forcePull bool) error {
|
|||
|
||||
err = a.SaveAlerts(alertsFromCapi, add_counters, delete_counters)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "while saving alerts")
|
||||
return fmt.Errorf("while saving alerts: %w", err)
|
||||
}
|
||||
|
||||
// update blocklists
|
||||
if err := a.UpdateBlocklists(data.Links, add_counters); err != nil {
|
||||
return errors.Wrap(err, "while updating blocklists")
|
||||
return fmt.Errorf("while updating blocklists: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -670,7 +670,7 @@ func (a *apic) SaveAlerts(alertsFromCapi []*models.Alert, add_counters map[strin
|
|||
}
|
||||
alertID, inserted, deleted, err := a.dbClient.UpdateCommunityBlocklist(alertsFromCapi[idx])
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "while saving alert from %s", *alertsFromCapi[idx].Source.Scope)
|
||||
return fmt.Errorf("while saving alert from %s: %w", *alertsFromCapi[idx].Source.Scope, err)
|
||||
}
|
||||
log.Printf("%s : added %d entries, deleted %d entries (alert:%d)", *alertsFromCapi[idx].Source.Scope, inserted, deleted, alertID)
|
||||
}
|
||||
|
@ -689,7 +689,7 @@ func (a *apic) ShouldForcePullBlocklist(blocklist *modelscapi.BlocklistLink) (bo
|
|||
log.Debugf("no alert found for %s, force refresh", *blocklist.Name)
|
||||
return true, nil
|
||||
}
|
||||
return false, errors.Wrap(err, "while getting alert")
|
||||
return false, fmt.Errorf("while getting alert: %w", err)
|
||||
}
|
||||
decisionQuery := a.dbClient.Ent.Decision.Query()
|
||||
decisionQuery.Where(decision.HasOwnerWith(alert.IDEQ(alertInstance.ID)))
|
||||
|
@ -699,7 +699,7 @@ func (a *apic) ShouldForcePullBlocklist(blocklist *modelscapi.BlocklistLink) (bo
|
|||
log.Debugf("no decision found for %s, force refresh", *blocklist.Name)
|
||||
return true, nil
|
||||
}
|
||||
return false, errors.Wrap(err, "while getting decision")
|
||||
return false, fmt.Errorf("while getting decision: %w", err)
|
||||
}
|
||||
if firstDecision == nil || firstDecision.Until == nil || firstDecision.Until.Sub(time.Now().UTC()) < (a.pullInterval+15*time.Minute) {
|
||||
log.Debugf("at least one decision found for %s, expire soon, force refresh", *blocklist.Name)
|
||||
|
@ -719,7 +719,7 @@ func (a *apic) UpdateBlocklists(links *modelscapi.GetDecisionsStreamResponseLink
|
|||
// we can use the same baseUrl as the urls are absolute and the parse will take care of it
|
||||
defaultClient, err := apiclient.NewDefaultClient(a.apiClient.BaseURL, "", "", nil)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "while creating default client")
|
||||
return fmt.Errorf("while creating default client: %w", err)
|
||||
}
|
||||
for _, blocklist := range links.Blocklists {
|
||||
if blocklist.Scope == nil {
|
||||
|
@ -732,19 +732,19 @@ func (a *apic) UpdateBlocklists(links *modelscapi.GetDecisionsStreamResponseLink
|
|||
}
|
||||
forcePull, err := a.ShouldForcePullBlocklist(blocklist)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "while checking if we should force pull blocklist %s", *blocklist.Name)
|
||||
return fmt.Errorf("while checking if we should force pull blocklist %s: %w", *blocklist.Name, err)
|
||||
}
|
||||
blocklistConfigItemName := fmt.Sprintf("blocklist:%s:last_pull", *blocklist.Name)
|
||||
var lastPullTimestamp *string
|
||||
if !forcePull {
|
||||
lastPullTimestamp, err = a.dbClient.GetConfigItem(blocklistConfigItemName)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "while getting last pull timestamp for blocklist %s", *blocklist.Name)
|
||||
return fmt.Errorf("while getting last pull timestamp for blocklist %s: %w", *blocklist.Name, err)
|
||||
}
|
||||
}
|
||||
decisions, has_changed, err := defaultClient.Decisions.GetDecisionsFromBlocklist(context.Background(), blocklist, lastPullTimestamp)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "while getting decisions from blocklist %s", *blocklist.Name)
|
||||
return fmt.Errorf("while getting decisions from blocklist %s: %w", *blocklist.Name, err)
|
||||
}
|
||||
if !has_changed {
|
||||
if lastPullTimestamp == nil {
|
||||
|
@ -756,7 +756,7 @@ func (a *apic) UpdateBlocklists(links *modelscapi.GetDecisionsStreamResponseLink
|
|||
}
|
||||
err = a.dbClient.SetConfigItem(blocklistConfigItemName, time.Now().UTC().Format(http.TimeFormat))
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "while setting last pull timestamp for blocklist %s", *blocklist.Name)
|
||||
return fmt.Errorf("while setting last pull timestamp for blocklist %s: %w", *blocklist.Name, err)
|
||||
}
|
||||
if len(decisions) == 0 {
|
||||
log.Infof("blocklist %s has no decisions", *blocklist.Name)
|
||||
|
@ -770,7 +770,7 @@ func (a *apic) UpdateBlocklists(links *modelscapi.GetDecisionsStreamResponseLink
|
|||
|
||||
err = a.SaveAlerts(alertsFromCapi, add_counters, nil)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "while saving alert from blocklist %s", *blocklist.Name)
|
||||
return fmt.Errorf("while saving alert from blocklist %s: %w", *blocklist.Name, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue