[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