diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-11-28 15:44:10 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-11-28 15:44:10 -0500 |
commit | df9b76460c38936b67ef42f5b261b39e2ec7144e (patch) | |
tree | c5a47b8120a7372e61a3284a5332dc88f7d3439e /src/or/or.h | |
parent | b5a306e82c684bdd30b832fdfd9e2b55c06b54ae (diff) | |
download | tor-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.h | 4 |
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. */ |