diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2025-12-09 10:24:35 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-09 10:24:35 -0800 |
| commit | b4e2cca20488198370bc25432726e7f510d37da8 (patch) | |
| tree | 9240471c325a9725480f2e35b61fa243c5dfb539 | |
| parent | d6d893c8c374ff78bb7704b4da6666d36939bf1b (diff) | |
| download | seaweedfs-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.go | 7 |
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 { |
