From cbd90df51cf6d9b0165e6bc6acca4dc9edf9308d Mon Sep 17 00:00:00 2001 From: Dogan Can Bakir <65292895+dogancanbakir@users.noreply.github.com> Date: Thu, 20 Feb 2025 03:31:24 +0300 Subject: [PATCH] fix secrets lookup logic (#6059) * fix secrets lookup logic * check len --- pkg/authprovider/file.go | 9 ++++++--- pkg/authprovider/multi.go | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/authprovider/file.go b/pkg/authprovider/file.go index 64cfcb879..1c2ef51bf 100644 --- a/pkg/authprovider/file.go +++ b/pkg/authprovider/file.go @@ -122,6 +122,8 @@ func (f *FileAuthProvider) init() { // LookupAddr looks up a given domain/address and returns appropriate auth strategy func (f *FileAuthProvider) LookupAddr(addr string) []authx.AuthStrategy { + var strategies []authx.AuthStrategy + if strings.Contains(addr, ":") { // default normalization for host:port host, port, err := net.SplitHostPort(addr) @@ -131,15 +133,16 @@ func (f *FileAuthProvider) LookupAddr(addr string) []authx.AuthStrategy { } for domain, strategy := range f.domains { if strings.EqualFold(domain, addr) { - return strategy + strategies = append(strategies, strategy...) } } for compiled, strategy := range f.compiled { if compiled.MatchString(addr) { - return strategy + strategies = append(strategies, strategy...) } } - return nil + + return strategies } // LookupURL looks up a given URL and returns appropriate auth strategy diff --git a/pkg/authprovider/multi.go b/pkg/authprovider/multi.go index d059a7592..77b3348fd 100644 --- a/pkg/authprovider/multi.go +++ b/pkg/authprovider/multi.go @@ -22,7 +22,7 @@ func NewMultiAuthProvider(providers ...AuthProvider) AuthProvider { func (m *MultiAuthProvider) LookupAddr(host string) []authx.AuthStrategy { for _, provider := range m.Providers { strategy := provider.LookupAddr(host) - if strategy != nil { + if len(strategy) > 0 { return strategy } }