[tor-bugs] #25472 [Obfuscation/Snowflake]: snowflake-client's `-url` option is intolerant of a missing path (was: snowflake-client's `-url` option is intolerant of a missing trailing slash.)
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Mar 13 03:38:31 UTC 2018
#25472: snowflake-client's `-url` option is intolerant of a missing path
-----------------------------------+------------------------------
Reporter: dcf | Owner: (none)
Type: defect | Status: needs_review
Priority: Medium | Milestone:
Component: Obfuscation/Snowflake | Version:
Severity: Minor | Resolution:
Keywords: easy | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
-----------------------------------+------------------------------
Changes (by dcf):
* status: new => needs_review
Comment:
Here is a patch. It uses the net.url
[https://golang.org/pkg/net/url/#URL.ResolveReference ResolveReference]
function to construct a new URL whose that is the same as a base URL,
except with a different path. This works for the no-path case (e.g.
`http://127.0.0.1:8080`), and also for the case when the base URL has a
path other than `/`, e.g. `https://philanthropic.example/snowflake/`. The
latter example would cause client POSTS to go to
`https://philanthropic.example/snowflake/client`.
The way we're going it already in proxy-go is similar, except we're
clobbering the path, rather than resolving it relatively:
https://gitweb.torproject.org/pluggable-transports/snowflake.git/tree
/proxy-go/snowflake.go?id=ff8f3851082e8f7f8b4c8b99b161be35020aeb67#n134
{{{
broker := mustParseURL(brokerURL)
broker.Path = "/proxy"
}}}
https://gitweb.torproject.org/pluggable-transports/snowflake.git/tree
/proxy-go/snowflake.go?id=ff8f3851082e8f7f8b4c8b99b161be35020aeb67#n159
{{{
broker := mustParseURL(brokerURL)
broker.Path = "/answer"
}}}
If the patch looks good, I think we should change proxy-go to use
ResolveReference as well, because it avoids having to repeatedly re-parse
`brokerURL`, and allows the base URL to have a path, as in the example
above.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25472#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list