[chore] Allow suppressing trusted-proxies warning by disabling rate limiting (#3686)

This commit is contained in:
tobi 2025-01-26 12:21:57 +01:00 committed by GitHub
commit 2a46681147
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 24 additions and 2 deletions

View file

@ -23,6 +23,7 @@ import (
"github.com/gin-gonic/gin"
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
"github.com/superseriousbusiness/gotosocial/internal/config"
)
// WebPage encapsulates variables for
@ -96,6 +97,17 @@ func injectTrustedProxiesRec(
c *gin.Context,
obj map[string]any,
) {
if config.GetAdvancedRateLimitRequests() <= 0 {
// If rate limiting is disabled entirely
// there's no point in giving a trusted
// proxies rec, as proper clientIP is
// basically only used for rate limiting.
return
}
// clientIP = the client IP that gin
// derives based on x-forwarded-for
// and current trusted proxies.
clientIP := c.ClientIP()
if clientIP == "127.0.0.1" {
// Suggest precise 127.0.0.1/32.
@ -119,7 +131,9 @@ func injectTrustedProxiesRec(
if !hasRemoteIPHeader {
// Upstream hasn't set a
// remote IP header, bail.
// remote IP header so we're
// probably not in a reverse
// proxy setup, bail.
return
}