diff options
author | Roger Dingledine <arma@torproject.org> | 2008-01-21 21:21:19 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2008-01-21 21:21:19 +0000 |
commit | a49f14d0d499615f7729fb20fa8e6fe52791810b (patch) | |
tree | 79f0c0edb782624451d3df545c94af107d088121 | |
parent | b79850d5748879109484a72615105c57a6de2d0a (diff) | |
download | tor-a49f14d0d499615f7729fb20fa8e6fe52791810b.tar.gz tor-a49f14d0d499615f7729fb20fa8e6fe52791810b.zip |
When we setconf ClientOnly to 1, close any current OR and Dir
listeners. Reported by mwenge.
svn:r13214
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/or/connection.c | 9 |
2 files changed, 10 insertions, 3 deletions
@@ -15,6 +15,10 @@ Changes in version 0.2.0.18-alpha - 2008-01-?? the request isn't encrypted. - Make "ClientOnly 1" config option disable directory ports too. + o Minor bugfixes: + - When we setconf ClientOnly to 1, close any current OR and Dir + listeners. Reported by mwenge. + Changes in version 0.2.0.17-alpha - 2008-01-17 Tor 0.2.0.17-alpha makes the tarball build cleanly again (whoops). diff --git a/src/or/connection.c b/src/or/connection.c index 31c9c170f0..5c0ee12fd1 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -1177,6 +1177,9 @@ connection_connect(connection_t *conn, const char *address, * only close listeners that are no longer wanted. Existing listeners * that are still configured are not touched. * + * If <b>disable_all_conns</b> is set, then never open new conns, and + * close the existing ones. + * * Add all old conns that should be closed to <b>replaced_conns</b>. * Add all new connections to <b>new_conns</b>. */ @@ -1185,7 +1188,7 @@ retry_listeners(int type, config_line_t *cfg, int port_option, const char *default_addr, smartlist_t *replaced_conns, smartlist_t *new_conns, - int never_open_conns, + int disable_all_conns, int socket_family) { smartlist_t *launch = smartlist_create(), *conns; @@ -1251,7 +1254,7 @@ retry_listeners(int type, config_line_t *cfg, tor_assert(0); } }); - if (! line) { + if (!line || disable_all_conns) { /* This one isn't configured. Close it. */ log_notice(LD_NET, "Closing no-longer-configured %s on %s:%d", conn_type_to_string(type), conn->address, conn->port); @@ -1273,7 +1276,7 @@ retry_listeners(int type, config_line_t *cfg, /* Now open all the listeners that are configured but not opened. */ r = 0; - if (!never_open_conns) { + if (!disable_all_conns) { SMARTLIST_FOREACH(launch, config_line_t *, cfg_line, { char *address = NULL; |