Tor  0.4.7.0-alpha-dev
dirauth_options.inc
Go to the documentation of this file.
1 /* Copyright (c) 2001 Matej Pfajfar.
2  * Copyright (c) 2001-2004, Roger Dingledine.
3  * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4  * Copyright (c) 2007-2019, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
6 
7 /**
8  * @file dirauth_options.inc
9  * @brief Declare configuration options for the crypto_ops module.
10  **/
11 
12 /** Holds configuration about our directory authority options. */
14 
15 /** If non-zero, always vote the Fast flag for any relay advertising
16  * this amount of capacity or more. */
17 CONF_VAR(AuthDirFastGuarantee, MEMUNIT, 0, "100 KB")
18 
19 /** If non-zero, this advertised capacity or more is always sufficient
20  * to satisfy the bandwidth requirement for the Guard flag. */
21 CONF_VAR(AuthDirGuardBWGuarantee, MEMUNIT, 0, "2 MB")
22 
23 /** Boolean: are we on IPv6? */
24 CONF_VAR(AuthDirHasIPv6Connectivity, BOOL, 0, "0")
25 
26 /** True iff we should list bad exits, and vote for all other exits as
27  * good. */
28 CONF_VAR(AuthDirListBadExits, BOOL, 0, "0")
29 
30 /** Do not permit more than this number of servers per IP address. */
31 CONF_VAR(AuthDirMaxServersPerAddr, POSINT, 0, "2")
32 
33 /** Boolean: Do we enforce key-pinning? */
34 CONF_VAR(AuthDirPinKeys, BOOL, 0, "1")
35 
36 /** Bool (default: 1): Switch for the shared random protocol. Only
37  * relevant to a directory authority. If off, the authority won't
38  * participate in the protocol. If on (default), a flag is added to the
39  * vote indicating participation. */
40 CONF_VAR(AuthDirSharedRandomness, BOOL, 0, "1")
41 
42 /** Bool (default: 1): When testing routerinfos as a directory authority,
43  * do we enforce Ed25519 identity match? */
44 /* NOTE: remove this option someday. */
45 CONF_VAR(AuthDirTestEd25519LinkKeys, BOOL, 0, "1")
46 
47 /**
48  * Bool (default 1): As an authority, should we launch tests for
49  * reachability, and use those results to vote on "Running"? If 0,
50  * we assume that every relay is Running.
51  **/
52 CONF_VAR(AuthDirTestReachability, BOOL, 0, "1")
53 
54 /** Authority only: key=value pairs that we add to our networkstatus
55  * consensus vote on the 'params' line. */
56 CONF_VAR(ConsensusParams, LINELIST, 0, NULL)
57 
58 /** Authority only: minimum number of measured bandwidths we must see
59  * before we only believe measured bandwidths to assign flags. */
60 CONF_VAR(MinMeasuredBWsForAuthToIgnoreAdvertised, INT, 0, "500")
61 
62 /** As directory authority, accept hidden service directories after what
63  * time? */
64 CONF_VAR(MinUptimeHidServDirectoryV2, INTERVAL, 0, "96 hours")
65 
66 /** Which versions of tor should we tell users to run? */
67 CONF_VAR(RecommendedVersions, LINELIST, 0, NULL)
68 
69 /** Which versions of tor should we tell users to run on clients? */
70 CONF_VAR(RecommendedClientVersions, LINELIST, 0, NULL)
71 
72 /** Which versions of tor should we tell users to run on relays? */
73 CONF_VAR(RecommendedServerVersions, LINELIST, 0, NULL)
74 
75 /** If an authority has been around for less than this amount of time, it
76  * does not believe its reachability information is accurate. Only
77  * altered on testing networks. */
78 CONF_VAR(TestingAuthDirTimeToLearnReachability, INTERVAL, 0, "30 minutes")
79 
80  /** Relays in a testing network which should be voted Exit
81  * regardless of exit policy. */
82 CONF_VAR(TestingDirAuthVoteExit, ROUTERSET, 0, NULL)
83 CONF_VAR(TestingDirAuthVoteExitIsStrict, BOOL, 0, "0")
84 
85 /** Relays in a testing network which should be voted Guard
86  * regardless of uptime and bandwidth. */
87 CONF_VAR(TestingDirAuthVoteGuard, ROUTERSET, 0, NULL)
88 CONF_VAR(TestingDirAuthVoteGuardIsStrict, BOOL, 0, "0")
89 
90 /** Relays in a testing network which should be voted HSDir
91  * regardless of uptime and DirPort. */
92 CONF_VAR(TestingDirAuthVoteHSDir, ROUTERSET, 0, NULL)
93 CONF_VAR(TestingDirAuthVoteHSDirIsStrict, BOOL, 0, "0")
94 
95 /** Minimum value for the Exit flag threshold on testing networks. */
96 CONF_VAR(TestingMinExitFlagThreshold, MEMUNIT, 0, "0")
97 
98 /** Minimum value for the Fast flag threshold on testing networks. */
99 CONF_VAR(TestingMinFastFlagThreshold, MEMUNIT, 0, "0")
100 
101 /** Boolean: is this an authoritative directory that's willing to recommend
102  * versions? */
103 CONF_VAR(VersioningAuthoritativeDirectory, BOOL, 0, "0")
104 
105 /** Boolean: Under bandwidth pressure, if set to 1, the authority will always
106  * answer directory requests from relays but will start sending 503 error code
107  * for the other connections. If set to 0, all connections are considered the
108  * same and the authority will try to answer them all regardless of bandwidth
109  * pressure or not. */
110 CONF_VAR(AuthDirRejectRequestsUnderLoad, BOOL, 0, "1")
111 
#define END_CONF_STRUCT(name)
Definition: confdecl.h:64
#define CONF_VAR(varname, vartype, varflags, initval)
Definition: confdecl.h:70
#define BEGIN_CONF_STRUCT(name)
Definition: confdecl.h:59