Tor  0.4.5.0-alpha-dev
or_options_st.h
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-2020, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
6 
7 /**
8  * \file or_options_st.h
9  *
10  * \brief The or_options_t structure, which represents Tor's configuration.
11  */
12 
13 #ifndef TOR_OR_OPTIONS_ST_H
14 #define TOR_OR_OPTIONS_ST_H
15 
16 #include "core/or/or.h"
17 #include "lib/cc/torint.h"
18 #include "lib/net/address.h"
20 
21 struct smartlist_t;
22 struct config_line_t;
23 struct config_suite_t;
24 struct routerset_t;
25 
26 /** Enumeration of outbound address configuration types:
27  * Exit-only, OR-only, or both */
28 typedef enum {OUTBOUND_ADDR_EXIT, OUTBOUND_ADDR_OR,
29  OUTBOUND_ADDR_EXIT_AND_OR,
30  OUTBOUND_ADDR_MAX} outbound_addr_t;
31 
32 /** Which protocol to use for TCPProxy. */
33 typedef enum {
34  /** Use the HAProxy proxy protocol. */
37 
38 /** Enumeration of available time formats for output of --key-expiration */
39 typedef enum {
40  KEY_EXPIRATION_FORMAT_ISO8601 = 0,
41  KEY_EXPIRATION_FORMAT_TIMESTAMP
43 
44 /** Configuration options for a Tor process. */
45 struct or_options_t {
46  uint32_t magic_;
47 
48  /** What should the tor process actually do? */
50  char *command_arg; /**< Argument for command-line option. */
51 
52  struct config_line_t *Logs; /**< New-style list of configuration lines
53  * for logs */
54  int LogTimeGranularity; /**< Log resolution in milliseconds. */
55 
56  int LogMessageDomains; /**< Boolean: Should we log the domain(s) in which
57  * each log message occurs? */
58  int TruncateLogFile; /**< Boolean: Should we truncate the log file
59  before we start writing? */
60  char *SyslogIdentityTag; /**< Identity tag to add for syslog logging. */
61  char *AndroidIdentityTag; /**< Identity tag to add for Android logging. */
62 
63  char *DebugLogFile; /**< Where to send verbose log messages. */
64  char *DataDirectory_option; /**< Where to store long-term data, as
65  * configured by the user. */
66  char *DataDirectory; /**< Where to store long-term data, as modified. */
67  int DataDirectoryGroupReadable; /**< Boolean: Is the DataDirectory g+r? */
68 
69  char *KeyDirectory_option; /**< Where to store keys, as
70  * configured by the user. */
71  char *KeyDirectory; /**< Where to store keys data, as modified. */
72  int KeyDirectoryGroupReadable; /**< Boolean: Is the KeyDirectory g+r? */
73 
74  char *CacheDirectory_option; /**< Where to store cached data, as
75  * configured by the user. */
76  char *CacheDirectory; /**< Where to store cached data, as modified. */
77  int CacheDirectoryGroupReadable; /**< Boolean: Is the CacheDirectory g+r? */
78 
79  char *Nickname; /**< OR only: nickname of this onion router. */
80  /** OR only: configured address for this onion router. Up to two times this
81  * options is accepted as in IPv4 and IPv6. */
83 
84  /** Boolean: If set, disable IPv6 address resolution, IPv6 ORPorts, IPv6
85  * reachability checks, and publishing an IPv6 ORPort in its descriptor. */
87 
88  char *PidFile; /**< Where to store PID of Tor process. */
89 
90  struct routerset_t *ExitNodes; /**< Structure containing nicknames, digests,
91  * country codes and IP address patterns of ORs to
92  * consider as exits. */
93  struct routerset_t *MiddleNodes; /**< Structure containing nicknames,
94  * digests, country codes and IP address patterns
95  * of ORs to consider as middles. */
96  struct routerset_t *EntryNodes;/**< Structure containing nicknames, digests,
97  * country codes and IP address patterns of ORs to
98  * consider as entry points. */
99  int StrictNodes; /**< Boolean: When none of our EntryNodes or ExitNodes
100  * are up, or we need to access a node in ExcludeNodes,
101  * do we just fail instead? */
102  struct routerset_t *ExcludeNodes;/**< Structure containing nicknames,
103  * digests, country codes and IP address patterns
104  * of ORs not to use in circuits. But see
105  * StrictNodes above. */
106  struct routerset_t *ExcludeExitNodes;/**< Structure containing nicknames,
107  * digests, country codes and IP address
108  * patterns of ORs not to consider as
109  * exits. */
110 
111  /** Union of ExcludeNodes and ExcludeExitNodes */
112  struct routerset_t *ExcludeExitNodesUnion_;
113 
114  int DisableAllSwap; /**< Boolean: Attempt to call mlockall() on our
115  * process for all current and future memory. */
116 
117  struct config_line_t *ExitPolicy; /**< Lists of exit policy components. */
118  int ExitPolicyRejectPrivate; /**< Should we not exit to reserved private
119  * addresses, and our own published addresses?
120  */
121  int ExitPolicyRejectLocalInterfaces; /**< Should we not exit to local
122  * interface addresses?
123  * Includes OutboundBindAddresses and
124  * configured ports. */
125  int ReducedExitPolicy; /**<Should we use the Reduced Exit Policy? */
126  struct config_line_t *SocksPolicy; /**< Lists of socks policy components */
127  struct config_line_t *DirPolicy; /**< Lists of dir policy components */
128  /** Local address to bind outbound sockets */
130  /** Local address to bind outbound relay sockets */
132  /** Local address to bind outbound exit sockets */
134  /** Addresses derived from the various OutboundBindAddress lines.
135  * [][0] is IPv4, [][1] is IPv6
136  */
137  tor_addr_t OutboundBindAddresses[OUTBOUND_ADDR_MAX][2];
138  /** Whether dirservers allow router descriptors with private IPs. */
140  /** Whether routers accept EXTEND cells to routers with private IPs. */
142  char *User; /**< Name of user to run Tor as. */
143  /** Ports to listen on for OR connections. */
145  /** Ports to listen on for extended OR connections. */
147  /** Ports to listen on for SOCKS connections. */
149  /** Ports to listen on for transparent pf/netfilter connections. */
151  char *TransProxyType; /**< What kind of transparent proxy
152  * implementation are we using? */
153  /** Parsed value of TransProxyType. */
154  enum {
155  TPT_DEFAULT,
156  TPT_PF_DIVERT,
157  TPT_IPFW,
158  TPT_TPROXY,
160  /** Ports to listen on for transparent natd connections. */
162  /** Ports to listen on for HTTP Tunnel connections. */
164  struct config_line_t *ControlPort_lines; /**< Ports to listen on for control
165  * connections. */
166  /** List of Unix Domain Sockets to listen on for control connections. */
168 
169  int ControlSocketsGroupWritable; /**< Boolean: Are control sockets g+rw? */
170  int UnixSocksGroupWritable; /**< Boolean: Are SOCKS Unix sockets g+rw? */
171  /** Ports to listen on for directory connections. */
173  /** Ports to listen on for DNS requests. */
175 
176  /* MaxMemInQueues value as input by the user. We clean this up to be
177  * MaxMemInQueues. */
178  uint64_t MaxMemInQueues_raw;
179  uint64_t MaxMemInQueues;/**< If we have more memory than this allocated
180  * for queues and buffers, run the OOM handler */
181  /** Above this value, consider ourselves low on RAM. */
183 
184  /** @name port booleans
185  *
186  * Derived booleans: For server ports and ControlPort, true iff there is a
187  * non-listener port on an AF_INET or AF_INET6 address of the given type
188  * configured in one of the _lines options above.
189  * For client ports, also true if there is a unix socket configured.
190  * If you are checking for client ports, you may want to use:
191  * SocksPort_set || TransPort_set || NATDPort_set || DNSPort_set ||
192  * HTTPTunnelPort_set
193  * rather than SocksPort_set.
194  *
195  * @{
196  */
197  unsigned int ORPort_set : 1;
198  unsigned int SocksPort_set : 1;
199  unsigned int TransPort_set : 1;
200  unsigned int NATDPort_set : 1;
201  unsigned int ControlPort_set : 1;
202  unsigned int DirPort_set : 1;
203  unsigned int DNSPort_set : 1;
204  unsigned int ExtORPort_set : 1;
205  unsigned int HTTPTunnelPort_set : 1;
206  /**@}*/
207 
208  /** Whether to publish our descriptor regardless of all our self-tests
209  */
211  /** Whether to publish our descriptor regardless of IPv6 self-tests.
212  *
213  * This is an autobool; when set to AUTO, it uses AssumeReachable.
214  **/
216  int AuthoritativeDir; /**< Boolean: is this an authoritative directory? */
217  int V3AuthoritativeDir; /**< Boolean: is this an authoritative directory
218  * for version 3 directories? */
219  int BridgeAuthoritativeDir; /**< Boolean: is this an authoritative directory
220  * that aggregates bridge descriptors? */
221 
222  /** If set on a bridge relay, it will include this value on a new
223  * "bridge-distribution-request" line in its bridge descriptor. */
225 
226  /** If set on a bridge authority, it will answer requests on its dirport
227  * for bridge statuses -- but only if the requests use this password. */
229  /** If BridgePassword is set, this is a SHA256 digest of the basic http
230  * authenticator for it. Used so we can do a time-independent comparison. */
232 
233  int UseBridges; /**< Boolean: should we start all circuits with a bridge? */
234  struct config_line_t *Bridges; /**< List of bootstrap bridge addresses. */
235 
236  struct config_line_t *ClientTransportPlugin; /**< List of client
237  transport plugins. */
238 
239  struct config_line_t *ServerTransportPlugin; /**< List of client
240  transport plugins. */
241 
242  /** List of TCP/IP addresses that transports should listen at. */
244 
245  /** List of options that must be passed to pluggable transports. */
247 
248  int BridgeRelay; /**< Boolean: are we acting as a bridge relay? We make
249  * this explicit so we can change how we behave in the
250  * future. */
251 
252  /** Boolean: if we know the bridge's digest, should we get new
253  * descriptors from the bridge authorities or from the bridge itself? */
255 
256  int AvoidDiskWrites; /**< Boolean: should we never cache things to disk?
257  * Not used yet. */
258  int ClientOnly; /**< Boolean: should we never evolve into a server role? */
259 
260  int ReducedConnectionPadding; /**< Boolean: Should we try to keep connections
261  open shorter and pad them less against
262  connection-level traffic analysis? */
263  /** Autobool: if auto, then connection padding will be negotiated by client
264  * and server. If 0, it will be fully disabled. If 1, the client will still
265  * pad to the server regardless of server support. */
267 
268  /** Boolean: if true, then circuit padding will be negotiated by client
269  * and server, subject to consenus limits (default). If 0, it will be fully
270  * disabled. */
272 
273  /** Boolean: if true, then this client will only use circuit padding
274  * algorithms that are known to use a low amount of overhead. If false,
275  * we will use all available circuit padding algorithms.
276  */
278 
279  /** To what authority types do we publish our descriptor? Choices are
280  * "v1", "v2", "v3", "bridge", or "". */
282  /** A bitfield of authority types, derived from PublishServerDescriptor. */
284  /** Boolean: do we publish hidden service descriptors to the HS auths? */
286  int FetchServerDescriptors; /**< Do we fetch server descriptors as normal? */
287  int FetchHidServDescriptors; /**< and hidden service descriptors? */
288 
289  int FetchUselessDescriptors; /**< Do we fetch non-running descriptors too? */
290  int AllDirActionsPrivate; /**< Should every directory action be sent
291  * through a Tor circuit? */
292 
293  /** A routerset that should be used when picking middle nodes for HS
294  * circuits. */
295  struct routerset_t *HSLayer2Nodes;
296 
297  /** A routerset that should be used when picking third-hop nodes for HS
298  * circuits. */
299  struct routerset_t *HSLayer3Nodes;
300 
301  /** Onion Services in HiddenServiceSingleHopMode make one-hop (direct)
302  * circuits between the onion service server, and the introduction and
303  * rendezvous points. (Onion service descriptors are still posted using
304  * 3-hop paths, to avoid onion service directories blocking the service.)
305  * This option makes every hidden service instance hosted by
306  * this tor instance a Single Onion Service.
307  * HiddenServiceSingleHopMode requires HiddenServiceNonAnonymousMode to be
308  * set to 1.
309  * Use rend_service_allow_non_anonymous_connection() or
310  * rend_service_reveal_startup_time() instead of using this option directly.
311  */
313  /* Makes hidden service clients and servers non-anonymous on this tor
314  * instance. Allows the non-anonymous HiddenServiceSingleHopMode. Enables
315  * non-anonymous behaviour in the hidden service protocol.
316  * Use rend_service_non_anonymous_mode_enabled() instead of using this option
317  * directly.
318  */
319  int HiddenServiceNonAnonymousMode;
320 
321  int ConnLimit; /**< Demanded minimum number of simultaneous connections. */
322  int ConnLimit_; /**< Maximum allowed number of simultaneous connections. */
323  int ConnLimit_high_thresh; /**< start trying to lower socket usage if we
324  * have this many. */
325  int ConnLimit_low_thresh; /**< try to get down to here after socket
326  * exhaustion. */
327  int RunAsDaemon; /**< If true, run in the background. (Unix only) */
328  int FascistFirewall; /**< Whether to prefer ORs reachable on open ports. */
329  struct smartlist_t *FirewallPorts; /**< Which ports our firewall allows
330  * (strings). */
331  /** IP:ports our firewall allows. */
333  struct config_line_t *ReachableORAddresses; /**< IP:ports for OR conns. */
334  struct config_line_t *ReachableDirAddresses; /**< IP:ports for Dir conns. */
335 
336  int ConstrainedSockets; /**< Shrink xmit and recv socket buffers. */
337  uint64_t ConstrainedSockSize; /**< Size of constrained buffers. */
338 
339  /** Whether we should drop exit streams from Tors that we don't know are
340  * relays. One of "0" (never refuse), "1" (always refuse), or "-1" (do
341  * what the consensus says, defaulting to 'refuse' if the consensus says
342  * nothing). */
344 
345  /** Application ports that require all nodes in circ to have sufficient
346  * uptime. */
348  /** Application ports that are likely to be unencrypted and
349  * unauthenticated; we reject requests for them to prevent the
350  * user from screwing up and leaking plaintext secrets to an
351  * observer somewhere on the Internet. */
353  /** Related to RejectPlaintextPorts above, except this config option
354  * controls whether we warn (in the log and via a controller status
355  * event) every time a risky connection is attempted. */
357  /** Should we try to reuse the same exit node for a given host */
359  int TrackHostExitsExpire; /**< Number of seconds until we expire an
360  * addressmap */
361  struct config_line_t *AddressMap; /**< List of address map directives. */
362  int AutomapHostsOnResolve; /**< If true, when we get a resolve request for a
363  * hostname ending with one of the suffixes in
364  * <b>AutomapHostsSuffixes</b>, map it to a
365  * virtual address. */
366  /** List of suffixes for <b>AutomapHostsOnResolve</b>. The special value
367  * "." means "match everything." */
369  int RendPostPeriod; /**< How often do we post each rendezvous service
370  * descriptor? Remember to publish them independently. */
371  int KeepalivePeriod; /**< How often do we send padding cells to keep
372  * connections alive? */
373  int SocksTimeout; /**< How long do we let a socks connection wait
374  * unattached before we fail it? */
375  int LearnCircuitBuildTimeout; /**< If non-zero, we attempt to learn a value
376  * for CircuitBuildTimeout based on timeout
377  * history. Use circuit_build_times_disabled()
378  * rather than checking this value directly. */
379  int CircuitBuildTimeout; /**< Cull non-open circuits that were born at
380  * least this many seconds ago. Used until
381  * adaptive algorithm learns a new value. */
382  int CircuitsAvailableTimeout; /**< Try to have an open circuit for at
383  least this long after last activity */
384  int CircuitStreamTimeout; /**< If non-zero, detach streams from circuits
385  * and try a new circuit if the stream has been
386  * waiting for this many seconds. If zero, use
387  * our default internal timeout schedule. */
388  int MaxOnionQueueDelay; /*< DOCDOC */
389  int NewCircuitPeriod; /**< How long do we use a circuit before building
390  * a new one? */
391  int MaxCircuitDirtiness; /**< Never use circs that were first used more than
392  this interval ago. */
393  uint64_t BandwidthRate; /**< How much bandwidth, on average, are we willing
394  * to use in a second? */
395  uint64_t BandwidthBurst; /**< How much bandwidth, at maximum, are we willing
396  * to use in a second? */
397  uint64_t MaxAdvertisedBandwidth; /**< How much bandwidth are we willing to
398  * tell other nodes we have? */
399  uint64_t RelayBandwidthRate; /**< How much bandwidth, on average, are we
400  * willing to use for all relayed conns? */
401  uint64_t RelayBandwidthBurst; /**< How much bandwidth, at maximum, will we
402  * use in a second for all relayed conns? */
403  uint64_t PerConnBWRate; /**< Long-term bw on a single TLS conn, if set. */
404  uint64_t PerConnBWBurst; /**< Allowed burst on a single TLS conn, if set. */
405  int NumCPUs; /**< How many CPUs should we try to use? */
406  struct config_line_t *RendConfigLines; /**< List of configuration lines
407  * for rendezvous services. */
408  struct config_line_t *HidServAuth; /**< List of configuration lines for
409  * client-side authorizations for hidden
410  * services */
411  char *ClientOnionAuthDir; /**< Directory to keep client
412  * onion service authorization secret keys */
413  char *ContactInfo; /**< Contact info to be published in the directory. */
414 
415  int HeartbeatPeriod; /**< Log heartbeat messages after this many seconds
416  * have passed. */
417  int MainloopStats; /**< Log main loop statistics as part of the
418  * heartbeat messages. */
419 
420  char *HTTPProxy; /**< hostname[:port] to use as http proxy, if any. */
421  tor_addr_t HTTPProxyAddr; /**< Parsed IPv4 addr for http proxy, if any. */
422  uint16_t HTTPProxyPort; /**< Parsed port for http proxy, if any. */
423  char *HTTPProxyAuthenticator; /**< username:password string, if any. */
424 
425  char *HTTPSProxy; /**< hostname[:port] to use as https proxy, if any. */
426  tor_addr_t HTTPSProxyAddr; /**< Parsed addr for https proxy, if any. */
427  uint16_t HTTPSProxyPort; /**< Parsed port for https proxy, if any. */
428  char *HTTPSProxyAuthenticator; /**< username:password string, if any. */
429 
430  char *Socks4Proxy; /**< hostname:port to use as a SOCKS4 proxy, if any. */
431  tor_addr_t Socks4ProxyAddr; /**< Derived from Socks4Proxy. */
432  uint16_t Socks4ProxyPort; /**< Derived from Socks4Proxy. */
433 
434  char *Socks5Proxy; /**< hostname:port to use as a SOCKS5 proxy, if any. */
435  tor_addr_t Socks5ProxyAddr; /**< Derived from Sock5Proxy. */
436  uint16_t Socks5ProxyPort; /**< Derived from Socks5Proxy. */
437  char *Socks5ProxyUsername; /**< Username for SOCKS5 authentication, if any */
438  char *Socks5ProxyPassword; /**< Password for SOCKS5 authentication, if any */
439 
440  char *TCPProxy; /**< protocol and hostname:port to use as a proxy, if any. */
441  tcp_proxy_protocol_t TCPProxyProtocol; /**< Derived from TCPProxy. */
442  tor_addr_t TCPProxyAddr; /**< Derived from TCPProxy. */
443  uint16_t TCPProxyPort; /**< Derived from TCPProxy. */
444 
445  /** List of configuration lines for replacement directory authorities.
446  * If you just want to replace one class of authority at a time,
447  * use the "Alternate*Authority" options below instead. */
449 
450  /** List of fallback directory servers */
452  /** Whether to use the default hard-coded FallbackDirs */
454 
455  /** Weight to apply to all directory authority rates if considering them
456  * along with fallbackdirs */
458 
459  /** If set, use these main (currently v3) directory authorities and
460  * not the default ones. */
462 
463  /** If set, use these bridge authorities and not the default one. */
465 
466  struct config_line_t *MyFamily_lines; /**< Declared family for this OR. */
467  struct config_line_t *MyFamily; /**< Declared family for this OR,
468  normalized */
469  struct config_line_t *NodeFamilies; /**< List of config lines for
470  * node families */
471  /** List of parsed NodeFamilies values. */
473  struct config_line_t *AuthDirBadExit; /**< Address policy for descriptors to
474  * mark as bad exits. */
475  struct config_line_t *AuthDirReject; /**< Address policy for descriptors to
476  * reject. */
477  struct config_line_t *AuthDirInvalid; /**< Address policy for descriptors to
478  * never mark as valid. */
479  /** @name AuthDir...CC
480  *
481  * Lists of country codes to mark as BadExit, or Invalid, or to
482  * reject entirely.
483  *
484  * @{
485  */
486  struct smartlist_t *AuthDirBadExitCCs;
487  struct smartlist_t *AuthDirInvalidCCs;
488  struct smartlist_t *AuthDirRejectCCs;
489  /**@}*/
490 
491  char *AccountingStart; /**< How long is the accounting interval, and when
492  * does it start? */
493  uint64_t AccountingMax; /**< How many bytes do we allow per accounting
494  * interval before hibernation? 0 for "never
495  * hibernate." */
496  /** How do we determine when our AccountingMax has been reached?
497  * "max" for when in or out reaches AccountingMax
498  * "sum" for when in plus out reaches AccountingMax
499  * "in" for when in reaches AccountingMax
500  * "out" for when out reaches AccountingMax */
502  enum { ACCT_MAX, ACCT_SUM, ACCT_IN, ACCT_OUT } AccountingRule;
503 
504  /** Base64-encoded hash of accepted passwords for the control system. */
506  /** As HashedControlPassword, but not saved. */
508 
509  int CookieAuthentication; /**< Boolean: do we enable cookie-based auth for
510  * the control system? */
511  char *CookieAuthFile; /**< Filesystem location of a ControlPort
512  * authentication cookie. */
513  char *ExtORPortCookieAuthFile; /**< Filesystem location of Extended
514  * ORPort authentication cookie. */
515  int CookieAuthFileGroupReadable; /**< Boolean: Is the CookieAuthFile g+r? */
516  int ExtORPortCookieAuthFileGroupReadable; /**< Boolean: Is the
517  * ExtORPortCookieAuthFile g+r? */
518  int LeaveStreamsUnattached; /**< Boolean: Does Tor attach new streams to
519  * circuits itself (0), or does it expect a controller
520  * to cope? (1) */
521  int DisablePredictedCircuits; /**< Boolean: does Tor preemptively
522  * make circuits in the background (0),
523  * or not (1)? */
524 
525  /** Process specifier for a controller that ‘owns’ this Tor
526  * instance. Tor will terminate if its owning controller does. */
528  /** FD specifier for a controller that owns this Tor instance. */
530 
531  int ShutdownWaitLength; /**< When we get a SIGINT and we're a server, how
532  * long do we wait before exiting? */
533  char *SafeLogging; /**< Contains "relay", "1", "0" (meaning no scrubbing). */
534 
535  /* Derived from SafeLogging */
536  enum {
537  SAFELOG_SCRUB_ALL, SAFELOG_SCRUB_RELAY, SAFELOG_SCRUB_NONE
538  } SafeLogging_;
539 
540  int Sandbox; /**< Boolean: should sandboxing be enabled? */
541  int SafeSocks; /**< Boolean: should we outright refuse application
542  * connections that use socks4 or socks5-with-local-dns? */
543  int ProtocolWarnings; /**< Boolean: when other parties screw up the Tor
544  * protocol, is it a warn or an info in our logs? */
545  int TestSocks; /**< Boolean: when we get a socks connection, do we loudly
546  * log whether it was DNS-leaking or not? */
547  /** Token Bucket Refill resolution in milliseconds. */
549 
550  /** Boolean: Do we try to enter from a smallish number
551  * of fixed nodes? */
553  /** Internal variable to remember whether we're actually acting on
554  * UseEntryGuards_option -- when we're a non-anonymous Single Onion Service,
555  * it is always false, otherwise we use the value of UseEntryGuards_option.
556  * */
558 
559  int NumEntryGuards; /**< How many entry guards do we try to establish? */
560 
561  /** If 1, we use any guardfraction information we see in the
562  * consensus. If 0, we don't. If -1, let the consensus parameter
563  * decide. */
565 
566  int NumDirectoryGuards; /**< How many dir guards do we try to establish?
567  * If 0, use value from NumEntryGuards. */
568  int NumPrimaryGuards; /**< How many primary guards do we want? */
569 
570  int RephistTrackTime; /**< How many seconds do we keep rephist info? */
571  /** Should we always fetch our dir info on the mirror schedule (which
572  * means directly from the authorities) no matter our other config? */
574 
575  /** Should we fetch our dir info at the start of the consensus period? */
577 
578  int DirCache; /**< Cache all directory documents and accept requests via
579  * tunnelled dir conns from clients. If 1, enabled (default);
580  * If 0, disabled. Use dir_server_mode() rather than
581  * referencing this option directly. (Except for routermode
582  * and relay_config, which do direct checks.) */
583 
584  char *VirtualAddrNetworkIPv4; /**< Address and mask to hand out for virtual
585  * MAPADDRESS requests for IPv4 addresses */
586  char *VirtualAddrNetworkIPv6; /**< Address and mask to hand out for virtual
587  * MAPADDRESS requests for IPv6 addresses */
588  int ServerDNSSearchDomains; /**< Boolean: If set, we don't force exit
589  * addresses to be FQDNs, but rather search for them in
590  * the local domains. */
591  int ServerDNSDetectHijacking; /**< Boolean: If true, check for DNS failure
592  * hijacking. */
593  int ServerDNSRandomizeCase; /**< Boolean: Use the 0x20-hack to prevent
594  * DNS poisoning attacks. */
595  char *ServerDNSResolvConfFile; /**< If provided, we configure our internal
596  * resolver from the file here rather than from
597  * /etc/resolv.conf (Unix) or the registry (Windows). */
598  char *DirPortFrontPage; /**< This is a full path to a file with an html
599  disclaimer. This allows a server administrator to show
600  that they're running Tor and anyone visiting their server
601  will know this without any specialized knowledge. */
602  int DisableDebuggerAttachment; /**< Currently Linux only specific attempt to
603  disable ptrace; needs BSD testing. */
604  /** Boolean: if set, we start even if our resolv.conf file is missing
605  * or broken. */
607  /** Boolean: if set, then even connections to private addresses will get
608  * rate-limited. */
610  /** A list of addresses that definitely should be resolvable. Used for
611  * testing our DNS server. */
613  int EnforceDistinctSubnets; /**< If true, don't allow multiple routers in the
614  * same network zone in the same circuit. */
615  int AllowNonRFC953Hostnames; /**< If true, we allow connections to hostnames
616  * with weird characters. */
617  /** If true, we try resolving hostnames with weird characters. */
619 
620  /** If true, we try to download extra-info documents (and we serve them,
621  * if we are a cache). For authorities, this is always true. */
623 
624  /** If true, we're configured to collect statistics on clients
625  * requesting network statuses from us as directory. */
627  /** Internal variable to remember whether we're actually acting on
628  * DirReqStatistics_option -- yes if it's set and we're a server, else no. */
630 
631  /** If true, the user wants us to collect statistics on port usage. */
633 
634  /** If true, the user wants us to collect connection statistics. */
636 
637  /** If true, the user wants us to collect cell statistics. */
639 
640  /** If true, the user wants us to collect padding statistics. */
642 
643  /** If true, the user wants us to collect statistics as entry node. */
645 
646  /** If true, the user wants us to collect statistics as hidden service
647  * directory, introduction point, or rendezvous point. */
649  /** Internal variable to remember whether we're actually acting on
650  * HiddenServiceStatistics_option -- yes if it's set and we're a server,
651  * else no. */
653 
654  /** If true, include statistics file contents in extra-info documents. */
656 
657  /** If true, do not believe anybody who tells us that a domain resolves
658  * to an internal address, or that an internal address has a PTR mapping.
659  * Helps avoid some cross-site attacks. */
661 
662  /** If true, do not accept any requests to connect to internal addresses
663  * over randomly chosen exits. */
665 
666  /** If true, clients may connect over IPv4. If false, they will avoid
667  * connecting over IPv4. We enforce this for OR and Dir connections. */
669  /** If true, clients may connect over IPv6. If false, they will avoid
670  * connecting over IPv4. We enforce this for OR and Dir connections.
671  * Use reachable_addr_use_ipv6() instead of accessing this value
672  * directly. */
674  /** If true, prefer an IPv6 OR port over an IPv4 one for entry node
675  * connections. If auto, bridge clients prefer IPv6, and other clients
676  * prefer IPv4. Use node_ipv6_or_preferred() instead of accessing this value
677  * directly. */
679  /** If true, prefer an IPv6 directory port over an IPv4 one for direct
680  * directory connections. If auto, bridge clients prefer IPv6, and other
681  * clients prefer IPv4. Use reachable_addr_prefer_ipv6_dirport() instead of
682  * accessing this value directly. */
684 
685  /** The length of time that we think a consensus should be fresh. */
687  /** The length of time we think it will take to distribute votes. */
689  /** The length of time we think it will take to distribute signatures. */
691  /** The number of intervals we think a consensus should be valid. */
693 
694  /** Should advertise and sign consensuses with a legacy key, for key
695  * migration purposes? */
697 
698  /** Location of bandwidth measurement file */
700 
701  /** Location of guardfraction file */
703 
704  /** The length of time that we think an initial consensus should be fresh.
705  * Only altered on testing networks. */
707 
708  /** The length of time we think it will take to distribute initial votes.
709  * Only altered on testing networks. */
711 
712  /** The length of time we think it will take to distribute initial
713  * signatures. Only altered on testing networks.*/
715 
716  /** Offset in seconds added to the starting time for consensus
717  voting. Only altered on testing networks. */
719 
720  /** Schedule for when servers should download things in general. Only
721  * altered on testing networks. */
723 
724  /** Schedule for when clients should download things in general. Only
725  * altered on testing networks. */
727 
728  /** Schedule for when servers should download consensuses. Only altered
729  * on testing networks. */
731 
732  /** Schedule for when clients should download consensuses. Only altered
733  * on testing networks. */
735 
736  /** Schedule for when clients should download consensuses from authorities
737  * if they are bootstrapping (that is, they don't have a usable, reasonably
738  * live consensus). Only used by clients fetching from a list of fallback
739  * directory mirrors.
740  *
741  * This schedule is incremented by (potentially concurrent) connection
742  * attempts, unlike other schedules, which are incremented by connection
743  * failures. Only altered on testing networks. */
745 
746  /** Schedule for when clients should download consensuses from fallback
747  * directory mirrors if they are bootstrapping (that is, they don't have a
748  * usable, reasonably live consensus). Only used by clients fetching from a
749  * list of fallback directory mirrors.
750  *
751  * This schedule is incremented by (potentially concurrent) connection
752  * attempts, unlike other schedules, which are incremented by connection
753  * failures. Only altered on testing networks. */
755 
756  /** Schedule for when clients should download consensuses from authorities
757  * if they are bootstrapping (that is, they don't have a usable, reasonably
758  * live consensus). Only used by clients which don't have or won't fetch
759  * from a list of fallback directory mirrors.
760  *
761  * This schedule is incremented by (potentially concurrent) connection
762  * attempts, unlike other schedules, which are incremented by connection
763  * failures. Only altered on testing networks. */
765 
766  /** Schedule for when clients should download bridge descriptors. Only
767  * altered on testing networks. */
769 
770  /** Schedule for when clients should download bridge descriptors when they
771  * have no running bridges. Only altered on testing networks. */
773 
774  /** When directory clients have only a few descriptors to request, they
775  * batch them until they have more, or until this amount of time has
776  * passed. Only altered on testing networks. */
778 
779  /** How long do we let a directory connection stall before expiring
780  * it? Only altered on testing networks. */
782 
783  /** How many simultaneous in-progress connections will we make when trying
784  * to fetch a consensus before we wait for one to complete, timeout, or
785  * error out? Only altered on testing networks. */
787 
788  /** If true, we take part in a testing network. Change the defaults of a
789  * couple of other configuration options and allow to change the values
790  * of certain configuration options. */
792 
793  /** Enable CONN_BW events. Only altered on testing networks. */
795 
796  /** Enable CELL_STATS events. Only altered on testing networks. */
798 
799  /** If true, and we have GeoIP data, and we're a bridge, keep a per-country
800  * count of how many client addresses have contacted us so that we can help
801  * the bridge authority guess which countries have blocked access to us. */
803 
804  /** Optionally, IPv4 and IPv6 GeoIP data. */
805  char *GeoIPFile;
806  char *GeoIPv6File;
807 
808  /** Autobool: if auto, then any attempt to Exclude{Exit,}Nodes a particular
809  * country code will exclude all nodes in ?? and A1. If true, all nodes in
810  * ?? and A1 are excluded. Has no effect if we don't know any GeoIP data. */
812 
813  /** If true, SIGHUP should reload the torrc. Sometimes controllers want
814  * to make this false. */
816 
817  /** The main parameter for picking circuits within a connection.
818  *
819  * If this value is positive, when picking a cell to relay on a connection,
820  * we always relay from the circuit whose weighted cell count is lowest.
821  * Cells are weighted exponentially such that if one cell is sent
822  * 'CircuitPriorityHalflife' seconds before another, it counts for half as
823  * much.
824  *
825  * If this value is zero, we're disabling the cell-EWMA algorithm.
826  *
827  * If this value is negative, we're using the default approach
828  * according to either Tor or a parameter set in the consensus.
829  */
831 
832  /** Set to true if the TestingTorNetwork configuration option is set.
833  * This is used so that options_validate() has a chance to realize that
834  * the defaults have changed. */
836 
837  /** If 1, we try to use microdescriptors to build circuits. If 0, we don't.
838  * If -1, Tor decides. */
840 
841  /** File where we should write the ControlPort. */
843  /** Should that file be group-readable? */
845 
846 #define MAX_MAX_CLIENT_CIRCUITS_PENDING 1024
847  /** Maximum number of non-open general-purpose origin circuits to allow at
848  * once. */
850 
851  /** If 1, we always send optimistic data when it's supported. If 0, we
852  * never use it. If -1, we do what the consensus says. */
854 
855  /** If 1, we accept and launch no external network connections, except on
856  * control ports. */
858 
859  /**
860  * Parameters for path-bias detection.
861  * @{
862  * These options override the default behavior of Tor's (**currently
863  * experimental**) path bias detection algorithm. To try to find broken or
864  * misbehaving guard nodes, Tor looks for nodes where more than a certain
865  * fraction of circuits through that guard fail to get built.
866  *
867  * The PathBiasCircThreshold option controls how many circuits we need to
868  * build through a guard before we make these checks. The
869  * PathBiasNoticeRate, PathBiasWarnRate and PathBiasExtremeRate options
870  * control what fraction of circuits must succeed through a guard so we
871  * won't write log messages. If less than PathBiasExtremeRate circuits
872  * succeed *and* PathBiasDropGuards is set to 1, we disable use of that
873  * guard.
874  *
875  * When we have seen more than PathBiasScaleThreshold circuits through a
876  * guard, we scale our observations by 0.5 (governed by the consensus) so
877  * that new observations don't get swamped by old ones.
878  *
879  * By default, or if a negative value is provided for one of these options,
880  * Tor uses reasonable defaults from the networkstatus consensus document.
881  * If no defaults are available there, these options default to 150, .70,
882  * .50, .30, 0, and 300 respectively.
883  */
885  double PathBiasNoticeRate;
886  double PathBiasWarnRate;
887  double PathBiasExtremeRate;
888  int PathBiasDropGuards;
889  int PathBiasScaleThreshold;
890  /** @} */
891 
892  /**
893  * Parameters for path-bias use detection
894  * @{
895  * Similar to the above options, these options override the default behavior
896  * of Tor's (**currently experimental**) path use bias detection algorithm.
897  *
898  * Where as the path bias parameters govern thresholds for successfully
899  * building circuits, these four path use bias parameters govern thresholds
900  * only for circuit usage. Circuits which receive no stream usage are not
901  * counted by this detection algorithm. A used circuit is considered
902  * successful if it is capable of carrying streams or otherwise receiving
903  * well-formed responses to RELAY cells.
904  *
905  * By default, or if a negative value is provided for one of these options,
906  * Tor uses reasonable defaults from the networkstatus consensus document.
907  * If no defaults are available there, these options default to 20, .80,
908  * .60, and 100, respectively.
909  */
911  double PathBiasNoticeUseRate;
912  double PathBiasExtremeUseRate;
913  int PathBiasScaleUseThreshold;
914  /** @} */
915 
916  int IPv6Exit; /**< Do we support exiting to IPv6 addresses? */
917 
918  /** Fraction: */
920 
921  /** What expiry time shall we place on our SSL certs? "0" means we
922  * should guess a suitable value. */
924 
925  /** How long (seconds) do we keep a guard before picking a new one? */
927 
928  /** Is this an exit node? This is a tristate, where "1" means "yes, and use
929  * the default exit policy if none is given" and "0" means "no; exit policy
930  * is 'reject *'" and "auto" (-1) means "same as 1, but warn the user."
931  *
932  * XXXX Eventually, the default will be 0. */
934 
935  /** For how long (seconds) do we declare our signing keys to be valid? */
937  /** For how long (seconds) do we declare our link keys to be valid? */
939  /** For how long (seconds) do we declare our auth keys to be valid? */
941 
942  /** How long before signing keys expire will we try to make a new one? */
944  /** How long before link keys expire will we try to make a new one? */
946  /** How long before auth keys expire will we try to make a new one? */
948 
949  /** Force use of offline master key features: never generate a master
950  * ed25519 identity key except from tor --keygen */
952 
953  key_expiration_format_t key_expiration_format;
954 
955  enum {
956  FORCE_PASSPHRASE_AUTO=0,
957  FORCE_PASSPHRASE_ON,
958  FORCE_PASSPHRASE_OFF
959  } keygen_force_passphrase;
960  int use_keygen_passphrase_fd;
961  int keygen_passphrase_fd;
962  int change_key_passphrase;
963  char *master_key_fname;
964 
965  /** Autobool: Do we try to retain capabilities if we can? */
967 
968  /** Maximum total size of unparseable descriptors to log during the
969  * lifetime of this Tor process.
970  */
972 
973  /** If 1, we skip all OOS checks. */
975 
976  /** Autobool: Should we include Ed25519 identities in extend2 cells?
977  * If -1, we should do whatever the consensus parameter says. */
979 
980  /** Bool (default: 0): Tells if a %include was used on torrc */
982 
983  /** The seconds after expiration which we as a relay should keep old
984  * consensuses around so that we can generate diffs from them. If 0,
985  * use the default. */
987 
988  /** Bool (default: 0). Tells Tor to never try to exec another program.
989  */
990  int NoExec;
991 
992  /** Have the KIST scheduler run every X milliseconds. If less than zero, do
993  * not use the KIST scheduler but use the old vanilla scheduler instead. If
994  * zero, do what the consensus says and fall back to using KIST as if this is
995  * set to "10 msec" if the consensus doesn't say anything. */
997 
998  /** A multiplier for the KIST per-socket limit calculation. */
1000 
1001  /** The list of scheduler type string ordered by priority that is first one
1002  * has to be tried first. Default: KIST,KISTLite,Vanilla */
1004  /** An ordered list of scheduler_types mapped from Schedulers. */
1006 
1007  /** List of files that were opened by %include in torrc and torrc-defaults */
1009 
1010  /** If true, Tor shouldn't install any posix signal handlers, since it is
1011  * running embedded inside another process.
1012  */
1014 
1015  /** Autobool: Is the circuit creation DoS mitigation subsystem enabled? */
1017  /** Minimum concurrent connection needed from one single address before any
1018  * defense is used. */
1020  /** Circuit rate used to refill the token bucket. */
1022  /** Maximum allowed burst of circuits. Reaching that value, the address is
1023  * detected as malicious and a defense might be used. */
1025  /** When an address is marked as malicous, what defense should be used
1026  * against it. See the dos_cc_defense_type_t enum. */
1028  /** For how much time (in seconds) the defense is applicable for a malicious
1029  * address. A random time delta is added to the defense time of an address
1030  * which will be between 1 second and half of this value. */
1032 
1033  /** Autobool: Is the DoS connection mitigation subsystem enabled? */
1035  /** Maximum concurrent connection allowed per address. */
1037  /** When an address is reaches the maximum count, what defense should be
1038  * used against it. See the dos_conn_defense_type_t enum. */
1040 
1041  /** Autobool: Do we refuse single hop client rendezvous? */
1043 
1044  /** Interval: how long without activity does it take for a client
1045  * to become dormant?
1046  **/
1048 
1049  /** Boolean: true if having an idle stream is sufficient to prevent a client
1050  * from becoming dormant.
1051  **/
1053 
1054  /** Boolean: true if Tor should be dormant the first time it starts with
1055  * a datadirectory; false otherwise. */
1057  /**
1058  * Boolean: true if Tor should treat every startup event as cancelling
1059  * a possible previous dormant state.
1060  **/
1062 
1063  /**
1064  * Configuration objects for individual modules.
1065  *
1066  * Never access this field or its members directly: instead, use the module
1067  * in question to get its relevant configuration object.
1068  */
1070 };
1071 
1072 #endif /* !defined(TOR_OR_OPTIONS_ST_H) */
or_options_t::ExtORPortCookieAuthFile
char * ExtORPortCookieAuthFile
Definition: or_options_st.h:513
or_options_t::DormantCanceledByStartup
int DormantCanceledByStartup
Definition: or_options_st.h:1061
or_options_t::DisableAllSwap
int DisableAllSwap
Definition: or_options_st.h:114
or_options_t::LongLivedPorts
struct smartlist_t * LongLivedPorts
Definition: or_options_st.h:347
or_options_t::ServerDNSResolvConfFile
char * ServerDNSResolvConfFile
Definition: or_options_st.h:595
or_options_t::ORPort_lines
struct config_line_t * ORPort_lines
Definition: or_options_st.h:144
or_options_t::ClientBootstrapConsensusFallbackDownloadInitialDelay
int ClientBootstrapConsensusFallbackDownloadInitialDelay
Definition: or_options_st.h:754
or_options_t::TestingV3AuthVotingStartOffset
int TestingV3AuthVotingStartOffset
Definition: or_options_st.h:718
or_options_t::ProtocolWarnings
int ProtocolWarnings
Definition: or_options_st.h:543
or_options_t::SchedulerTypes_
struct smartlist_t * SchedulerTypes_
Definition: or_options_st.h:1005
or_options_t::DoSConnectionEnabled
int DoSConnectionEnabled
Definition: or_options_st.h:1034
or_options_t::HTTPProxyPort
uint16_t HTTPProxyPort
Definition: or_options_st.h:422
or_options_t::TestingAuthKeyLifetime
int TestingAuthKeyLifetime
Definition: or_options_st.h:940
or_options_t::ClientUseIPv6
int ClientUseIPv6
Definition: or_options_st.h:673
or_options_t::CookieAuthFileGroupReadable
int CookieAuthFileGroupReadable
Definition: or_options_st.h:515
or_options_t::CountPrivateBandwidth
int CountPrivateBandwidth
Definition: or_options_st.h:609
or_options_t::BandwidthRate
uint64_t BandwidthRate
Definition: or_options_st.h:393
or_options_t::IPv6Exit
int IPv6Exit
Definition: or_options_st.h:916
or_options_t::DisableNetwork
int DisableNetwork
Definition: or_options_st.h:857
or_options_t::HTTPProxyAddr
tor_addr_t HTTPProxyAddr
Definition: or_options_st.h:421
or_options_t::DirPolicy
struct config_line_t * DirPolicy
Definition: or_options_st.h:127
or_options_t::ReachableAddresses
struct config_line_t * ReachableAddresses
Definition: or_options_st.h:332
or_options_t::Socks5Proxy
char * Socks5Proxy
Definition: or_options_st.h:434
or_options_t::V3AuthDistDelay
int V3AuthDistDelay
Definition: or_options_st.h:690
config_suite_t
Definition: confmgt.c:75
or_options_t::TestingBridgeBootstrapDownloadInitialDelay
int TestingBridgeBootstrapDownloadInitialDelay
Definition: or_options_st.h:772
or_options_t::MaxClientCircuitsPending
int MaxClientCircuitsPending
Definition: or_options_st.h:849
key_expiration_format_t
key_expiration_format_t
Definition: or_options_st.h:39
tor_addr_t
Definition: address.h:69
or_options_t::V3AuthVotingInterval
int V3AuthVotingInterval
Definition: or_options_st.h:686
or_options_t::AllDirActionsPrivate
int AllDirActionsPrivate
Definition: or_options_st.h:290
or_options_t::BridgeRelay
int BridgeRelay
Definition: or_options_st.h:248
or_options_t::HashedControlPassword
struct config_line_t * HashedControlPassword
Definition: or_options_st.h:505
or_options_t::TestingAuthKeySlop
int TestingAuthKeySlop
Definition: or_options_st.h:947
or_options_t::DirReqStatistics
int DirReqStatistics
Definition: or_options_st.h:629
or_options_t::NoExec
int NoExec
Definition: or_options_st.h:990
or_options_t::User
char * User
Definition: or_options_st.h:142
or_options_t::ConnDirectionStatistics
int ConnDirectionStatistics
Definition: or_options_st.h:635
or_options_t::HTTPSProxyAuthenticator
char * HTTPSProxyAuthenticator
Definition: or_options_st.h:428
or_options_t::KeyDirectory_option
char * KeyDirectory_option
Definition: or_options_st.h:69
or_options_t::CacheDirectoryGroupReadable
int CacheDirectoryGroupReadable
Definition: or_options_st.h:77
or_options_t::DirAuthorityFallbackRate
double DirAuthorityFallbackRate
Definition: or_options_st.h:457
or_options_t::KISTSchedRunInterval
int KISTSchedRunInterval
Definition: or_options_st.h:996
or_options_t::DirReqStatistics_option
int DirReqStatistics_option
Definition: or_options_st.h:626
or_options_t::DirAllowPrivateAddresses
int DirAllowPrivateAddresses
Definition: or_options_st.h:139
or_options_t::ServerDNSRandomizeCase
int ServerDNSRandomizeCase
Definition: or_options_st.h:593
or_options_t::PublishServerDescriptor_
dirinfo_type_t PublishServerDescriptor_
Definition: or_options_st.h:283
or_options_t::TestingV3AuthInitialVotingInterval
int TestingV3AuthInitialVotingInterval
Definition: or_options_st.h:706
or_options_t::ReducedExitPolicy
int ReducedExitPolicy
Definition: or_options_st.h:125
or_options_t::ServerTransportListenAddr
struct config_line_t * ServerTransportListenAddr
Definition: or_options_st.h:243
or_options_t::OptimisticData
int OptimisticData
Definition: or_options_st.h:853
or_options_t::FilesOpenedByIncludes
struct smartlist_t * FilesOpenedByIncludes
Definition: or_options_st.h:1008
or_options_t::DataDirectory_option
char * DataDirectory_option
Definition: or_options_st.h:64
or_options_t::HeartbeatPeriod
int HeartbeatPeriod
Definition: or_options_st.h:415
or_options_t::Socks5ProxyPort
uint16_t Socks5ProxyPort
Definition: or_options_st.h:436
or_options_t::TCPProxy
char * TCPProxy
Definition: or_options_st.h:440
or_options_t::FascistFirewall
int FascistFirewall
Definition: or_options_st.h:328
or_options_t::AlternateDirAuthority
struct config_line_t * AlternateDirAuthority
Definition: or_options_st.h:461
or_options_t::RendPostPeriod
int RendPostPeriod
Definition: or_options_st.h:369
or_options_t::LogMessageDomains
int LogMessageDomains
Definition: or_options_st.h:56
or_options_t::PathBiasCircThreshold
int PathBiasCircThreshold
Definition: or_options_st.h:884
or_options_t::ClientPreferIPv6ORPort
int ClientPreferIPv6ORPort
Definition: or_options_st.h:678
or_options_t::HTTPTunnelPort_lines
struct config_line_t * HTTPTunnelPort_lines
Definition: or_options_st.h:163
or_options_t::HiddenServiceStatistics_option
int HiddenServiceStatistics_option
Definition: or_options_st.h:648
or_options_t::UseMicrodescriptors
int UseMicrodescriptors
Definition: or_options_st.h:839
or_options_t::RunAsDaemon
int RunAsDaemon
Definition: or_options_st.h:327
or_options_t::ExtORPortCookieAuthFileGroupReadable
int ExtORPortCookieAuthFileGroupReadable
Definition: or_options_st.h:516
or_options_t::Logs
struct config_line_t * Logs
Definition: or_options_st.h:52
or_options_t::ConstrainedSockSize
uint64_t ConstrainedSockSize
Definition: or_options_st.h:337
or_options_t::TestingClientDownloadInitialDelay
int TestingClientDownloadInitialDelay
Definition: or_options_st.h:726
or_options_t::GuardLifetime
int GuardLifetime
Definition: or_options_st.h:926
or_options_t::FallbackDir
struct config_line_t * FallbackDir
Definition: or_options_st.h:451
torint.h
Integer definitions used throughout Tor.
or_options_t::ConnLimit_high_thresh
int ConnLimit_high_thresh
Definition: or_options_st.h:323
tcp_proxy_protocol_t
tcp_proxy_protocol_t
Definition: or_options_st.h:33
or_options_t::command
tor_cmdline_mode_t command
Definition: or_options_st.h:49
or_options_t::HTTPProxy
char * HTTPProxy
Definition: or_options_st.h:420
or_options_t::PerConnBWRate
uint64_t PerConnBWRate
Definition: or_options_st.h:403
or_options_t::NewCircuitPeriod
int NewCircuitPeriod
Definition: or_options_st.h:389
or_options_t::ShutdownWaitLength
int ShutdownWaitLength
Definition: or_options_st.h:531
or_options_t::LeaveStreamsUnattached
int LeaveStreamsUnattached
Definition: or_options_st.h:518
or_options_t::Bridges
struct config_line_t * Bridges
Definition: or_options_st.h:234
or_options_t::SSLKeyLifetime
int SSLKeyLifetime
Definition: or_options_st.h:923
or_options_t::KISTSockBufSizeFactor
double KISTSockBufSizeFactor
Definition: or_options_st.h:999
TCP_PROXY_PROTOCOL_HAPROXY
@ TCP_PROXY_PROTOCOL_HAPROXY
Definition: or_options_st.h:35
or_options_t::PublishServerDescriptor
struct smartlist_t * PublishServerDescriptor
Definition: or_options_st.h:281
or_options_t::TrackHostExitsExpire
int TrackHostExitsExpire
Definition: or_options_st.h:359
or_options_t::TestingServerDownloadInitialDelay
int TestingServerDownloadInitialDelay
Definition: or_options_st.h:722
or_options_t::ClientRejectInternalAddresses
int ClientRejectInternalAddresses
Definition: or_options_st.h:664
or_options_t::ExtraInfoStatistics
int ExtraInfoStatistics
Definition: or_options_st.h:655
or_options_t::ClientPreferIPv6DirPort
int ClientPreferIPv6DirPort
Definition: or_options_st.h:683
or_options_t::AuthoritativeDir
int AuthoritativeDir
Definition: or_options_st.h:216
or_options_t::Socks5ProxyUsername
char * Socks5ProxyUsername
Definition: or_options_st.h:437
or_options_t::MyFamily
struct config_line_t * MyFamily
Definition: or_options_st.h:467
or_options_t::MyFamily_lines
struct config_line_t * MyFamily_lines
Definition: or_options_st.h:466
or_options_t::SigningKeyLifetime
int SigningKeyLifetime
Definition: or_options_st.h:936
or_options_t::DNSPort_lines
struct config_line_t * DNSPort_lines
Definition: or_options_st.h:174
or_options_t::DataDirectoryGroupReadable
int DataDirectoryGroupReadable
Definition: or_options_st.h:67
or_options_t::TestingClientMaxIntervalWithoutRequest
int TestingClientMaxIntervalWithoutRequest
Definition: or_options_st.h:777
or_options_t::TruncateLogFile
int TruncateLogFile
Definition: or_options_st.h:58
or_options_t::TransProxyType_parsed
enum or_options_t::@0 TransProxyType_parsed
or_options_t::DisableOOSCheck
int DisableOOSCheck
Definition: or_options_st.h:974
or_options_t::SocksPort_lines
struct config_line_t * SocksPort_lines
Definition: or_options_st.h:148
or_options_t::ExcludeExitNodesUnion_
struct routerset_t * ExcludeExitNodesUnion_
Definition: or_options_st.h:112
or_options_t::BridgeAuthoritativeDir
int BridgeAuthoritativeDir
Definition: or_options_st.h:219
or_options_t::TestingSigningKeySlop
int TestingSigningKeySlop
Definition: or_options_st.h:943
or_options_t::DoSCircuitCreationMinConnections
int DoSCircuitCreationMinConnections
Definition: or_options_st.h:1019
or_options_t::UseGuardFraction
int UseGuardFraction
Definition: or_options_st.h:564
or_options_t::ControlSocketsGroupWritable
int ControlSocketsGroupWritable
Definition: or_options_st.h:169
tor_cmdline_mode.h
Declare the tor_cmdline_mode_t enumeration.
or_options_t::V3AuthNIntervalsValid
int V3AuthNIntervalsValid
Definition: or_options_st.h:692
or_options_t::ClientBootstrapConsensusMaxInProgressTries
int ClientBootstrapConsensusMaxInProgressTries
Definition: or_options_st.h:786
or_options_t::DormantClientTimeout
int DormantClientTimeout
Definition: or_options_st.h:1047
or_options_t::Schedulers
struct smartlist_t * Schedulers
Definition: or_options_st.h:1003
or_options_t::OwningControllerProcess
char * OwningControllerProcess
Definition: or_options_st.h:527
address.h
Headers for address.h.
or_options_t::VirtualAddrNetworkIPv4
char * VirtualAddrNetworkIPv4
Definition: or_options_st.h:584
or_options_t::SocksPolicy
struct config_line_t * SocksPolicy
Definition: or_options_st.h:126
or_options_t::LearnCircuitBuildTimeout
int LearnCircuitBuildTimeout
Definition: or_options_st.h:375
or_options_t::AccountingRule_option
char * AccountingRule_option
Definition: or_options_st.h:501
or_options_t::RelayBandwidthBurst
uint64_t RelayBandwidthBurst
Definition: or_options_st.h:401
or_options_t::HashedControlSessionPassword
struct config_line_t * HashedControlSessionPassword
Definition: or_options_st.h:507
or_options_t::WarnPlaintextPorts
struct smartlist_t * WarnPlaintextPorts
Definition: or_options_st.h:356
or_options_t::NodeFamilies
struct config_line_t * NodeFamilies
Definition: or_options_st.h:469
or_options_t::Socks4ProxyAddr
tor_addr_t Socks4ProxyAddr
Definition: or_options_st.h:431
or_options_t::OutboundBindAddresses
tor_addr_t OutboundBindAddresses[OUTBOUND_ADDR_MAX][2]
Definition: or_options_st.h:137
or_options_t::DoSCircuitCreationRate
int DoSCircuitCreationRate
Definition: or_options_st.h:1021
or_options_t::BridgeRecordUsageByCountry
int BridgeRecordUsageByCountry
Definition: or_options_st.h:802
or_options_t::ExitRelay
int ExitRelay
Definition: or_options_st.h:933
or_options_t::DebugLogFile
char * DebugLogFile
Definition: or_options_st.h:63
or_options_t::ControlSocket
struct config_line_t * ControlSocket
Definition: or_options_st.h:167
or_options_t::AuthDirBadExit
struct config_line_t * AuthDirBadExit
Definition: or_options_st.h:473
or_options_t::OfflineMasterKey
int OfflineMasterKey
Definition: or_options_st.h:951
or_options_t::RejectPlaintextPorts
struct smartlist_t * RejectPlaintextPorts
Definition: or_options_st.h:352
or_options_t::AlternateBridgeAuthority
struct config_line_t * AlternateBridgeAuthority
Definition: or_options_st.h:464
or_options_t::Socks4ProxyPort
uint16_t Socks4ProxyPort
Definition: or_options_st.h:432
or_options_t::HTTPSProxy
char * HTTPSProxy
Definition: or_options_st.h:425
or_options_t::PidFile
char * PidFile
Definition: or_options_st.h:88
or_options_t::HTTPProxyAuthenticator
char * HTTPProxyAuthenticator
Definition: or_options_st.h:423
or_options_t::AddressMap
struct config_line_t * AddressMap
Definition: or_options_st.h:361
or_options_t::HTTPSProxyAddr
tor_addr_t HTTPSProxyAddr
Definition: or_options_st.h:426
or_options_t::Socks5ProxyAddr
tor_addr_t Socks5ProxyAddr
Definition: or_options_st.h:435
or_options_t::TestingV3AuthInitialVoteDelay
int TestingV3AuthInitialVoteDelay
Definition: or_options_st.h:710
or_options_t::TokenBucketRefillInterval
int TokenBucketRefillInterval
Definition: or_options_st.h:548
or_options_t::HSLayer3Nodes
struct routerset_t * HSLayer3Nodes
Definition: or_options_st.h:299
or_options_t::subconfigs_
struct config_suite_t * subconfigs_
Definition: or_options_st.h:1069
or_options_t::TransProxyType
char * TransProxyType
Definition: or_options_st.h:151
or_options_t::ExcludeNodes
struct routerset_t * ExcludeNodes
Definition: or_options_st.h:102
or_options_t::EnforceDistinctSubnets
int EnforceDistinctSubnets
Definition: or_options_st.h:613
or_options_t::ServerTransportOptions
struct config_line_t * ServerTransportOptions
Definition: or_options_st.h:246
or_options_t::EntryStatistics
int EntryStatistics
Definition: or_options_st.h:644
or_options_t::ServerTransportPlugin
struct config_line_t * ServerTransportPlugin
Definition: or_options_st.h:239
or_options_t::ReducedConnectionPadding
int ReducedConnectionPadding
Definition: or_options_st.h:260
or_options_t::ReachableDirAddresses
struct config_line_t * ReachableDirAddresses
Definition: or_options_st.h:334
or_options_t::StrictNodes
int StrictNodes
Definition: or_options_st.h:99
or_options_t::MaxCircuitDirtiness
int MaxCircuitDirtiness
Definition: or_options_st.h:391
or_options_t::ConnLimit_
int ConnLimit_
Definition: or_options_st.h:322
or_options_t::Sandbox
int Sandbox
Definition: or_options_st.h:540
or_options_t::ExitPolicyRejectPrivate
int ExitPolicyRejectPrivate
Definition: or_options_st.h:118
or_options_t::ServerDNSAllowBrokenConfig
int ServerDNSAllowBrokenConfig
Definition: or_options_st.h:606
or_options_t::ExcludeExitNodes
struct routerset_t * ExcludeExitNodes
Definition: or_options_st.h:106
or_options_t::UsingTestNetworkDefaults_
int UsingTestNetworkDefaults_
Definition: or_options_st.h:835
or_options_t::HiddenServiceStatistics
int HiddenServiceStatistics
Definition: or_options_st.h:652
or_options_t::DoSConnectionMaxConcurrentCount
int DoSConnectionMaxConcurrentCount
Definition: or_options_st.h:1036
or_options_t::KeyDirectory
char * KeyDirectory
Definition: or_options_st.h:71
or_options_t::TestingLinkKeySlop
int TestingLinkKeySlop
Definition: or_options_st.h:945
or_options_t::AndroidIdentityTag
char * AndroidIdentityTag
Definition: or_options_st.h:61
or_options_t::ControlPortFileGroupReadable
int ControlPortFileGroupReadable
Definition: or_options_st.h:844
or_options_t::ConstrainedSockets
int ConstrainedSockets
Definition: or_options_st.h:336
or_options_t::PathBiasUseThreshold
int PathBiasUseThreshold
Definition: or_options_st.h:910
or_options_t::ServerDNSTestAddresses
struct smartlist_t * ServerDNSTestAddresses
Definition: or_options_st.h:612
or_options_t::BridgePassword_AuthDigest_
char * BridgePassword_AuthDigest_
Definition: or_options_st.h:231
or_options_t::DownloadExtraInfo
int DownloadExtraInfo
Definition: or_options_st.h:622
or_options_t::V3AuthoritativeDir
int V3AuthoritativeDir
Definition: or_options_st.h:217
or_options_t::OutboundBindAddress
struct config_line_t * OutboundBindAddress
Definition: or_options_st.h:129
or_options_t::NumDirectoryGuards
int NumDirectoryGuards
Definition: or_options_st.h:566
or_options_t::AccountingStart
char * AccountingStart
Definition: or_options_st.h:491
or_options_t::command_arg
char * command_arg
Definition: or_options_st.h:50
or_options_t::DormantOnFirstStartup
int DormantOnFirstStartup
Definition: or_options_st.h:1056
or_options_t::CacheDirectory_option
char * CacheDirectory_option
Definition: or_options_st.h:74
or_options_t::DisableDebuggerAttachment
int DisableDebuggerAttachment
Definition: or_options_st.h:602
or_options_t::SafeLogging
char * SafeLogging
Definition: or_options_st.h:533
or_options_t::RefuseUnknownExits
int RefuseUnknownExits
Definition: or_options_st.h:343
or_options_t::ClientDNSRejectInternalAddresses
int ClientDNSRejectInternalAddresses
Definition: or_options_st.h:660
or_options_t::GuardfractionFile
char * GuardfractionFile
Definition: or_options_st.h:702
or_options_t::MainloopStats
int MainloopStats
Definition: or_options_st.h:417
or_options_t::AssumeReachable
int AssumeReachable
Definition: or_options_st.h:210
or_options_t::TestingDirConnectionMaxStall
int TestingDirConnectionMaxStall
Definition: or_options_st.h:781
outbound_addr_t
outbound_addr_t
Definition: or_options_st.h:28
or_options_t::NumCPUs
int NumCPUs
Definition: or_options_st.h:405
or_options_t::ExtORPort_lines
struct config_line_t * ExtORPort_lines
Definition: or_options_st.h:146
or_options_t::DirAuthorities
struct config_line_t * DirAuthorities
Definition: or_options_st.h:448
or_options_t::V3AuthUseLegacyKey
int V3AuthUseLegacyKey
Definition: or_options_st.h:696
or_options_t::FirewallPorts
struct smartlist_t * FirewallPorts
Definition: or_options_st.h:329
or_options_t::ServerDNSAllowNonRFC953Hostnames
int ServerDNSAllowNonRFC953Hostnames
Definition: or_options_st.h:618
or_options_t::PathsNeededToBuildCircuits
double PathsNeededToBuildCircuits
Definition: or_options_st.h:919
or_options_t::ExitPolicy
struct config_line_t * ExitPolicy
Definition: or_options_st.h:117
or_options_t::PerConnBWBurst
uint64_t PerConnBWBurst
Definition: or_options_st.h:404
or_options_t::GeoIPFile
char * GeoIPFile
Definition: or_options_st.h:805
or_options_t::ExitNodes
struct routerset_t * ExitNodes
Definition: or_options_st.h:90
or_options_t::CircuitPriorityHalflife
double CircuitPriorityHalflife
Definition: or_options_st.h:830
or_options_t::ReducedCircuitPadding
int ReducedCircuitPadding
Definition: or_options_st.h:277
or_options_t::DisablePredictedCircuits
int DisablePredictedCircuits
Definition: or_options_st.h:521
or_options_t::KeepBindCapabilities
int KeepBindCapabilities
Definition: or_options_st.h:966
or_options_t::AuthDirReject
struct config_line_t * AuthDirReject
Definition: or_options_st.h:475
or_options_t::ReloadTorrcOnSIGHUP
int ReloadTorrcOnSIGHUP
Definition: or_options_st.h:815
or_options_t::MiddleNodes
struct routerset_t * MiddleNodes
Definition: or_options_st.h:93
or_options_t::TestingLinkCertLifetime
int TestingLinkCertLifetime
Definition: or_options_st.h:938
or_options_t::ServerDNSDetectHijacking
int ServerDNSDetectHijacking
Definition: or_options_st.h:591
or_options_t::SyslogIdentityTag
char * SyslogIdentityTag
Definition: or_options_st.h:60
or_options_t::ClientTransportPlugin
struct config_line_t * ClientTransportPlugin
Definition: or_options_st.h:236
or_options_t::DoSRefuseSingleHopClientRendezvous
int DoSRefuseSingleHopClientRendezvous
Definition: or_options_st.h:1042
or_options_t::ServerDNSSearchDomains
int ServerDNSSearchDomains
Definition: or_options_st.h:588
or_options_t::DoSCircuitCreationDefenseTimePeriod
int DoSCircuitCreationDefenseTimePeriod
Definition: or_options_st.h:1031
or_options_t::HiddenServiceSingleHopMode
int HiddenServiceSingleHopMode
Definition: or_options_st.h:312
or_options_t::ControlPortWriteToFile
char * ControlPortWriteToFile
Definition: or_options_st.h:842
or_options_t::KeepalivePeriod
int KeepalivePeriod
Definition: or_options_st.h:371
or_options_t::ConnLimit_low_thresh
int ConnLimit_low_thresh
Definition: or_options_st.h:325
tor_cmdline_mode_t
tor_cmdline_mode_t
Definition: tor_cmdline_mode.h:19
or_options_t::ClientBootstrapConsensusAuthorityDownloadInitialDelay
int ClientBootstrapConsensusAuthorityDownloadInitialDelay
Definition: or_options_st.h:744
or_options_t::ExitPolicyRejectLocalInterfaces
int ExitPolicyRejectLocalInterfaces
Definition: or_options_st.h:121
or_options_t::MaxMemInQueues
uint64_t MaxMemInQueues
Definition: or_options_st.h:179
or_options_t::ExitPortStatistics
int ExitPortStatistics
Definition: or_options_st.h:632
or_options_t::FetchDirInfoEarly
int FetchDirInfoEarly
Definition: or_options_st.h:573
or_options_t::TestingServerConsensusDownloadInitialDelay
int TestingServerConsensusDownloadInitialDelay
Definition: or_options_st.h:730
or_options_t::DisableSignalHandlers
int DisableSignalHandlers
Definition: or_options_st.h:1013
or_options_t::ReachableORAddresses
struct config_line_t * ReachableORAddresses
Definition: or_options_st.h:333
or_options_t::ExtendByEd25519ID
int ExtendByEd25519ID
Definition: or_options_st.h:978
or_options_t::TestingEnableCellStatsEvent
int TestingEnableCellStatsEvent
Definition: or_options_st.h:797
or_options_t::RelayBandwidthRate
uint64_t RelayBandwidthRate
Definition: or_options_st.h:399
or_options_t::SocksTimeout
int SocksTimeout
Definition: or_options_st.h:373
or_options_t::ClientOnly
int ClientOnly
Definition: or_options_st.h:258
or_options_t::TestingEnableConnBwEvent
int TestingEnableConnBwEvent
Definition: or_options_st.h:794
or_options_t::CircuitStreamTimeout
int CircuitStreamTimeout
Definition: or_options_st.h:384
or_options_t::OutboundBindAddressOR
struct config_line_t * OutboundBindAddressOR
Definition: or_options_st.h:131
or_options_t::RephistTrackTime
int RephistTrackTime
Definition: or_options_st.h:570
or_options_t::LogTimeGranularity
int LogTimeGranularity
Definition: or_options_st.h:54
or_options_t::HTTPSProxyPort
uint16_t HTTPSProxyPort
Definition: or_options_st.h:427
dirinfo_type_t
dirinfo_type_t
Definition: or.h:905
or_options_t::AddressDisableIPv6
int AddressDisableIPv6
Definition: or_options_st.h:86
or_options_t::MaxAdvertisedBandwidth
uint64_t MaxAdvertisedBandwidth
Definition: or_options_st.h:397
or_options_t::NumEntryGuards
int NumEntryGuards
Definition: or_options_st.h:559
or_options_t::OwningControllerFD
uint64_t OwningControllerFD
Definition: or_options_st.h:529
or_options_t::TestingV3AuthInitialDistDelay
int TestingV3AuthInitialDistDelay
Definition: or_options_st.h:714
or_options_t::PublishHidServDescriptors
int PublishHidServDescriptors
Definition: or_options_st.h:285
or_options_t::DoSCircuitCreationDefenseType
int DoSCircuitCreationDefenseType
Definition: or_options_st.h:1027
or_options_t::PaddingStatistics
int PaddingStatistics
Definition: or_options_st.h:641
or_options_t::V3BandwidthsFile
char * V3BandwidthsFile
Definition: or_options_st.h:699
or_options_t::TestingTorNetwork
int TestingTorNetwork
Definition: or_options_st.h:791
or_options_t::OutboundBindAddressExit
struct config_line_t * OutboundBindAddressExit
Definition: or_options_st.h:133
or_options_t::ContactInfo
char * ContactInfo
Definition: or_options_st.h:413
or_options_t::CircuitBuildTimeout
int CircuitBuildTimeout
Definition: or_options_st.h:379
or_options_t::ClientUseIPv4
int ClientUseIPv4
Definition: or_options_st.h:668
or_options_t::AuthDirInvalid
struct config_line_t * AuthDirInvalid
Definition: or_options_st.h:477
or_options_t::DormantTimeoutDisabledByIdleStreams
int DormantTimeoutDisabledByIdleStreams
Definition: or_options_st.h:1052
or_options_t::TCPProxyPort
uint16_t TCPProxyPort
Definition: or_options_st.h:443
or_options_t::TCPProxyProtocol
tcp_proxy_protocol_t TCPProxyProtocol
Definition: or_options_st.h:441
or_options_t::UseBridges
int UseBridges
Definition: or_options_st.h:233
or_options_t::UseEntryGuards
int UseEntryGuards
Definition: or_options_st.h:557
or_options_t::NodeFamilySets
struct smartlist_t * NodeFamilySets
Definition: or_options_st.h:472
or_options_t::FetchUselessDescriptors
int FetchUselessDescriptors
Definition: or_options_st.h:289
or_options_t::EntryNodes
struct routerset_t * EntryNodes
Definition: or_options_st.h:96
or_options_t::VirtualAddrNetworkIPv6
char * VirtualAddrNetworkIPv6
Definition: or_options_st.h:586
or_options_t::DataDirectory
char * DataDirectory
Definition: or_options_st.h:66
or_options_t::Nickname
char * Nickname
Definition: or_options_st.h:79
or_options_t::DoSConnectionDefenseType
int DoSConnectionDefenseType
Definition: or_options_st.h:1039
or_options_t::AccountingMax
uint64_t AccountingMax
Definition: or_options_st.h:493
or_options_t::ExtendAllowPrivateAddresses
int ExtendAllowPrivateAddresses
Definition: or_options_st.h:141
or_options_t::RendConfigLines
struct config_line_t * RendConfigLines
Definition: or_options_st.h:406
or_options_t::ControlPort_lines
struct config_line_t * ControlPort_lines
Definition: or_options_st.h:164
or_options_t::ConnectionPadding
int ConnectionPadding
Definition: or_options_st.h:266
or_options_t::ClientOnionAuthDir
char * ClientOnionAuthDir
Definition: or_options_st.h:411
or_options_t::FetchHidServDescriptors
int FetchHidServDescriptors
Definition: or_options_st.h:287
config_line_t
Definition: confline.h:29
or_options_t::MaxMemInQueues_low_threshold
uint64_t MaxMemInQueues_low_threshold
Definition: or_options_st.h:182
or_options_t::ClientBootstrapConsensusAuthorityOnlyDownloadInitialDelay
int ClientBootstrapConsensusAuthorityOnlyDownloadInitialDelay
Definition: or_options_st.h:764
or_options_t::HidServAuth
struct config_line_t * HidServAuth
Definition: or_options_st.h:408
or_options_t::DoSCircuitCreationEnabled
int DoSCircuitCreationEnabled
Definition: or_options_st.h:1016
or_options_t::MaxUnparseableDescSizeToLog
uint64_t MaxUnparseableDescSizeToLog
Definition: or_options_st.h:971
or_options_t::FetchServerDescriptors
int FetchServerDescriptors
Definition: or_options_st.h:286
or_options_t::UpdateBridgesFromAuthority
int UpdateBridgesFromAuthority
Definition: or_options_st.h:254
or_options_t::UseDefaultFallbackDirs
int UseDefaultFallbackDirs
Definition: or_options_st.h:453
or_options_t::MaxConsensusAgeForDiffs
int MaxConsensusAgeForDiffs
Definition: or_options_st.h:986
or_options_t::V3AuthVoteDelay
int V3AuthVoteDelay
Definition: or_options_st.h:688
or_options_t::TestSocks
int TestSocks
Definition: or_options_st.h:545
or_options_t::AutomapHostsSuffixes
struct smartlist_t * AutomapHostsSuffixes
Definition: or_options_st.h:368
or_options_t::Address
struct config_line_t * Address
Definition: or_options_st.h:82
or_options_t::AllowNonRFC953Hostnames
int AllowNonRFC953Hostnames
Definition: or_options_st.h:615
or_options_t::KeyDirectoryGroupReadable
int KeyDirectoryGroupReadable
Definition: or_options_st.h:72
or_options_t::CircuitsAvailableTimeout
int CircuitsAvailableTimeout
Definition: or_options_st.h:382
or_options_t::TrackHostExits
struct smartlist_t * TrackHostExits
Definition: or_options_st.h:358
or_options_t::DoSCircuitCreationBurst
int DoSCircuitCreationBurst
Definition: or_options_st.h:1024
or_options_t::NATDPort_lines
struct config_line_t * NATDPort_lines
Definition: or_options_st.h:161
or_options_t
Definition: or_options_st.h:45
or_options_t::DirPort_lines
struct config_line_t * DirPort_lines
Definition: or_options_st.h:172
or_options_t::AssumeReachableIPv6
int AssumeReachableIPv6
Definition: or_options_st.h:215
or_options_t::Socks4Proxy
char * Socks4Proxy
Definition: or_options_st.h:430
or_options_t::ConnLimit
int ConnLimit
Definition: or_options_st.h:321
or_options_t::DirCache
int DirCache
Definition: or_options_st.h:578
or_options_t::CellStatistics
int CellStatistics
Definition: or_options_st.h:638
or_options_t::TestingClientConsensusDownloadInitialDelay
int TestingClientConsensusDownloadInitialDelay
Definition: or_options_st.h:734
or_options_t::UnixSocksGroupWritable
int UnixSocksGroupWritable
Definition: or_options_st.h:170
or_options_t::TestingBridgeDownloadInitialDelay
int TestingBridgeDownloadInitialDelay
Definition: or_options_st.h:768
or_options_t::CacheDirectory
char * CacheDirectory
Definition: or_options_st.h:76
or_options_t::Socks5ProxyPassword
char * Socks5ProxyPassword
Definition: or_options_st.h:438
or_options_t::BandwidthBurst
uint64_t BandwidthBurst
Definition: or_options_st.h:395
or_options_t::UseEntryGuards_option
int UseEntryGuards_option
Definition: or_options_st.h:552
or_options_t::CircuitPadding
int CircuitPadding
Definition: or_options_st.h:271
or_options_t::DirPortFrontPage
char * DirPortFrontPage
Definition: or_options_st.h:598
or_options_t::BridgePassword
char * BridgePassword
Definition: or_options_st.h:228
or_options_t::TransPort_lines
struct config_line_t * TransPort_lines
Definition: or_options_st.h:150
smartlist_t
Definition: smartlist_core.h:26
or_options_t::AvoidDiskWrites
int AvoidDiskWrites
Definition: or_options_st.h:256
or_options_t::CookieAuthentication
int CookieAuthentication
Definition: or_options_st.h:509
or_options_t::FetchDirInfoExtraEarly
int FetchDirInfoExtraEarly
Definition: or_options_st.h:576
or_options_t::IncludeUsed
int IncludeUsed
Definition: or_options_st.h:981
or_options_t::GeoIPExcludeUnknown
int GeoIPExcludeUnknown
Definition: or_options_st.h:811
or_options_t::NumPrimaryGuards
int NumPrimaryGuards
Definition: or_options_st.h:568
or_options_t::AutomapHostsOnResolve
int AutomapHostsOnResolve
Definition: or_options_st.h:362
or_options_t::HSLayer2Nodes
struct routerset_t * HSLayer2Nodes
Definition: or_options_st.h:295
or_options_t::SafeSocks
int SafeSocks
Definition: or_options_st.h:541
or.h
Master header file for Tor-specific functionality.
or_options_t::TCPProxyAddr
tor_addr_t TCPProxyAddr
Definition: or_options_st.h:442
or_options_t::BridgeDistribution
char * BridgeDistribution
Definition: or_options_st.h:224
or_options_t::CookieAuthFile
char * CookieAuthFile
Definition: or_options_st.h:511