diff --git a/httpd/httpd_test.go b/httpd/httpd_test.go index cf986ded..391c38ea 100644 --- a/httpd/httpd_test.go +++ b/httpd/httpd_test.go @@ -409,6 +409,9 @@ func TestAddUserInvalidFsConfig(t *testing.T) { u.FsConfig.S3Config.UploadPartSize = 3 _, _, err = httpd.AddUser(u, http.StatusBadRequest) assert.NoError(t, err) + u.FsConfig.S3Config.UploadPartSize = 5001 + _, _, err = httpd.AddUser(u, http.StatusBadRequest) + assert.NoError(t, err) u.FsConfig.S3Config.UploadPartSize = 0 u.FsConfig.S3Config.UploadConcurrency = -1 _, _, err = httpd.AddUser(u, http.StatusBadRequest) @@ -450,6 +453,13 @@ func TestAddUserInvalidFsConfig(t *testing.T) { u.FsConfig.AzBlobConfig.KeyPrefix = "/amedir/subdir/" _, _, err = httpd.AddUser(u, http.StatusBadRequest) assert.NoError(t, err) + u.FsConfig.AzBlobConfig.KeyPrefix = "amedir/subdir/" + u.FsConfig.AzBlobConfig.UploadPartSize = -1 + _, _, err = httpd.AddUser(u, http.StatusBadRequest) + assert.NoError(t, err) + u.FsConfig.AzBlobConfig.UploadPartSize = 101 + _, _, err = httpd.AddUser(u, http.StatusBadRequest) + assert.NoError(t, err) } func TestAddUserInvalidVirtualFolders(t *testing.T) { diff --git a/vfs/vfs.go b/vfs/vfs.go index 38eec35d..9355cd75 100644 --- a/vfs/vfs.go +++ b/vfs/vfs.go @@ -241,8 +241,8 @@ func ValidateS3FsConfig(config *S3FsConfig) error { config.KeyPrefix += "/" } } - if config.UploadPartSize != 0 && config.UploadPartSize < 5 { - return errors.New("upload_part_size cannot be != 0 and lower than 5 (MB)") + if config.UploadPartSize != 0 && (config.UploadPartSize < 5 || config.UploadPartSize > 5000) { + return errors.New("upload_part_size cannot be != 0, lower than 5 (MB) or greater than 5000 (MB)") } if config.UploadConcurrency < 0 { return fmt.Errorf("invalid upload concurrency: %v", config.UploadConcurrency) @@ -297,7 +297,7 @@ func ValidateAzBlobFsConfig(config *AzBlobFsConfig) error { config.KeyPrefix += "/" } } - if config.UploadPartSize < 0 { + if config.UploadPartSize < 0 || config.UploadPartSize > 100 { return fmt.Errorf("invalid upload part size: %v", config.UploadPartSize) } if config.UploadConcurrency < 0 {