Skip to content

Commit

Permalink
Add S3 control to list of services that use signed body & fix wrong m…
Browse files Browse the repository at this point in the history
…ethod name in SigV4Util.
  • Loading branch information
Sichan Yoo committed Jan 12, 2024
1 parent a5671c1 commit df3db69
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public struct SigV4AAuthScheme: ClientRuntime.AuthScheme {
updatedSigningProperties.set(key: AttributeKeys.unsignedBody, value: unsignedBody)

// Set signedBodyHeader flag
let useSignedBodyHeader = SigV4Util.serviceUsesUnsignedBodyHeader(serviceName: serviceName) && !unsignedBody
let useSignedBodyHeader = SigV4Util.serviceUsesSignedBodyHeader(serviceName: serviceName) && !unsignedBody
updatedSigningProperties.set(
key: AttributeKeys.signedBodyHeader,
value: useSignedBodyHeader ? .contentSha256 : AWSSignedBodyHeader.none
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public struct SigV4AuthScheme: ClientRuntime.AuthScheme {
updatedSigningProperties.set(key: AttributeKeys.unsignedBody, value: unsignedBody)

// Set signedBodyHeader flag
let useSignedBodyHeader = SigV4Util.serviceUsesUnsignedBodyHeader(serviceName: serviceName) && !unsignedBody
let useSignedBodyHeader = SigV4Util.serviceUsesSignedBodyHeader(serviceName: serviceName) && !unsignedBody
updatedSigningProperties.set(
key: AttributeKeys.signedBodyHeader,
value: useSignedBodyHeader ? .contentSha256 : AWSSignedBodyHeader.none
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Foundation
import ClientRuntime

public class SigV4Util {
static let unsignedBodyHeader = ["S3", "Glacier"]
static let signedBodyHeader = ["S3", "Glacier", "S3 Control"]
static let forceUnsignedBodyForPresigningURL = [
"S3": ["getObject", "putObject"]
]
Expand All @@ -20,8 +20,8 @@ public class SigV4Util {
return serviceQualifies && flowQualifies && forceUnsignedBodyForPresigningURL[serviceName]!.contains(opName)
}

static func serviceUsesUnsignedBodyHeader(serviceName: String) -> Bool {
return unsignedBodyHeader.contains(serviceName)
static func serviceUsesSignedBodyHeader(serviceName: String) -> Bool {
return signedBodyHeader.contains(serviceName)
}

static func setS3SpecificFlags(signingProperties: inout Attributes, serviceName: String) {
Expand Down

0 comments on commit df3db69

Please sign in to comment.