From de052587c9e0ee15dbbfd2ca825d8f0b6ca17e0d Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Tue, 10 Jan 2023 10:03:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9F=9F=E5=90=8D=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=EF=BC=8C=E7=8E=B0=E5=9C=A8=20example.com:*=20?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=8C=B9=E9=85=8D=20example.com?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/configutils/domain.go | 2 +- pkg/configutils/domain_test.go | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/configutils/domain.go b/pkg/configutils/domain.go index 737cab2..f026203 100644 --- a/pkg/configutils/domain.go +++ b/pkg/configutils/domain.go @@ -64,7 +64,7 @@ func MatchDomain(pattern string, domain string) (isMatched bool) { var portIndex = strings.LastIndex(patternPiece, ":*") if portIndex >= 0 { var prefix = patternPiece[:portIndex] - if strings.HasPrefix(domainPieces[index], prefix+":") { + if strings.HasPrefix(domainPieces[index], prefix+":") || domainPieces[index] == prefix { continue } } diff --git a/pkg/configutils/domain_test.go b/pkg/configutils/domain_test.go index 28ac60c..d34b77d 100644 --- a/pkg/configutils/domain_test.go +++ b/pkg/configutils/domain_test.go @@ -94,6 +94,14 @@ func TestMatchDomain(t *testing.T) { var ok = MatchDomains([]string{"*.example.com:8001"}, "a.example.com:8001") a.IsTrue(ok) } + { + var ok = MatchDomains([]string{"a.example.com:*"}, "a.example.com:8001") + a.IsTrue(ok) + } + { + var ok = MatchDomains([]string{"a.example.com:*"}, "a.example.com") + a.IsTrue(ok) + } { var ok = MatchDomains([]string{"*.example.com:*"}, "a.example.com:8001") a.IsTrue(ok)