Skip to content

Commit

Permalink
Add check for period and das in bucketname (#1097)
Browse files Browse the repository at this point in the history
The bucket name cannot contain underscores, end with a dash, have consecutive periods, or use dashes adjacent to periods.
Ref : https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-s3-bucket-naming-requirements.html
  • Loading branch information
sinhaashish authored and kannappanr committed Apr 30, 2019
1 parent 51138f1 commit 10b3660
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pkg/s3utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ func checkBucketNameCommon(bucketName string, strict bool) (err error) {
if ipAddress.MatchString(bucketName) {
return errors.New("Bucket name cannot be an ip address")
}
if strings.Contains(bucketName, "..") {
if strings.Contains(bucketName, "..") || strings.Contains(bucketName, ".-") || strings.Contains(bucketName, "-.") {
return errors.New("Bucket name contains invalid characters")
}
if strict {
Expand Down
4 changes: 4 additions & 0 deletions pkg/s3utils/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,8 @@ func TestIsValidBucketName(t *testing.T) {
{"my", errors.New("Bucket name cannot be smaller than 3 characters"), false},
{"", errors.New("Bucket name cannot be empty"), false},
{"my..bucket", errors.New("Bucket name contains invalid characters"), false},
{"my.-bucket", errors.New("Bucket name contains invalid characters"), false},
{"my-.bucket", errors.New("Bucket name contains invalid characters"), false},
{"192.168.1.168", errors.New("Bucket name cannot be an ip address"), false},
{":bucketname", errors.New("Bucket name contains invalid characters"), false},
{"_bucketName", errors.New("Bucket name contains invalid characters"), false},
Expand Down Expand Up @@ -381,6 +383,8 @@ func TestIsValidBucketNameStrict(t *testing.T) {
{"my", errors.New("Bucket name cannot be smaller than 3 characters"), false},
{"", errors.New("Bucket name cannot be empty"), false},
{"my..bucket", errors.New("Bucket name contains invalid characters"), false},
{"my.-bucket", errors.New("Bucket name contains invalid characters"), false},
{"my-.bucket", errors.New("Bucket name contains invalid characters"), false},
{"192.168.1.168", errors.New("Bucket name cannot be an ip address"), false},
{"Mybucket", errors.New("Bucket name contains invalid characters"), false},
{"my.bucket.com", nil, true},
Expand Down

0 comments on commit 10b3660

Please sign in to comment.