mirror of
https://github.com/minio/minio.git
synced 2025-01-11 15:03:22 -05:00
add missing signature v2 query params (#9670)
This commit is contained in:
parent
f1f414ca59
commit
d15042470e
@ -285,6 +285,11 @@ func registerAPIRouter(router *mux.Router, encryptionEnabled, allowSSEKMS bool)
|
||||
apiRouter.Methods(http.MethodGet).Path(SlashSeparator).HandlerFunc(
|
||||
maxClients(collectAPIStats("listbuckets", httpTraceAll(api.ListBucketsHandler))))
|
||||
|
||||
// S3 browser with signature v4 adds '//' for ListBuckets request, so rather
|
||||
// than failing with UnknownAPIRequest we simply handle it for now.
|
||||
apiRouter.Methods(http.MethodGet).Path(SlashSeparator + SlashSeparator).HandlerFunc(
|
||||
maxClients(collectAPIStats("listbuckets", httpTraceAll(api.ListBucketsHandler))))
|
||||
|
||||
// If none of the routes match add default error handler routes
|
||||
apiRouter.NotFoundHandler = http.HandlerFunc(collectAPIStats("notfound", httpTraceAll(errorResponseHandler)))
|
||||
apiRouter.MethodNotAllowedHandler = http.HandlerFunc(collectAPIStats("methodnotallowed", httpTraceAll(errorResponseHandler)))
|
||||
|
@ -33,19 +33,15 @@ import (
|
||||
"github.com/minio/minio/pkg/auth"
|
||||
)
|
||||
|
||||
// Signature and API related constants.
|
||||
const (
|
||||
signV2Algorithm = "AWS"
|
||||
)
|
||||
|
||||
// AWS S3 Signature V2 calculation rule is give here:
|
||||
// http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationStringToSign
|
||||
|
||||
// Whitelist resource list that will be used in query string for signature-V2 calculation.
|
||||
// The list should be alphabetically sorted
|
||||
//
|
||||
// This list should be kept alphabetically sorted, do not hastily edit.
|
||||
var resourceList = []string{
|
||||
"acl",
|
||||
"cors",
|
||||
"delete",
|
||||
"encryption",
|
||||
"legal-hold",
|
||||
"lifecycle",
|
||||
"location",
|
||||
"logging",
|
||||
@ -59,6 +55,10 @@ var resourceList = []string{
|
||||
"response-content-language",
|
||||
"response-content-type",
|
||||
"response-expires",
|
||||
"retention",
|
||||
"select",
|
||||
"select-type",
|
||||
"tagging",
|
||||
"torrent",
|
||||
"uploadId",
|
||||
"uploads",
|
||||
@ -68,6 +68,14 @@ var resourceList = []string{
|
||||
"website",
|
||||
}
|
||||
|
||||
// Signature and API related constants.
|
||||
const (
|
||||
signV2Algorithm = "AWS"
|
||||
)
|
||||
|
||||
// AWS S3 Signature V2 calculation rule is give here:
|
||||
// http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationStringToSign
|
||||
|
||||
func doesPolicySignatureV2Match(formValues http.Header) APIErrorCode {
|
||||
cred := globalActiveCred
|
||||
accessKey := formValues.Get(xhttp.AmzAccessKeyID)
|
||||
|
Loading…
Reference in New Issue
Block a user