aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorteor <teor2345@gmail.com>2016-09-06 16:22:07 +1000
committerNick Mathewson <nickm@torproject.org>2016-09-13 10:13:56 -0400
commit41f96078c23e3ef1c39a853841332cac3e133a94 (patch)
tree199e75ee2649d7421ee855e31ef2252c74ee57f1 /src/or/or.h
parent0285f4f34d72b2b77f36fd55fa46216f6b54efc4 (diff)
downloadtor-41f96078c23e3ef1c39a853841332cac3e133a94.tar.gz
tor-41f96078c23e3ef1c39a853841332cac3e133a94.zip
Refactor UseEntryNodes so the original configured value is preserved
Parse the value to UseEntryNodes_option, then set UseEntryNodes before validating options. This way, Authorities, Tor2web, and Single Onion Services don't write spurious "UseEntryNodes 0" lines to their configs. Document the fact that these tor configurations ignore UseEntryNodes in the manual page. Also reorder options validation so we modify UseEntryNodes first, then check its value against EntryNodes. And silence a warning about disabled UseEntryNodes for hidden services when we're actually in non-anonymous single onion service mode.
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 12459ddfa0..7104a5cae3 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -3963,8 +3963,16 @@ typedef struct {
int TokenBucketRefillInterval;
char *AccelName; /**< Optional hardware acceleration engine name. */
char *AccelDir; /**< Optional hardware acceleration engine search dir. */
- int UseEntryGuards; /**< Boolean: Do we try to enter from a smallish number
- * of fixed nodes? */
+
+ /** Boolean: Do we try to enter from a smallish number
+ * of fixed nodes? */
+ int UseEntryGuards_option;
+ /** Internal variable to remember whether we're actually acting on
+ * UseEntryGuards_option -- when we're a non-anonymous Tor2web client or
+ * Single Onion Service, it is alwasy false, otherwise we use the value of
+ * UseEntryGuards_option. */
+ int UseEntryGuards;
+
int NumEntryGuards; /**< How many entry guards do we try to establish? */
int UseEntryGuardsAsDirGuards; /** Boolean: Do we try to get directory info
* from a smallish number of fixed nodes? */