summaryrefslogtreecommitdiff
path: root/src/or/transports.h
diff options
context:
space:
mode:
authorYawning Angel <yawning@schwanenlied.me>2014-03-25 07:21:22 +0000
committerYawning Angel <yawning@schwanenlied.me>2014-05-21 08:14:38 +0000
commit41d2b4d3af01b34beb2951028cdbc45b5f41e08e (patch)
tree118ea32e411d735e71b93069479bb898d3791c67 /src/or/transports.h
parentfef65fa64341fb70df0e7b34d91d3b08a74e7aad (diff)
downloadtor-41d2b4d3af01b34beb2951028cdbc45b5f41e08e.tar.gz
tor-41d2b4d3af01b34beb2951028cdbc45b5f41e08e.zip
Allow ClientTransportPlugins to use proxies
This change allows using Socks4Proxy, Socks5Proxy and HTTPSProxy with ClientTransportPlugins via the TOR_PT_PROXY extension to the pluggable transport specification. This fixes bug #8402.
Diffstat (limited to 'src/or/transports.h')
-rw-r--r--src/or/transports.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/or/transports.h b/src/or/transports.h
index 1365ead006..bc2331d01b 100644
--- a/src/or/transports.h
+++ b/src/or/transports.h
@@ -81,6 +81,9 @@ typedef struct {
char **argv; /* the cli arguments of this proxy */
int conf_protocol; /* the configuration protocol version used */
+ char *proxy_uri; /* the outgoing proxy in TOR_PT_PROXY URI format */
+ int proxy_supported : 1; /* the proxy claims to honor TOR_PT_PROXY */
+
int is_server; /* is it a server proxy? */
/* A pointer to the process handle of this managed proxy. */
@@ -112,6 +115,7 @@ STATIC int parse_smethod_line(const char *line, managed_proxy_t *mp);
STATIC int parse_version(const char *line, managed_proxy_t *mp);
STATIC void parse_env_error(const char *line);
+STATIC void parse_proxy_error(const char *line);
STATIC void handle_proxy_line(const char *line, managed_proxy_t *mp);
STATIC char *get_transport_options_for_server_proxy(const managed_proxy_t *mp);
@@ -123,6 +127,8 @@ STATIC managed_proxy_t *managed_proxy_create(const smartlist_t *transport_list,
STATIC int configure_proxy(managed_proxy_t *mp);
+STATIC char* get_pt_proxy_uri(void);
+
#endif
#endif