mirror of
https://github.com/restic/restic.git
synced 2025-10-24 15:59:46 +00:00
Update dependencies
This commit is contained in:
2
vendor/github.com/minio/minio-go/pkg/s3signer/request-signature-streaming.go
generated
vendored
2
vendor/github.com/minio/minio-go/pkg/s3signer/request-signature-streaming.go
generated
vendored
@@ -99,7 +99,7 @@ func prepareStreamingRequest(req *http.Request, sessionToken string, dataLen int
|
||||
if sessionToken != "" {
|
||||
req.Header.Set("X-Amz-Security-Token", sessionToken)
|
||||
}
|
||||
req.Header.Set("Content-Encoding", streamingEncoding)
|
||||
req.Header.Add("Content-Encoding", streamingEncoding)
|
||||
req.Header.Set("X-Amz-Date", timestamp.Format(iso8601DateFormat))
|
||||
|
||||
// Set content length with streaming signature for each chunk included.
|
||||
|
||||
4
vendor/github.com/minio/minio-go/pkg/s3signer/request-signature-v2.go
generated
vendored
4
vendor/github.com/minio/minio-go/pkg/s3signer/request-signature-v2.go
generated
vendored
@@ -42,9 +42,7 @@ const (
|
||||
func encodeURL2Path(u *url.URL) (path string) {
|
||||
// Encode URL path.
|
||||
if isS3, _ := filepath.Match("*.s3*.amazonaws.com", u.Host); isS3 {
|
||||
hostSplits := strings.SplitN(u.Host, ".", 4)
|
||||
// First element is the bucket name.
|
||||
bucketName := hostSplits[0]
|
||||
bucketName := u.Host[:strings.LastIndex(u.Host, ".s3")]
|
||||
path = "/" + bucketName
|
||||
path += u.Path
|
||||
path = s3utils.EncodePath(path)
|
||||
|
||||
7
vendor/github.com/minio/minio-go/pkg/s3signer/utils_test.go
generated
vendored
7
vendor/github.com/minio/minio-go/pkg/s3signer/utils_test.go
generated
vendored
@@ -25,6 +25,7 @@ import (
|
||||
// Tests url encoding.
|
||||
func TestEncodeURL2Path(t *testing.T) {
|
||||
type urlStrings struct {
|
||||
bucketName string
|
||||
objName string
|
||||
encodedObjName string
|
||||
}
|
||||
@@ -32,22 +33,27 @@ func TestEncodeURL2Path(t *testing.T) {
|
||||
bucketName := "bucketName"
|
||||
want := []urlStrings{
|
||||
{
|
||||
bucketName: "bucketName",
|
||||
objName: "本語",
|
||||
encodedObjName: "%E6%9C%AC%E8%AA%9E",
|
||||
},
|
||||
{
|
||||
bucketName: "bucketName",
|
||||
objName: "本語.1",
|
||||
encodedObjName: "%E6%9C%AC%E8%AA%9E.1",
|
||||
},
|
||||
{
|
||||
objName: ">123>3123123",
|
||||
bucketName: "bucketName",
|
||||
encodedObjName: "%3E123%3E3123123",
|
||||
},
|
||||
{
|
||||
bucketName: "bucketName",
|
||||
objName: "test 1 2.txt",
|
||||
encodedObjName: "test%201%202.txt",
|
||||
},
|
||||
{
|
||||
bucketName: "test.bucketName",
|
||||
objName: "test++ 1.txt",
|
||||
encodedObjName: "test%2B%2B%201.txt",
|
||||
},
|
||||
@@ -63,4 +69,5 @@ func TestEncodeURL2Path(t *testing.T) {
|
||||
t.Fatal("Error")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
10
vendor/github.com/minio/minio-go/pkg/s3utils/utils.go
generated
vendored
10
vendor/github.com/minio/minio-go/pkg/s3utils/utils.go
generated
vendored
@@ -80,6 +80,9 @@ func IsVirtualHostSupported(endpointURL url.URL, bucketName string) bool {
|
||||
return IsAmazonEndpoint(endpointURL) || IsGoogleEndpoint(endpointURL)
|
||||
}
|
||||
|
||||
// AmazonS3Host - regular expression used to determine if an arg is s3 host.
|
||||
var AmazonS3Host = regexp.MustCompile("^s3[.-]?(.*?)\\.amazonaws\\.com$")
|
||||
|
||||
// IsAmazonEndpoint - Match if it is exactly Amazon S3 endpoint.
|
||||
func IsAmazonEndpoint(endpointURL url.URL) bool {
|
||||
if IsAmazonChinaEndpoint(endpointURL) {
|
||||
@@ -88,7 +91,7 @@ func IsAmazonEndpoint(endpointURL url.URL) bool {
|
||||
if IsAmazonGovCloudEndpoint(endpointURL) {
|
||||
return true
|
||||
}
|
||||
return endpointURL.Host == "s3.amazonaws.com"
|
||||
return AmazonS3Host.MatchString(endpointURL.Host)
|
||||
}
|
||||
|
||||
// IsAmazonGovCloudEndpoint - Match if it is exactly Amazon S3 GovCloud endpoint.
|
||||
@@ -205,7 +208,7 @@ func EncodePath(pathName string) string {
|
||||
// We support '.' with bucket names but we fallback to using path
|
||||
// style requests instead for such buckets.
|
||||
var (
|
||||
validBucketName = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9\.\-]{1,61}[A-Za-z0-9]$`)
|
||||
validBucketName = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9\.\-\_\:]{1,61}[A-Za-z0-9]$`)
|
||||
validBucketNameStrict = regexp.MustCompile(`^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$`)
|
||||
ipAddress = regexp.MustCompile(`^(\d+\.){3}\d+$`)
|
||||
)
|
||||
@@ -240,14 +243,13 @@ func checkBucketNameCommon(bucketName string, strict bool) (err error) {
|
||||
}
|
||||
|
||||
// CheckValidBucketName - checks if we have a valid input bucket name.
|
||||
// This is a non stricter version.
|
||||
// - http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html
|
||||
func CheckValidBucketName(bucketName string) (err error) {
|
||||
return checkBucketNameCommon(bucketName, false)
|
||||
}
|
||||
|
||||
// CheckValidBucketNameStrict - checks if we have a valid input bucket name.
|
||||
// This is a stricter version.
|
||||
// - http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html
|
||||
func CheckValidBucketNameStrict(bucketName string) (err error) {
|
||||
return checkBucketNameCommon(bucketName, true)
|
||||
}
|
||||
|
||||
4
vendor/github.com/minio/minio-go/pkg/s3utils/utils_test.go
generated
vendored
4
vendor/github.com/minio/minio-go/pkg/s3utils/utils_test.go
generated
vendored
@@ -301,10 +301,14 @@ func TestIsValidBucketName(t *testing.T) {
|
||||
{"", errors.New("Bucket name cannot be empty"), 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},
|
||||
{"my.bucket.com", nil, true},
|
||||
{"my-bucket", nil, true},
|
||||
{"123my-bucket", nil, true},
|
||||
{"Mybucket", nil, true},
|
||||
{"My_bucket", nil, true},
|
||||
{"My:bucket", nil, true},
|
||||
}
|
||||
|
||||
for i, testCase := range testCases {
|
||||
|
||||
Reference in New Issue
Block a user