aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2025-12-09 10:24:35 -0800
committerGitHub <noreply@github.com>2025-12-09 10:24:35 -0800
commitb4e2cca20488198370bc25432726e7f510d37da8 (patch)
tree9240471c325a9725480f2e35b61fa243c5dfb539
parentd6d893c8c374ff78bb7704b4da6666d36939bf1b (diff)
downloadseaweedfs-b4e2cca20488198370bc25432726e7f510d37da8.tar.xz
seaweedfs-b4e2cca20488198370bc25432726e7f510d37da8.zip
s3api: remove redundant auth verification in getRequestDataReader (#7685)
* s3api: remove redundant auth verification in getRequestDataReader The handlers PutObjectHandler and PutObjectPartHandler are already wrapped with s3a.iam.Auth() middleware which performs signature verification via authRequest() before the handler is invoked. The signature verification for authTypeSignedV2, authTypePresignedV2, authTypePresigned, and authTypeSigned in getRequestDataReader was therefore redundant. The newChunkedReader() call for streaming auth types is kept as it's needed to parse the chunked transfer encoding and extract the actual data. Fixes #7683 * simplify switch to if statement for single condition
-rw-r--r--weed/s3api/s3api_put_object_helper.go7
1 files changed, 1 insertions, 6 deletions
diff --git a/weed/s3api/s3api_put_object_helper.go b/weed/s3api/s3api_put_object_helper.go
index 626e1c22d..d020772e9 100644
--- a/weed/s3api/s3api_put_object_helper.go
+++ b/weed/s3api/s3api_put_object_helper.go
@@ -17,13 +17,8 @@ func getRequestDataReader(s3a *S3ApiServer, r *http.Request) (io.ReadCloser, s3e
dataReader := r.Body
rAuthType := getRequestAuthType(r)
if s3a.iam.isEnabled() {
- switch rAuthType {
- case authTypeStreamingSigned, authTypeStreamingUnsigned:
+ if rAuthType == authTypeStreamingSigned || rAuthType == authTypeStreamingUnsigned {
dataReader, s3ErrCode = s3a.iam.newChunkedReader(r)
- case authTypeSignedV2, authTypePresignedV2:
- _, s3ErrCode = s3a.iam.isReqAuthenticatedV2(r)
- case authTypePresigned, authTypeSigned:
- _, s3ErrCode = s3a.iam.reqSignatureV4Verify(r)
}
} else {
switch rAuthType {