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

Unable to CONNECT through Broadcom proxy #1872

Open
jms135 opened this issue Mar 4, 2022 · 6 comments
Open

Unable to CONNECT through Broadcom proxy #1872

jms135 opened this issue Mar 4, 2022 · 6 comments
Labels
feature-request A feature should be added or improved. p3 This is a minor priority issue

Comments

@jms135
Copy link

jms135 commented Mar 4, 2022

Describe the issue

Our Distributed Media Engine (DME) is a CentOS Linux system that use the AWS C++ SDK to push files to S3. This feature is running successfully at many customers but several have experienced a problem where the DME is unable to make a CONNECT to S3 through this particular Blue Coat/Broadcom proxy: https://www.edgeblue.com/DataSheets/ds_sg_proxy_v1-2.pdf

Proxy logs, Broadcom support, and customer proxy experts indicate that the CONNECT is being rejected by the proxy because it has invalid headers, and they are specifically identifying “content-length” as the problem.

The following paragraph in RFC 7231 https://datatracker.ietf.org/doc/html/rfc7231#page-31 advises against sending a payload body on a CONNECT:

“A payload within a CONNECT request message has no defined semantics;
sending a payload body on a CONNECT request might cause some existing
implementations to reject the request.”

Attached is a packet trace screenshot showing a sample CONNECT from DME using AWS SDK version 1.9.132. The DME use case for the SDK is pushing files to S3 and apparently the SDK is including the first file payload with the CONNECT, which triggers the use of the content-length header, which is causing the block from the proxy.

Not sure whether to call it a feature request or a bug or maybe there is a different way for us to use the SDK -- can you tell us how to avoid having the SDK include a content-length header on a proxy CONNECT?

Note that other services in the same DME system are using curl directly (not via the AWS SDK) and those work fine with the same proxy, it's only the CONNECT from the SDK that has content-length and is blocked.

Steps to Reproduce

Full source file attached but to summarize: it calls SetAwsClient to configure and then repeatedly calls ProcessMsg to post files to S3.

AwsS3Push.txt

Current behavior

Attached jpg is screens shot from a packet trace showing the headers on the proxy CONNECT as it works today.
We need to have the CONNECT not include content-length.
SDK_CONNECT

AWS CPP SDK version used

1.9.132

compiler and version used

clang 5.0.1

Operating System and version

CentOS 7

@jms135 jms135 added guidance Question that needs advice or information. needs-triage This issue or PR still needs to be triaged. labels Mar 4, 2022
@vudh1 vudh1 self-assigned this Mar 4, 2022
@vudh1 vudh1 added feature-request A feature should be added or improved. and removed guidance Question that needs advice or information. needs-triage This issue or PR still needs to be triaged. labels Mar 21, 2022
@vudh1
Copy link

vudh1 commented Mar 31, 2022

Hi @jms135 thanks for reaching out. This is a feature that our Go team decides to work on, will update more when there is a timeline for this.

@vudh1 vudh1 added the needs-review This issue or pull request needs review from a core team member. label Mar 31, 2022
@jms135
Copy link
Author

jms135 commented Mar 31, 2022

Thanks @vudh1 we are looking forward to your update and please let me know if you need additional information.

@vudh1 vudh1 removed their assignment Sep 1, 2022
@jmklix jmklix added the p3 This is a minor priority issue label Mar 8, 2023
@jmklix
Copy link
Member

jmklix commented May 3, 2024

Looking into using this curl feature: https://curl.se/libcurl/c/CURLOPT_HTTPHEADER.html

@jms135
Copy link
Author

jms135 commented May 6, 2024

@jmklix thanks for the update.

@jms135 jms135 closed this as completed May 6, 2024
@jms135 jms135 reopened this May 6, 2024
Copy link

github-actions bot commented May 6, 2024

This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.

@jms135
Copy link
Author

jms135 commented May 6, 2024

Sorry, that was an accidental close, we are still very interested in this enhancement.

@jmklix jmklix removed the needs-review This issue or pull request needs review from a core team member. label Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved. p3 This is a minor priority issue
Projects
None yet
Development

No branches or pull requests

3 participants