java-topology/defects/seaweedfs-0001/patch/seaweedfs-0001.patch

25 lines
1.1 KiB
Diff

# UNDF: UNDF-2026-000001032
--- a/weed/s3api/s3api_server.go
+++ b/weed/s3api/s3api_server.go
@@ -436,13 +436,16 @@ func classifyDomainNames(domainNames []string) (pathStyleDomains, virtualHostDom
// while "s3.example.com" is virtual-host style.
func classifyDomainNames(domainNames []string) (pathStyleDomains, virtualHostDomains []string) {
+ domainSet := make(map[string]bool, len(domainNames))
+ for _, d := range domainNames {
+ domainSet[d] = true
+ }
for _, domainName := range domainNames {
parts := strings.SplitN(domainName, ".", 2)
- if len(parts) == 2 && slices.Contains(domainNames, parts[1]) {
+ if len(parts) == 2 && domainSet[parts[1]] {
// This is a subdomain and its parent is also in the list
// Register as path-style: domain.com/bucket/object
pathStyleDomains = append(pathStyleDomains, domainName)
} else {
// This is a top-level domain or its parent is not in the list
// Register as virtual-host style: bucket.domain.com/object
virtualHostDomains = append(virtualHostDomains, domainName)
}
}
return pathStyleDomains, virtualHostDomains
}