diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-02-01 09:30:02 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-02-01 09:30:02 -0500 |
commit | 222f2fe469c87d575995af9fb585a5fc30c6a5d0 (patch) | |
tree | f60d2a2f327b99be2cc0828b6244a1311cbdc5fa | |
parent | 78011bb7bace31ecba7dff5e07d84306bf98698c (diff) | |
parent | 51b562c605e2a959ee51ee85bd40de887adf9dea (diff) | |
download | tor-222f2fe469c87d575995af9fb585a5fc30c6a5d0.tar.gz tor-222f2fe469c87d575995af9fb585a5fc30c6a5d0.zip |
Merge branch 'bug21150_030_01_squashed'
-rw-r--r-- | changes/bug21150 | 5 | ||||
-rw-r--r-- | src/or/config.c | 5 | ||||
-rw-r--r-- | src/or/or.h | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/changes/bug21150 b/changes/bug21150 new file mode 100644 index 0000000000..6a8b4f93b0 --- /dev/null +++ b/changes/bug21150 @@ -0,0 +1,5 @@ + o Minor bugfixes (config, hidden service): + - Stop modifying the value of our torrc option HiddenServiceStatistics + just because we're not a bridge or relay. Use an internal value for what + tor should use and keep the torrc option intact. Fixes bug 21150; bugfix + on tor-0.2.6.2-alpha. diff --git a/src/or/config.c b/src/or/config.c index 1ea8712379..fdfbf87359 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -358,7 +358,7 @@ static config_var_t option_vars_[] = { VAR("HiddenServiceMaxStreams",LINELIST_S, RendConfigLines, NULL), VAR("HiddenServiceMaxStreamsCloseCircuit",LINELIST_S, RendConfigLines, NULL), VAR("HiddenServiceNumIntroductionPoints", LINELIST_S, RendConfigLines, NULL), - V(HiddenServiceStatistics, BOOL, "1"), + VAR("HiddenServiceStatistics", BOOL, HiddenServiceStatistics_option, "1"), V(HidServAuth, LINELIST, NULL), V(CloseHSClientCircuitsImmediatelyOnTimeout, BOOL, "0"), V(CloseHSServiceRendCircuitsImmediatelyOnTimeout, BOOL, "0"), @@ -2004,6 +2004,8 @@ options_act(const or_options_t *old_options) /* Only collect directory-request statistics on relays and bridges. */ options->DirReqStatistics = options->DirReqStatistics_option && server_mode(options); + options->HiddenServiceStatistics = + options->HiddenServiceStatistics_option && server_mode(options); if (options->CellStatistics || options->DirReqStatistics || options->EntryStatistics || options->ExitPortStatistics || @@ -2018,7 +2020,6 @@ options_act(const or_options_t *old_options) options->CellStatistics = 0; options->EntryStatistics = 0; options->ConnDirectionStatistics = 0; - options->HiddenServiceStatistics = 0; options->ExitPortStatistics = 0; } diff --git a/src/or/or.h b/src/or/or.h index 18fff78942..0db9f23604 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -4168,6 +4168,10 @@ typedef struct { /** If true, the user wants us to collect statistics as hidden service * directory, introduction point, or rendezvous point. */ + int HiddenServiceStatistics_option; + /** Internal variable to remember whether we're actually acting on + * HiddenServiceStatistics_option -- yes if it's set and we're a server, + * else no. */ int HiddenServiceStatistics; /** If true, include statistics file contents in extra-info documents. */ |