summaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-11-28 15:44:10 -0500
committerNick Mathewson <nickm@torproject.org>2011-11-28 15:44:10 -0500
commitdf9b76460c38936b67ef42f5b261b39e2ec7144e (patch)
treec5a47b8120a7372e61a3284a5332dc88f7d3439e /src/or/or.h
parentb5a306e82c684bdd30b832fdfd9e2b55c06b54ae (diff)
downloadtor-df9b76460c38936b67ef42f5b261b39e2ec7144e.tar.gz
tor-df9b76460c38936b67ef42f5b261b39e2ec7144e.zip
New 'DisableNetwork' option to prevent Tor from using the network
Some controllers want this so they can mess with Tor's configuration for a while via the control port before actually letting Tor out of the house. We do this with a new DisableNetwork option, that prevents Tor from making any outbound connections or binding any non-control listeners. Additionally, it shuts down the same functionality as shuts down when we are hibernating, plus the code that launches directory downloads. To make sure I didn't miss anything, I added a clause straight to connection_connect, so that we won't even try to open an outbound socket when the network is disabled. In my testing, I made this an assert, but since I probably missed something, I've turned it into a BUG warning for testing.
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 546fe17bf3..7fd0597cd6 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -3439,6 +3439,10 @@ typedef struct {
* issue. */
int UserspaceIOCPBuffers;
+ /** If 1, we accept and launch no external network connections, except on
+ * control ports. */
+ int DisableNetwork;
+
} or_options_t;
/** Persistent state for an onion router, as saved to disk. */