diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-09-19 03:24:47 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-09-19 03:24:47 -0700 |
| commit | 5abdc0be7750f51f7eb171ff80e6ec20674f3617 (patch) | |
| tree | 7730e0404cd3802e528c41fed02fc1df1bef18bb /weed/s3api/s3api_server.go | |
| parent | ede7a65a504d3f4f8dc9d51916d23a116e5fd610 (diff) | |
| download | seaweedfs-5abdc0be7750f51f7eb171ff80e6ec20674f3617.tar.xz seaweedfs-5abdc0be7750f51f7eb171ff80e6ec20674f3617.zip | |
s3: avoid overwriting object with ACL/LegalHold/Retension/LockConfiguration requests
Diffstat (limited to 'weed/s3api/s3api_server.go')
| -rw-r--r-- | weed/s3api/s3api_server.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go index d216b0af2..5e72fdcb3 100644 --- a/weed/s3api/s3api_server.go +++ b/weed/s3api/s3api_server.go @@ -90,6 +90,15 @@ func (s3a *S3ApiServer) registerRouter(router *mux.Router) { // DeleteObjectTagging bucket.Methods("DELETE").Path("/{object:.+}").HandlerFunc(track(s3a.iam.Auth(s3a.DeleteObjectTaggingHandler, ACTION_TAGGING), "DELETE")).Queries("tagging", "") + // PutObjectACL + bucket.Methods("PUT").Path("/{object:.+}").HandlerFunc(track(s3a.iam.Auth(s3a.PutObjectAclHandler, ACTION_WRITE), "PUT")).Queries("acl", "") + // PutObjectRetention + bucket.Methods("PUT").Path("/{object:.+}").HandlerFunc(track(s3a.iam.Auth(s3a.PutObjectRetentionHandler, ACTION_WRITE), "PUT")).Queries("retention", "") + // PutObjectLegalHold + bucket.Methods("PUT").Path("/{object:.+}").HandlerFunc(track(s3a.iam.Auth(s3a.PutObjectLegalHoldHandler, ACTION_WRITE), "PUT")).Queries("legal-hold", "") + // PutObjectLockConfiguration + bucket.Methods("PUT").Path("/{object:.+}").HandlerFunc(track(s3a.iam.Auth(s3a.PutObjectLockConfigurationHandler, ACTION_WRITE), "PUT")).Queries("object-lock", "") + // CopyObject bucket.Methods("PUT").Path("/{object:.+}").HeadersRegexp("X-Amz-Copy-Source", ".*?(\\/|%2F).*?").HandlerFunc(track(s3a.iam.Auth(s3a.CopyObjectHandler, ACTION_WRITE), "COPY")) // PutObject |
