aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYulian Kuncheff <670212+daegalus@users.noreply.github.com>2025-03-25 15:02:05 +0100
committerGitHub <noreply@github.com>2025-03-25 10:02:05 -0400
commitf29a200f09ca3f720266164421304ed28de57dc6 (patch)
tree3b6008abb87b6f7c1476d2a56a0834602bede960 /lib
parent18cd8a66a254989c7cb0c90ea58df43b1883289f (diff)
downloadanubis-f29a200f09ca3f720266164421304ed28de57dc6.tar.xz
anubis-f29a200f09ca3f720266164421304ed28de57dc6.zip
Linting and staticcheck fixes. (#101)
* Fix linting and staticcheck issues * Add changelog update * Remove SetNext
Diffstat (limited to 'lib')
-rw-r--r--lib/anubis.go4
-rw-r--r--lib/policy/config/config.go4
-rw-r--r--lib/policy/policy.go15
3 files changed, 9 insertions, 14 deletions
diff --git a/lib/anubis.go b/lib/anubis.go
index 43993bb..d56c608 100644
--- a/lib/anubis.go
+++ b/lib/anubis.go
@@ -98,10 +98,6 @@ func New(opts Options) (*Server, error) {
return nil, fmt.Errorf("failed to generate ed25519 key: %w", err)
}
- if err != nil {
- return nil, err // parseConfig sets a fancy error for us
- }
-
result := &Server{
next: opts.Next,
priv: priv,
diff --git a/lib/policy/config/config.go b/lib/policy/config/config.go
index 67eddbf..b23af70 100644
--- a/lib/policy/config/config.go
+++ b/lib/policy/config/config.go
@@ -51,7 +51,7 @@ func (b BotConfig) Valid() error {
errs = append(errs, ErrBotMustHaveName)
}
- if b.UserAgentRegex == nil && b.PathRegex == nil && (b.RemoteAddr == nil || len(b.RemoteAddr) == 0) {
+ if b.UserAgentRegex == nil && b.PathRegex == nil && len(b.RemoteAddr) == 0 {
errs = append(errs, ErrBotMustHaveUserAgentOrPath)
}
@@ -71,7 +71,7 @@ func (b BotConfig) Valid() error {
}
}
- if b.RemoteAddr != nil && len(b.RemoteAddr) > 0 {
+ if len(b.RemoteAddr) > 0 {
for _, cidr := range b.RemoteAddr {
if _, _, err := net.ParseCIDR(cidr); err != nil {
errs = append(errs, ErrInvalidCIDR, err)
diff --git a/lib/policy/policy.go b/lib/policy/policy.go
index 51b23ff..3f80fa3 100644
--- a/lib/policy/policy.go
+++ b/lib/policy/policy.go
@@ -46,24 +46,23 @@ func ParseConfig(fin io.Reader, fname string, defaultDifficulty int) (*ParsedCon
return nil, err
}
- var err error
+ var validationErrs []error
result := NewParsedConfig(c)
result.DefaultDifficulty = defaultDifficulty
for _, b := range c.Bots {
if berr := b.Valid(); berr != nil {
- err = errors.Join(err, berr)
+ validationErrs = append(validationErrs, berr)
continue
}
- var botParseErr error
parsedBot := Bot{
Name: b.Name,
Action: b.Action,
}
- if b.RemoteAddr != nil && len(b.RemoteAddr) > 0 {
+ if len(b.RemoteAddr) > 0 {
parsedBot.Ranger = cidranger.NewPCTrieRanger()
for _, cidr := range b.RemoteAddr {
@@ -79,7 +78,7 @@ func ParseConfig(fin io.Reader, fname string, defaultDifficulty int) (*ParsedCon
if b.UserAgentRegex != nil {
userAgent, err := regexp.Compile(*b.UserAgentRegex)
if err != nil {
- botParseErr = errors.Join(botParseErr, fmt.Errorf("while compiling user agent regexp: %w", err))
+ validationErrs = append(validationErrs, fmt.Errorf("while compiling user agent regexp: %w", err))
continue
} else {
parsedBot.UserAgent = userAgent
@@ -89,7 +88,7 @@ func ParseConfig(fin io.Reader, fname string, defaultDifficulty int) (*ParsedCon
if b.PathRegex != nil {
path, err := regexp.Compile(*b.PathRegex)
if err != nil {
- botParseErr = errors.Join(botParseErr, fmt.Errorf("while compiling path regexp: %w", err))
+ validationErrs = append(validationErrs, fmt.Errorf("while compiling path regexp: %w", err))
continue
} else {
parsedBot.Path = path
@@ -112,8 +111,8 @@ func ParseConfig(fin io.Reader, fname string, defaultDifficulty int) (*ParsedCon
result.Bots = append(result.Bots, parsedBot)
}
- if err != nil {
- return nil, fmt.Errorf("errors validating policy config JSON %s: %w", fname, err)
+ if len(validationErrs) > 0 {
+ return nil, fmt.Errorf("errors validating policy config JSON %s: %w", fname, errors.Join(validationErrs...))
}
result.DNSBL = c.DNSBL