From d0c5e91c4520d374f254dc356392d98b88edff50 Mon Sep 17 00:00:00 2001 From: Trong Huu Nguyen Date: Tue, 18 Jul 2023 14:08:55 +0200 Subject: [PATCH] refactor(url): remove unused field for relative validator --- pkg/handler/handler.go | 2 +- pkg/url/redirect.go | 8 ++++---- pkg/url/redirect_test.go | 2 +- pkg/url/validator.go | 8 +++----- pkg/url/validator_test.go | 6 +----- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/pkg/handler/handler.go b/pkg/handler/handler.go index 65231b3..fb2c366 100644 --- a/pkg/handler/handler.go +++ b/pkg/handler/handler.go @@ -82,7 +82,7 @@ func NewStandalone( CookieOptions: cookieOpts, Crypter: crypter, Ingresses: ingresses, - Redirect: url.NewStandaloneRedirect(ingresses), + Redirect: url.NewStandaloneRedirect(), SessionManager: sessionManager, UpstreamProxy: NewReverseProxy(upstream, true), }, nil diff --git a/pkg/url/redirect.go b/pkg/url/redirect.go index e625b52..8cb4701 100644 --- a/pkg/url/redirect.go +++ b/pkg/url/redirect.go @@ -25,9 +25,9 @@ type StandaloneRedirect struct { *cleaner } -func NewStandaloneRedirect(ingresses *ingress.Ingresses) *StandaloneRedirect { +func NewStandaloneRedirect() *StandaloneRedirect { return &StandaloneRedirect{ - cleaner: newRelativeCleaner(ingresses.Hosts()), + cleaner: newRelativeCleaner(), } } @@ -142,9 +142,9 @@ func newAbsoluteCleaner(allowedHosts []string) *cleaner { } } -func newRelativeCleaner(allowedHosts []string) *cleaner { +func newRelativeCleaner() *cleaner { return &cleaner{ - Validator: NewRelativeValidator(allowedHosts), + Validator: NewRelativeValidator(), } } diff --git a/pkg/url/redirect_test.go b/pkg/url/redirect_test.go index dd46e30..083b75b 100644 --- a/pkg/url/redirect_test.go +++ b/pkg/url/redirect_test.go @@ -23,7 +23,7 @@ func TestDefault(t *testing.T) { } ingresses := mock.Ingresses(cfg) - h := url.NewStandaloneRedirect(ingresses) + h := url.NewStandaloneRedirect() for _, tt := range []struct { name string diff --git a/pkg/url/validator.go b/pkg/url/validator.go index 8e9fbe2..f866c3e 100644 --- a/pkg/url/validator.go +++ b/pkg/url/validator.go @@ -60,12 +60,10 @@ func (v *AbsoluteValidator) IsValidRedirect(r *http.Request, redirect string) bo var _ Validator = &RelativeValidator{} -type RelativeValidator struct { - allowedDomains []string -} +type RelativeValidator struct{} -func NewRelativeValidator(allowedDomains []string) *RelativeValidator { - return &RelativeValidator{allowedDomains: allowedDomains} +func NewRelativeValidator() *RelativeValidator { + return &RelativeValidator{} } // IsValidRedirect validates that the given redirect string is a valid relative URL. diff --git a/pkg/url/validator_test.go b/pkg/url/validator_test.go index c238f65..ad5ea0a 100644 --- a/pkg/url/validator_test.go +++ b/pkg/url/validator_test.go @@ -138,11 +138,7 @@ func TestRelativeValidator_IsValidRedirect(t *testing.T) { ingresses := mock.Ingresses(cfg) r := mock.NewGetRequest("https://wonderwall", ingresses) - allowedDomains := []string{ - cfg.SSO.Domain, - "www.whitelisteddomain.tld", - } - relativeValidator := urlpkg.NewRelativeValidator(allowedDomains) + relativeValidator := urlpkg.NewRelativeValidator() t.Run("open redirects list", func(t *testing.T) { file, err := os.Open("testdata/open-redirects.txt")