Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

S3 endpoint with port produces malformed request for virtual host style requests #3093

Closed
h4xnoodle opened this issue Jan 21, 2020 · 1 comment · Fixed by #3102 or #3111
Closed

S3 endpoint with port produces malformed request for virtual host style requests #3093

h4xnoodle opened this issue Jan 21, 2020 · 1 comment · Fixed by #3102 or #3111
Labels
bug This issue is a bug.

Comments

@h4xnoodle
Copy link

h4xnoodle commented Jan 21, 2020

Please fill out the sections below to help us address your issue.

Version of AWS SDK for Go?

1.23.4

Version of Go (go version)?

1.13.1 darwin

What issue did you see?

When using an endpoint with a port (eg https://s3.us-west-1.amazonaws.com:443) the host style (default) GET/PUT requests fail with MalformedXML: The XML you provided was not well-formed or did not validate against our published schema. Removing the port from the endpoint resolves the issue.

With path style requests, the port within the endpoint works.

Steps to reproduce

  1. Configure the endpoint for the SDK/client with a port https://s3.us-west-1.amazonaws.com:443
  2. Attempt a GET or PUT with a valid bucket.
@diehlaws diehlaws self-assigned this Jan 23, 2020
@diehlaws diehlaws added the bug This issue is a bug. label Jan 23, 2020
@diehlaws
Copy link
Contributor

Hi @h4xnoodle, thanks for bringing this to our attention. I'm getting different errors from the SDK when reproducing this (even if I specify the endpoint without a port at the end), however it does appear to be buggy behavior in the way in which the SDK builds the S3 endpoint. We'll look into this and resolve the underlying issue as quickly as we can.

aws-sdk-go-automation pushed a commit that referenced this issue Feb 4, 2020

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
===

### Service Client Updates
* `service/cloudfront`: Updates service documentation
  * Documentation updates for CloudFront
* `service/ec2`: Updates service API and documentation
  * Amazon VPC Flow Logs adds support for 1-minute aggregation intervals.
* `service/iot`: Updates service API
  * Updated ThrottlingException documentation to report that the error code is 400, and not 429, to reflect actual system behaviour.
* `service/kafka`: Updates service API, documentation, and paginators
* `service/ssm`: Updates service API and documentation
  * This feature ensures that an instance is patched up to the available patches on a particular date. It can be enabled by selecting the 'ApproveUntilDate' option as the auto-approval rule while creating the patch baseline. ApproveUntilDate - The cutoff date for auto approval of released patches. Any patches released on or before this date will be installed automatically.
* `service/storagegateway`: Updates service API
  * Adding KVM as a support hypervisor
* `service/workmail`: Updates service API and documentation
  * This release adds support for tagging Amazon WorkMail organizations.

### SDK Enhancements
* `aws/request`: Add support for EC2 specific throttle exception code
  * Adds support for the EC2ThrottledException throttling exception code. The SDK will now treat this error code as throttling.

### SDK Bugs
* `aws/request`: Fixes an issue where the HTTP host header did not reflect changes to the endpoint URL ([#3102](#3102))
  * Fixes [#3093](#3093)
aws-sdk-go-automation added a commit that referenced this issue Feb 4, 2020
Release v1.28.10 (2020-02-04)
===

### Service Client Updates
* `service/cloudfront`: Updates service documentation
  * Documentation updates for CloudFront
* `service/ec2`: Updates service API and documentation
  * Amazon VPC Flow Logs adds support for 1-minute aggregation intervals.
* `service/iot`: Updates service API
  * Updated ThrottlingException documentation to report that the error code is 400, and not 429, to reflect actual system behaviour.
* `service/kafka`: Updates service API, documentation, and paginators
* `service/ssm`: Updates service API and documentation
  * This feature ensures that an instance is patched up to the available patches on a particular date. It can be enabled by selecting the 'ApproveUntilDate' option as the auto-approval rule while creating the patch baseline. ApproveUntilDate - The cutoff date for auto approval of released patches. Any patches released on or before this date will be installed automatically.
* `service/storagegateway`: Updates service API
  * Adding KVM as a support hypervisor
* `service/workmail`: Updates service API and documentation
  * This release adds support for tagging Amazon WorkMail organizations.

### SDK Enhancements
* `aws/request`: Add support for EC2 specific throttle exception code
  * Adds support for the EC2ThrottledException throttling exception code. The SDK will now treat this error code as throttling.

### SDK Bugs
* `aws/request`: Fixes an issue where the HTTP host header did not reflect changes to the endpoint URL ([#3102](#3102))
  * Fixes [#3093](#3093)
@diehlaws diehlaws removed their assignment Aug 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug.
Projects
None yet
2 participants