summaryrefslogtreecommitdiff
path: root/internal/config/validate.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2025-01-27 19:21:13 +0100
committerLibravatar GitHub <noreply@github.com>2025-01-27 19:21:13 +0100
commit904829094816fb38d8f1e1d2c19c4c9c014baa88 (patch)
treeef481d04b884011b838a03c8b3dd58b955c7eaec /internal/config/validate.go
parent[chore] some tidy ups (#3677) (diff)
downloadgotosocial-904829094816fb38d8f1e1d2c19c4c9c014baa88.tar.xz
[chore] skip `trusted-proxies` warning if ip excepted from rate limiting (#3699)
* [chore] skip `trusted-proxies` warning if ip excepted from rate limiting * weep * typo * fix env parsing test
Diffstat (limited to 'internal/config/validate.go')
-rw-r--r--internal/config/validate.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/internal/config/validate.go b/internal/config/validate.go
index 723d5c931..c8ebd4f2d 100644
--- a/internal/config/validate.go
+++ b/internal/config/validate.go
@@ -19,6 +19,7 @@ package config
import (
"fmt"
+ "net/netip"
"net/url"
"strings"
@@ -168,5 +169,22 @@ func Validate() error {
)
}
+ // Parse `advanced-rate-limit-exceptions` and set
+ // parsed versions on config to avoid reparsing calls.
+ rles := GetAdvancedRateLimitExceptions()
+ rlesParsed := make([]netip.Prefix, 0, len(rles))
+ for _, rle := range rles {
+ parsed, err := netip.ParsePrefix(rle)
+ if err != nil {
+ errf(
+ "invalid entry %s in %s: %w",
+ rle, AdvancedRateLimitExceptionsFlag(), err,
+ )
+ continue
+ }
+ rlesParsed = append(rlesParsed, parsed)
+ }
+ SetAdvancedRateLimitExceptionsParsed(rlesParsed)
+
return errs.Combine()
}