From 7100b19b4de7856a0e7f3b53c12cb731a0e07f4e Mon Sep 17 00:00:00 2001 From: David Newhall II Date: Sun, 14 Mar 2021 18:19:40 -0700 Subject: [PATCH] add rogueAPs and lint fixes --- core/poller/.travis.yml | 2 +- core/poller/commands.go | 4 ++-- core/poller/config.go | 14 +++++++++----- core/poller/inputs.go | 1 + 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/poller/.travis.yml b/core/poller/.travis.yml index fa14fca0..2b5173f1 100644 --- a/core/poller/.travis.yml +++ b/core/poller/.travis.yml @@ -6,4 +6,4 @@ before_install: - curl -sL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin latest script: - go test ./... -- golangci-lint run --enable-all +- golangci-lint run --enable-all -D exhaustivestruct,nlreturn,forbidigo diff --git a/core/poller/commands.go b/core/poller/commands.go index f891b64e..95aaebc3 100644 --- a/core/poller/commands.go +++ b/core/poller/commands.go @@ -43,7 +43,7 @@ func (u *UnifiPoller) PrintPasswordHash() (err error) { pwd, err = terminal.ReadPassword(int(os.Stdin.Fd())) if err != nil { - return err + return fmt.Errorf("reading stdin: %w", err) } fmt.Println() // print a newline. @@ -52,5 +52,5 @@ func (u *UnifiPoller) PrintPasswordHash() (err error) { hash, err := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost) fmt.Println(string(hash)) - return err + return err //nolint:wrapcheck } diff --git a/core/poller/config.go b/core/poller/config.go index 569203b8..0f151922 100644 --- a/core/poller/config.go +++ b/core/poller/config.go @@ -1,6 +1,7 @@ package poller import ( + "fmt" "os" "path" "plugin" @@ -42,6 +43,7 @@ type Metrics struct { SitesDPI []interface{} ClientsDPI []interface{} Devices []interface{} + RogueAPs []interface{} } // Events defines the type for log entries. @@ -78,7 +80,7 @@ func (u *UnifiPoller) LoadPlugins() error { u.Logf("Loading Dynamic Plugin: %s", name) if _, err := plugin.Open(name); err != nil { - return err + return fmt.Errorf("opening plugin: %w", err) } } @@ -114,20 +116,22 @@ func getFirstFile(files []string) (string, error) { } } - return "", err + return "", fmt.Errorf("finding file: %w", err) } // parseInterface parses the config file and environment variables into the provided interface. func (u *UnifiPoller) parseInterface(i interface{}) error { // Parse config file into provided interface. if err := cnfgfile.Unmarshal(i, u.Flags.ConfigFile); err != nil { - return err + return fmt.Errorf("cnfg unmarshal: %w", err) } // Parse environment variables into provided interface. - _, err := cnfg.UnmarshalENV(i, ENVConfigPrefix) + if _, err := cnfg.UnmarshalENV(i, ENVConfigPrefix); err != nil { + return fmt.Errorf("env unmarshal: %w", err) + } - return err + return nil } // Parse input plugin configs. diff --git a/core/poller/inputs.go b/core/poller/inputs.go index a2882f62..af9a983c 100644 --- a/core/poller/inputs.go +++ b/core/poller/inputs.go @@ -136,6 +136,7 @@ func AppendMetrics(existing *Metrics, m *Metrics) *Metrics { existing.SitesDPI = append(existing.SitesDPI, m.SitesDPI...) existing.Sites = append(existing.Sites, m.Sites...) existing.ClientsDPI = append(existing.ClientsDPI, m.ClientsDPI...) + existing.RogueAPs = append(existing.RogueAPs, m.RogueAPs...) existing.Clients = append(existing.Clients, m.Clients...) existing.Devices = append(existing.Devices, m.Devices...)