Browse Source

Add Tor2webMode configuration option

Robert Ransom 14 years ago
parent
commit
b2212bf9b4
3 changed files with 10 additions and 0 deletions
  1. 4 0
      doc/tor.1.txt
  2. 1 0
      src/or/config.c
  3. 5 0
      src/or/or.h

+ 4 - 0
doc/tor.1.txt

@@ -957,6 +957,10 @@ The following options are useful only for clients (that is, if
     Tor will look at the UseOptimisticData parameter in the networkstatus.
     Tor will look at the UseOptimisticData parameter in the networkstatus.
     (Default: auto)
     (Default: auto)
 
 
+**Tor2webMode** **0**|**1**::
+    When this option is set, Tor connects to hidden services
+    **non-anonymously**.  This option also disables client connections to
+    non-hidden-service hostnames through Tor.  (Default: 0)
 
 
 SERVER OPTIONS
 SERVER OPTIONS
 --------------
 --------------

+ 1 - 0
src/or/config.c

@@ -394,6 +394,7 @@ static config_var_t _option_vars[] = {
   V(TestSocks,                   BOOL,     "0"),
   V(TestSocks,                   BOOL,     "0"),
   OBSOLETE("TestVia"),
   OBSOLETE("TestVia"),
   V(TokenBucketRefillInterval,   MSEC_INTERVAL, "100 msec"),
   V(TokenBucketRefillInterval,   MSEC_INTERVAL, "100 msec"),
+  V(Tor2webMode,                 BOOL,     "0"),
   V(TrackHostExits,              CSV,      NULL),
   V(TrackHostExits,              CSV,      NULL),
   V(TrackHostExitsExpire,        INTERVAL, "30 minutes"),
   V(TrackHostExitsExpire,        INTERVAL, "30 minutes"),
   OBSOLETE("TrafficShaping"),
   OBSOLETE("TrafficShaping"),

+ 5 - 0
src/or/or.h

@@ -3008,6 +3008,11 @@ typedef struct {
   int AllDirActionsPrivate; /**< Should every directory action be sent
   int AllDirActionsPrivate; /**< Should every directory action be sent
                              * through a Tor circuit? */
                              * through a Tor circuit? */
 
 
+  /** Run in 'tor2web mode'? (I.e. only make client connections to hidden
+   * services, and use a single hop for all hidden-service-related
+   * circuits.) */
+  int Tor2webMode;
+
   int ConnLimit; /**< Demanded minimum number of simultaneous connections. */
   int ConnLimit; /**< Demanded minimum number of simultaneous connections. */
   int _ConnLimit; /**< Maximum allowed number of simultaneous connections. */
   int _ConnLimit; /**< Maximum allowed number of simultaneous connections. */
   int RunAsDaemon; /**< If true, run in the background. (Unix only) */
   int RunAsDaemon; /**< If true, run in the background. (Unix only) */