mirror of
https://github.com/minio/minio.git
synced 2025-01-25 13:43:17 -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(
|
apiRouter.Methods(http.MethodGet).Path(SlashSeparator).HandlerFunc(
|
||||||
maxClients(collectAPIStats("listbuckets", httpTraceAll(api.ListBucketsHandler))))
|
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
|
// If none of the routes match add default error handler routes
|
||||||
apiRouter.NotFoundHandler = http.HandlerFunc(collectAPIStats("notfound", httpTraceAll(errorResponseHandler)))
|
apiRouter.NotFoundHandler = http.HandlerFunc(collectAPIStats("notfound", httpTraceAll(errorResponseHandler)))
|
||||||
apiRouter.MethodNotAllowedHandler = http.HandlerFunc(collectAPIStats("methodnotallowed", httpTraceAll(errorResponseHandler)))
|
apiRouter.MethodNotAllowedHandler = http.HandlerFunc(collectAPIStats("methodnotallowed", httpTraceAll(errorResponseHandler)))
|
||||||
|
@ -33,19 +33,15 @@ import (
|
|||||||
"github.com/minio/minio/pkg/auth"
|
"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.
|
// 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{
|
var resourceList = []string{
|
||||||
"acl",
|
"acl",
|
||||||
|
"cors",
|
||||||
"delete",
|
"delete",
|
||||||
|
"encryption",
|
||||||
|
"legal-hold",
|
||||||
"lifecycle",
|
"lifecycle",
|
||||||
"location",
|
"location",
|
||||||
"logging",
|
"logging",
|
||||||
@ -59,6 +55,10 @@ var resourceList = []string{
|
|||||||
"response-content-language",
|
"response-content-language",
|
||||||
"response-content-type",
|
"response-content-type",
|
||||||
"response-expires",
|
"response-expires",
|
||||||
|
"retention",
|
||||||
|
"select",
|
||||||
|
"select-type",
|
||||||
|
"tagging",
|
||||||
"torrent",
|
"torrent",
|
||||||
"uploadId",
|
"uploadId",
|
||||||
"uploads",
|
"uploads",
|
||||||
@ -68,6 +68,14 @@ var resourceList = []string{
|
|||||||
"website",
|
"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 {
|
func doesPolicySignatureV2Match(formValues http.Header) APIErrorCode {
|
||||||
cred := globalActiveCred
|
cred := globalActiveCred
|
||||||
accessKey := formValues.Get(xhttp.AmzAccessKeyID)
|
accessKey := formValues.Get(xhttp.AmzAccessKeyID)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user