mirror of
https://github.com/minio/minio.git
synced 2025-11-07 04:42:56 -05:00
utils: BucketNames with double periods and ip address should be rejected. (#2213)
Fixes #2212
This commit is contained in:
@@ -39,6 +39,7 @@ const (
|
||||
|
||||
// validBucket regexp.
|
||||
var validBucket = regexp.MustCompile(`^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$`)
|
||||
var isIPAddress = regexp.MustCompile(`^(\d+\.){3}\d+$`)
|
||||
|
||||
// IsValidBucketName verifies a bucket name in accordance with Amazon's
|
||||
// requirements. It must be 3-63 characters long, can contain dashes
|
||||
@@ -51,7 +52,9 @@ func IsValidBucketName(bucket string) bool {
|
||||
if bucket[0] == '.' || bucket[len(bucket)-1] == '.' {
|
||||
return false
|
||||
}
|
||||
return validBucket.MatchString(bucket)
|
||||
return (validBucket.MatchString(bucket) &&
|
||||
!isIPAddress.MatchString(bucket) &&
|
||||
!strings.Contains(bucket, ".."))
|
||||
}
|
||||
|
||||
// IsValidObjectName verifies an object name in accordance with Amazon's
|
||||
|
||||
Reference in New Issue
Block a user