Skip to content

Commit e7eec69

Browse files
authored
Fix panic during auth scheme resolution due to region validation (#3235)
1 parent d68b3a0 commit e7eec69

File tree

854 files changed

+5971
-2561
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

854 files changed

+5971
-2561
lines changed

.changelog/e6d8d10b65d149ada54cc82756eed535.json

Lines changed: 431 additions & 0 deletions
Large diffs are not rendered by default.

SMITHY_GO_CODEGEN_VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ddbac1c617ac6bea513c16923e7883b1439b2a34
1+
ed49224f03828a26529458a48ff56b9b0b4db45e

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/AwsAuthResolution.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,18 @@ private boolean isSigV4Service(Model model, ServiceShape service) {
9797

9898
private GoWriter.Writable writeRegionResolver() {
9999
return goTemplate("""
100-
func bindAuthParamsRegion( _ interface{}, params $P, _ interface{}, options Options) {
100+
func bindAuthParamsRegion( _ interface{}, params $P, _ interface{}, options Options) error {
101101
params.Region = options.Region
102+
return nil
102103
}
103104
""", AuthParametersGenerator.STRUCT_SYMBOL);
104105
}
105106

106107
private GoWriter.Writable writeEndpointParamResolver() {
107108
return goTemplate("""
108-
func bindAuthEndpointParams(ctx $P, params $P, input interface{}, options Options) {
109-
params.endpointParams, _ = bindEndpointParams(ctx, input, options)
109+
func bindAuthEndpointParams(ctx $P, params $P, input interface{}, options Options) (err error) {
110+
params.endpointParams, err = bindEndpointParams(ctx, input, options)
111+
return
110112
}
111113
""", GoStdlibTypes.Context.Context, AuthParametersGenerator.STRUCT_SYMBOL);
112114
}

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/AwsEndpointBuiltins.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import software.amazon.smithy.go.codegen.GoSettings;
77
import software.amazon.smithy.go.codegen.GoStdlibTypes;
88
import software.amazon.smithy.go.codegen.GoWriter;
9+
import software.amazon.smithy.go.codegen.SmithyGoDependency;
910
import software.amazon.smithy.go.codegen.SmithyGoTypes;
11+
import software.amazon.smithy.go.codegen.SymbolUtils;
1012
import software.amazon.smithy.go.codegen.integration.GoIntegration;
1113
import software.amazon.smithy.go.codegen.integration.RuntimeClientPlugin;
1214
import software.amazon.smithy.model.Model;
@@ -98,7 +100,7 @@ func bindRegion(region string) (*string, error) {
98100
if region == "" {
99101
return nil, nil
100102
}
101-
if !$validHost:T(region) {
103+
if !$validHost:T(region, true) {
102104
return nil, $error:T("invalid input region %s", region)
103105
}
104106
@@ -109,7 +111,8 @@ func bindRegion(region string) (*string, error) {
109111
"awsString", SdkGoTypes.Aws.String,
110112
"mapFipsRegion", SdkGoTypes.Internal.Endpoints.MapFIPSRegion,
111113
"error", GoStdlibTypes.Fmt.Errorf,
112-
"validHost", SmithyGoTypes.Transport.Http.ValidHostLabel
114+
"validHost", SymbolUtils.createValueSymbolBuilder("IsValidHostLabel",
115+
SmithyGoDependency.SMITHY_ENDPOINT_RULESFN).build()
113116
)
114117
);
115118
}

internal/kitchensinktest/auth.go

Lines changed: 11 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/kitchensinktest/endpoints.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/protocoltest/awsrestjson/auth.go

Lines changed: 11 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/protocoltest/awsrestjson/endpoints.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/protocoltest/ec2query/auth.go

Lines changed: 11 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/protocoltest/ec2query/endpoints.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)