summaryrefslogtreecommitdiff
path: root/methods/http.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-08-06 22:54:31 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2016-08-11 01:34:39 +0200
commit0568d325ad8660a9966d552634aa17c90ed22516 (patch)
tree788932d437bf2ce21e6c041fa6310709ee5d4d99 /methods/http.cc
parent8665dceb5cf2a197ae270b08066f05c8a2870223 (diff)
http: auto-configure for local Tor proxy if called as 'tor'
With apts http transport supporting socks5h proxies and all the work in terms of configuration of methods based on the name it is called with it becomes surprisingly easy to implement Tor support equally (and perhaps even a bit exceeding) what is available currently in apt-transport-tor. How this will turn out to be handled packaging wise we will see in https://lists.debian.org/deity/2016/08/msg00012.html , but until this is resolved we can add the needed support without actively enabling it for now, so that this can be tested better.
Diffstat (limited to 'methods/http.cc')
-rw-r--r--methods/http.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/methods/http.cc b/methods/http.cc
index 1ed2e3629..0358b50cd 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -357,6 +357,9 @@ bool HttpServerState::Open()
Proxy = "";
}
+ if (Proxy.empty() == false)
+ Owner->AddProxyAuth(Proxy, ServerName);
+
if (Proxy.Access == "socks5h")
{
if (Connect(Proxy.Host, Proxy.Port, "socks", 1080, ServerFd, TimeOut, Owner) == false)