[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] [tor/master] A changelog entry and a bit more documentation for socks-client
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Wed, 26 Aug 2009 11:34:45 -0400
Subject: A changelog entry and a bit more documentation for socks-client
Commit: c9203749a2ead39433fa4f62452a2360e0901e42
---
ChangeLog | 3 +++
src/or/config.c | 3 +++
src/or/or.h | 18 +++++++++---------
src/or/reasons.c | 2 ++
4 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2428bed..5b16995 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@ Changes in version 0.2.2.1-alpha - 2009-0?-??
o Major features:
- Add support for dynamic OpenSSL hardware crypto acceleration engines
via new AccelName and AccelDir options.
+ - Tor now supports tunneling all of its outgoing connections over a SOCKS
+ proxy, using the SOCKS4Proxy and/or SOCKS5Proxy configuration options.
+ Code by Christopher Davis.
o New options for gathering stats safely:
- Directories that configure with --enable-dirreq-stats and set
diff --git a/src/or/config.c b/src/or/config.c
index c5a5b94..7944aa1 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3533,6 +3533,9 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
}
+ if (options->Socks4Proxy && options->Socks5Proxy)
+ REJECT("You cannot specify both Socks4Proxy and SOCKS5Proxy");
+
if (options->Socks5ProxyUsername) {
size_t len;
diff --git a/src/or/or.h b/src/or/or.h
index df57f30..1aa40af 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2392,15 +2392,15 @@ typedef struct {
uint16_t HttpsProxyPort; /**< Parsed port for https proxy, if any. */
char *HttpsProxyAuthenticator; /**< username:password string, if any. */
- char *Socks4Proxy;
- tor_addr_t Socks4ProxyAddr;
- uint16_t Socks4ProxyPort;
-
- char *Socks5Proxy;
- tor_addr_t Socks5ProxyAddr;
- uint16_t Socks5ProxyPort;
- char *Socks5ProxyUsername;
- char *Socks5ProxyPassword;
+ char *Socks4Proxy; /**< hostname:port to use as a SOCKS4 proxy, if any. */
+ tor_addr_t Socks4ProxyAddr; /**< Derived from Socks4Proxy. */
+ uint16_t Socks4ProxyPort; /**< Derived from Socks4Proxy. */
+
+ char *Socks5Proxy; /**< hostname:port to use as a SOCKS5 proxy, if any. */
+ tor_addr_t Socks5ProxyAddr; /**< Derived from Sock5Proxy. */
+ uint16_t Socks5ProxyPort; /**< Derived from Socks5Proxy. */
+ char *Socks5ProxyUsername; /**< Username for SOCKS5 authentication, if any */
+ char *Socks5ProxyPassword; /**< Password for SOCKS5 authentication, if any */
/** List of configuration lines for replacement directory authorities.
* If you just want to replace one class of authority at a time,
diff --git a/src/or/reasons.c b/src/or/reasons.c
index 78a16af..0544990 100644
--- a/src/or/reasons.c
+++ b/src/or/reasons.c
@@ -326,6 +326,7 @@ circuit_end_reason_to_control_string(int reason)
}
}
+/** Return a string corresponding to a SOCKS4 reponse code. */
const char *
socks4_response_code_to_string(uint8_t code)
{
@@ -343,6 +344,7 @@ socks4_response_code_to_string(uint8_t code)
}
}
+/** Return a string corresponding to a SOCKS5 reponse code. */
const char *
socks5_response_code_to_string(uint8_t code)
{
--
1.5.6.5