]> git.saurik.com Git - apt.git/commit
implement socks5h proxy support for http method
authorDavid Kalnischkies <david@kalnischkies.de>
Thu, 4 Aug 2016 06:45:38 +0000 (08:45 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Wed, 10 Aug 2016 21:19:44 +0000 (23:19 +0200)
commit61db48241f2d46697a291bfedaf398a1ca9a70e3
tree56ce3677cf02984cb87f490275299c614b22663e
parent30060442025824c491f58887ca7369f3c572fa57
implement socks5h proxy support for http method

Socks support is a requested feature in sofar that the internet is
actually believing Acquire::socks::Proxy would exist. It doesn't and
this commit isn't adding it as that isn't how our configuration works,
but it allows Acquire::http::Proxy="socks5h://…". The HTTPS method was
changed already to support socks proxies (all versions) via curl. This
commit implements only SOCKS5 (RFC1928) with no auth or pass&user auth
(RFC1929), but not GSSAPI which is required by the RFC. The 'h' in the
protocol name further indicates that DNS resolution is delegated to the
socks proxy rather than performed locally.

The implementation works and was tested with Tor as socks proxy for
which implementing socks5h only can actually be considered a feature.

Closes: 744934
apt-pkg/contrib/fileutl.cc
apt-pkg/contrib/fileutl.h
methods/http.cc
methods/http.h
test/integration/skip-method-http-socks-client [new file with mode: 0755]