Skip to content
This repository has been archived by the owner on Oct 30, 2023. It is now read-only.

TRACE header support (for vgs-edition branch) #73

Merged
merged 9 commits into from
Apr 10, 2020
Merged

TRACE header support (for vgs-edition branch) #73

merged 9 commits into from
Apr 10, 2020

Conversation

zdmytriv
Copy link

@zdmytriv zdmytriv commented Apr 10, 2020

TRACE header support (for vgs-edition branch)

For requests through forward proxy we can get additional (not required) TRACE header. For example:

PROXY TCP4 172.17.0.1 172.17.0.2 54636 8080
TRACE 1b458c481644a39176ba72dc6ddbf766
CONNECT httpbin.org:443 HTTP/1.1
Host: httpbin.org:443
User-Agent: curl/7.64.1
Proxy-Connection: Keep-Alive
...
Format: TRACE <32HEX>\r\n

It ALWAYS goes after PROXY header. No PROXY header ====> no TRACE for sure.

If there are no protocol headers (like PROXY or TRACE) => proxy will accept request and process
If there is just PROXY header => proxy will accept request and process
If there is PROXY and TRACE headers => proxy will accept request and process
If there is just TRACE header => we accept request BUT it will fail because CONNECT is expected to be the first word.
Related PR:

verygoodsecurity/nginx#1
opentracing/specification#150
verygoodsecurity/vault#3368
Fixes: https://app.clubhouse.io/vgs/story/67682/fix-tracing-for-forward-proxy

@k-sever k-sever merged commit 39496cd into verygoodsecurity:vgs-edition Apr 10, 2020
@osklyarenko
Copy link

[ch67682]

Automatically linked to https://app.clubhouse.io/vgs/story/67682

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants