or_options_t Struct Reference

#include <or.h>


Public Types

enum  {
  CMD_RUN_TOR = 0, CMD_LIST_FINGERPRINT, CMD_HASH_PASSWORD, CMD_VERIFY_CONFIG,
  CMD_RUN_UNITTESTS
}
enum  { SAFELOG_SCRUB_ALL, SAFELOG_SCRUB_RELAY, SAFELOG_SCRUB_NONE }

Data Fields

uint32_t _magic
enum or_options_t:: { ... }  command
const char * command_arg
config_line_tLogs
char * DebugLogFile
char * DataDirectory
char * Nickname
char * Address
char * PidFile
routerset_tExitNodes
routerset_tEntryNodes
int StrictNodes
routerset_tExcludeNodes
routerset_tExcludeExitNodes
struct routerset_t_ExcludeExitNodesUnion
int DisableAllSwap
smartlist_tAllowInvalidNodes
invalid_router_usage_t _AllowInvalid
config_line_tExitPolicy
int ExitPolicyRejectPrivate
config_line_tSocksPolicy
config_line_tDirPolicy
config_line_tSocksListenAddress
config_line_tTransListenAddress
config_line_tNatdListenAddress
config_line_tDNSListenAddress
config_line_tORListenAddress
config_line_tDirListenAddress
config_line_tControlListenAddress
char * OutboundBindAddress
config_line_tRecommendedVersions
config_line_tRecommendedClientVersions
config_line_tRecommendedServerVersions
int DirAllowPrivateAddresses
char * User
char * Group
int ORPort
int SocksPort
int TransPort
int NatdPort
int ControlPort
config_line_tControlSocket
int DirPort
int DNSPort
int AssumeReachable
int AuthoritativeDir
int V1AuthoritativeDir
int V2AuthoritativeDir
int V3AuthoritativeDir
int HSAuthoritativeDir
int NamingAuthoritativeDir
int VersioningAuthoritativeDir
int BridgeAuthoritativeDir
char * BridgePassword
int UseBridges
config_line_tBridges
int BridgeRelay
int UpdateBridgesFromAuthority
int AvoidDiskWrites
int ClientOnly
int NoPublish
smartlist_tPublishServerDescriptor
authority_type_t _PublishServerDescriptor
int PublishHidServDescriptors
int FetchServerDescriptors
int FetchHidServDescriptors
int HidServDirectoryV2
int MinUptimeHidServDirectoryV2
int FetchUselessDescriptors
int AllDirActionsPrivate
int ConnLimit
int _ConnLimit
int RunAsDaemon
int FascistFirewall
smartlist_tFirewallPorts
config_line_tReachableAddresses
config_line_tReachableORAddresses
config_line_tReachableDirAddresses
int ConstrainedSockets
uint64_t ConstrainedSockSize
int RefuseUnknownExits
smartlist_tLongLivedPorts
smartlist_tRejectPlaintextPorts
smartlist_tWarnPlaintextPorts
smartlist_tTrackHostExits
int TrackHostExitsExpire
config_line_tAddressMap
int AutomapHostsOnResolve
smartlist_tAutomapHostsSuffixes
int RendPostPeriod
int KeepalivePeriod
int SocksTimeout
int CircuitBuildTimeout
int CircuitIdleTimeout
int CircuitStreamTimeout
int MaxOnionsPending
int NewCircuitPeriod
int MaxCircuitDirtiness
uint64_t BandwidthRate
uint64_t BandwidthBurst
uint64_t MaxAdvertisedBandwidth
uint64_t RelayBandwidthRate
uint64_t RelayBandwidthBurst
uint64_t PerConnBWRate
uint64_t PerConnBWBurst
int NumCpus
int RunTesting
config_line_tRendConfigLines
config_line_tHidServAuth
char * ContactInfo
char * HttpProxy
tor_addr_t HttpProxyAddr
uint16_t HttpProxyPort
char * HttpProxyAuthenticator
char * HttpsProxy
tor_addr_t HttpsProxyAddr
uint16_t HttpsProxyPort
char * HttpsProxyAuthenticator
char * Socks4Proxy
tor_addr_t Socks4ProxyAddr
uint16_t Socks4ProxyPort
char * Socks5Proxy
tor_addr_t Socks5ProxyAddr
uint16_t Socks5ProxyPort
char * Socks5ProxyUsername
char * Socks5ProxyPassword
config_line_tDirServers
config_line_tAlternateDirAuthority
config_line_tAlternateBridgeAuthority
config_line_tAlternateHSAuthority
char * MyFamily
config_line_tNodeFamilies
config_line_tAuthDirBadDir
config_line_tAuthDirBadExit
config_line_tAuthDirReject
config_line_tAuthDirInvalid
int AuthDirListBadDirs
int AuthDirListBadExits
int AuthDirRejectUnlisted
int AuthDirMaxServersPerAddr
int AuthDirMaxServersPerAuthAddr
char * AccountingStart
uint64_t AccountingMax
config_line_tHashedControlPassword
config_line_tHashedControlSessionPassword
int CookieAuthentication
char * CookieAuthFile
int CookieAuthFileGroupReadable
int LeaveStreamsUnattached
int DisablePredictedCircuits
int ShutdownWaitLength
char * SafeLogging
enum or_options_t:: { ... }  _SafeLogging
int SafeSocks
int ProtocolWarnings
int TestSocks
int HardwareAccel
char * AccelName
char * AccelDir
int UseEntryGuards
int NumEntryGuards
int RephistTrackTime
int FastFirstHopPK
int FetchDirInfoEarly
int FetchDirInfoExtraEarly
char * VirtualAddrNetwork
int ServerDNSSearchDomains
int ServerDNSDetectHijacking
int ServerDNSRandomizeCase
char * ServerDNSResolvConfFile
char * DirPortFrontPage
int ServerDNSAllowBrokenConfig
smartlist_tServerDNSTestAddresses
int EnforceDistinctSubnets
int TunnelDirConns
int PreferTunneledDirConns
int AllowNonRFC953Hostnames
int ServerDNSAllowNonRFC953Hostnames
int DownloadExtraInfo
int AllowSingleHopExits
int ExcludeSingleHopRelays
int AllowSingleHopCircuits
int AllowDotExit
int DirReqStatistics
int ExitPortStatistics
int CellStatistics
int EntryStatistics
int ExtraInfoStatistics
int ClientDNSRejectInternalAddresses
int V3AuthVotingInterval
int V3AuthVoteDelay
int V3AuthDistDelay
int V3AuthNIntervalsValid
int V3AuthUseLegacyKey
char * V3BandwidthsFile
char * ConsensusParams
int TestingV3AuthInitialVotingInterval
int TestingV3AuthInitialVoteDelay
int TestingV3AuthInitialDistDelay
int TestingAuthDirTimeToLearnReachability
int TestingEstimatedDescriptorPropagationTime
int TestingTorNetwork
char * FallbackNetworkstatusFile
int BridgeRecordUsageByCountry
char * GeoIPFile
int ReloadTorrcOnSIGHUP
double CircuitPriorityHalflife


Detailed Description

Configuration options for a Tor process.

Member Enumeration Documentation

anonymous enum

What should the tor process actually do?


Field Documentation

enum { ... } or_options_t::command

What should the tor process actually do?

Referenced by init_keys(), options_act(), options_act_reversible(), options_init_from_string(), and tor_cleanup().

Argument for command-line option.

Referenced by options_init_from_string().

New-style list of configuration lines for logs

Referenced by options_init_logs(), options_transition_affects_workers(), and options_validate().

Where to send verbose log messages.

Where to store PID of Tor process.

Referenced by options_act(), options_transition_allowed(), and tor_cleanup().

Structure containing nicknames, digests, country codes and IP address patterns of ORs to consider as exits.

Referenced by choose_good_exit_server_general(), options_act(), options_need_geoip_info(), and refresh_all_country_info().

Boolean: When none of our EntryNodes or ExitNodes are up, or we need to access a node in ExcludeNodes, do we just fail instead?

Referenced by choose_good_exit_server_general(), choose_random_entry(), connection_ap_can_use_exit(), options_act(), and options_validate().

Structure containing nicknames, digests, country codes and IP address patterns of ORs not to use in circuits. But see StrictNodes above.

Referenced by choose_good_exit_server(), choose_good_middle_server(), circuit_conforms_to_options(), entry_guard_set_status(), options_act(), options_need_geoip_info(), options_validate(), refresh_all_country_info(), and warn_if_last_router_excluded().

Structure containing nicknames, digests, country codes and IP address patterns of ORs not to consider as exits.

Referenced by circuit_conforms_to_options(), options_act(), options_need_geoip_info(), options_validate(), and refresh_all_country_info().

Boolean: Attempt to call mlockall() on our process for all current and future memory.

Referenced by options_act_reversible(), and options_transition_allowed().

List of "entry", "middle", "exit", "introduction", "rendezvous".

Bitmask; derived from AllowInvalidNodes.

Referenced by choose_good_exit_server(), choose_good_exit_server_general(), and choose_good_middle_server().

Should we not exit to local addresses?

Referenced by options_transition_affects_descriptor(), router_rebuild_descriptor(), and validate_addr_policies().

Lists of socks policy components

Referenced by policies_parse_from_options(), and validate_addr_policies().

Lists of dir policy components

Referenced by policies_parse_from_options(), and validate_addr_policies().

Addresses to bind for listening for SOCKS connections.

Referenced by options_validate(), proxy_mode(), and retry_all_listeners().

Addresses to bind for listening for transparent pf/netfilter connections.

Referenced by options_validate(), proxy_mode(), and retry_all_listeners().

Addresses to bind for listening for transparent natd connections

Referenced by options_validate(), proxy_mode(), and retry_all_listeners().

Addresses to bind for listening for SOCKS connections.

Referenced by options_validate(), proxy_mode(), and retry_all_listeners().

Addresses to bind for listening for OR connections.

Referenced by options_validate(), retry_all_listeners(), and server_mode().

Addresses to bind for listening for directory connections.

Referenced by options_validate(), and retry_all_listeners().

Addresses to bind for listening for control connections.

Referenced by options_validate(), and retry_all_listeners().

Local address to bind outbound sockets

Referenced by configure_nameservers(), and connection_connect().

Directory server only: which versions of Tor should we tell users to run?

Referenced by options_validate().

Whether dirservers refuse router descriptors with private IPs.

Name of user to run Tor as.

Referenced by options_act_reversible(), and options_transition_allowed().

Name of group to run Tor as.

Referenced by options_transition_allowed().

Port to listen on for SOCKS connections.

Referenced by options_validate(), proxy_mode(), and retry_all_listeners().

Port to listen on for transparent pf/netfilter connections.

Referenced by options_act_reversible(), options_validate(), proxy_mode(), and retry_all_listeners().

Port to listen on for transparent natd connections.

Referenced by options_validate(), proxy_mode(), and retry_all_listeners().

Port to listen on for control connections.

Referenced by options_validate(), and retry_all_listeners().

List of Unix Domain Sockets to listen on for control connections.

Referenced by options_act_reversible(), and retry_all_listeners().

Port to listen on for DNS requests.

Referenced by options_validate(), proxy_mode(), and retry_all_listeners().

Whether to publish our descriptor regardless.

Referenced by check_whether_dirport_reachable(), check_whether_orport_reachable(), and dirserv_set_router_is_running().

Boolean: is this an authoritative directory?

Referenced by authdir_mode(), and options_validate().

Boolean: is this an authoritative directory for version 1 directories?

Referenced by authdir_mode_any_main(), authdir_mode_v1(), init_keys(), and options_validate().

Boolean: is this an authoritative directory for version 2 directories?

Referenced by authdir_mode_any_main(), authdir_mode_v2(), init_keys(), and options_validate().

Boolean: is this an authoritative directory for version 3 directories?

Referenced by authdir_mode_any_main(), authdir_mode_v3(), init_keys(), options_act(), and options_validate().

Boolean: does this an authoritative directory handle hidden service requests?

Referenced by directory_handle_command_get(), directory_handle_command_post(), init_keys(), and options_validate().

Boolean: is this an authoritative directory that's willing to recommend versions?

Referenced by dirserv_generate_networkstatus_vote_obj(), generate_v2_networkstatus_opinion(), and options_validate().

If set on a bridge authority, it will answer requests on its dirport for bridge statuses -- but only if the requests use this password. If set on a bridge user, request bridge statuses, and use this password when doing so.

Referenced by directory_handle_command_get().

List of bootstrap bridge addresses.

Referenced by options_act().

Boolean: if we know the bridge's digest, should we get new descriptors from the bridge authorities or from the bridge itself?

Referenced by fetch_bridge_descriptors().

Boolean: should we never publish a descriptor? Deprecated.

Referenced by options_transition_affects_descriptor(), and options_validate().

To what authority types do we publish our descriptor? Choices are "v1", "v2", "v3", "bridge", or "".

Referenced by compute_publishserverdescriptor(), and options_validate().

Boolean: do we publish hidden service descriptors to the HS auths?

Do we fetch server descriptors as normal?

Referenced by directory_get_from_dirserver().

and hidden service descriptors? Do we participate in the HS DHT?

Referenced by directory_handle_command_get(), directory_handle_command_post(), and router_dump_router_to_string().

As directory authority, accept hidden service directories after what time?

Do we fetch non-running descriptors too?

Referenced by client_would_use_router(), and directory_too_idle_to_fetch_descriptors().

Should every directory action be sent through a Tor circuit?

Demanded minimum number of simultaneous connections.

Referenced by options_act_reversible(), and options_validate().

Maximum allowed number of simultaneous connections.

Referenced by options_act_reversible().

If true, run in the background. (Unix only)

Referenced by options_act(), options_act_reversible(), options_init_logs(), options_transition_allowed(), and options_validate().

Whether to prefer ORs reachable on open ports.

Referenced by options_validate().

Which ports our firewall allows (strings).

Referenced by options_validate().

IP:ports our firewall allows.

Referenced by options_validate(), parse_reachable_addresses(), and validate_addr_policies().

IP:ports for OR conns.

Referenced by options_validate(), parse_reachable_addresses(), and validate_addr_policies().

IP:ports for Dir conns.

Referenced by options_validate(), parse_reachable_addresses(), and validate_addr_policies().

Shrink xmit and recv socket buffers.

Referenced by connection_connect(), and connection_handle_listener_read().

Size of constrained buffers.

Referenced by connection_connect(), and connection_handle_listener_read().

Whether we should drop exit streams from Tors that we don't know are relays. XXX022 In here for 0.2.2.11 as a temporary test before we switch over to putting it in consensusparams. -RD

Referenced by directory_caches_dir_info(), and directory_fetches_from_authorities().

Application ports that require all nodes in circ to have sufficient uptime.

Referenced by circuit_all_predicted_ports_handled(), circuit_get_open_circ_or_launch(), and options_validate().

Application ports that are likely to be unencrypted and unauthenticated; we reject requests for them to prevent the user from screwing up and leaking plaintext secrets to an observer somewhere on the Internet.

Referenced by consider_plaintext_ports(), and options_validate().

Related to RejectPlaintextPorts above, except this config option controls whether we warn (in the log and via a controller status event) every time a risky connection is attempted.

Referenced by consider_plaintext_ports(), and options_validate().

Should we try to reuse the same exit node for a given host

Referenced by consider_recording_trackhost().

Number of seconds until we expire an addressmap

Referenced by consider_recording_trackhost().

List of address map directives.

Referenced by config_register_addressmaps().

If true, when we get a resolve request for a hostname ending with one of the suffixes in AutomapHostsSuffixes, map it to a virtual address.

Referenced by connection_ap_handshake_rewrite_and_attach().

List of suffixes for AutomapHostsOnResolve.

Referenced by connection_ap_handshake_rewrite_and_attach().

How often do we post each rendezvous service descriptor? Remember to publish them independently.

Referenced by rend_consider_services_upload(), and upload_service_descriptor().

How often do we send padding cells to keep connections alive?

Referenced by run_connection_housekeeping().

How long do we let a socks connection wait unattached before we fail it?

Referenced by connection_ap_expire_beginning(), and connection_ap_handshake_attach_circuit().

If non-zero, cull non-open circuits that were born at least this many seconds ago. If zero, use the internal adaptive algorithm.

Referenced by circuit_build_times_get_initial_timeout().

Cull open clean circuits that were born at least this many seconds ago.

Referenced by circuit_expire_old_circuits_clientside().

If non-zero, detach streams from circuits and try a new circuit if the stream has been waiting for this many seconds. If zero, use our default internal timeout schedule.

Referenced by compute_retry_timeout().

How many circuit CREATE requests do we allow to wait simultaneously before we start dropping them?

How long do we use a circuit before building a new one?

Referenced by circuit_build_needed_circs().

Never use circs that were first used more than this interval ago.

Referenced by circuit_expire_all_dirty_circs(), connection_ap_expire_beginning(), and connection_ap_process_end_not_open().

How much bandwidth, at maximum, are we willing to use in a second?

Referenced by connection_bucket_init(), connection_bucket_refill(), connection_or_init_conn_from_address(), and get_effective_bwburst().

How much bandwidth are we willing to tell people we have?

Referenced by get_effective_bwrate().

How much bandwidth, on average, are we willing to use for all relayed conns?

Referenced by connection_bucket_init(), connection_bucket_refill(), decide_to_advertise_dirport(), get_effective_bwrate(), global_write_bucket_low(), and rep_hist_fill_bandwidth_history().

How much bandwidth, at maximum, will we use in a second for all relayed conns?

Referenced by connection_bucket_init(), connection_bucket_refill(), and get_effective_bwburst().

Long-term bw on a single TLS conn, if set.

Referenced by connection_or_init_conn_from_address().

Allowed burst on a single TLS conn, if set.

Referenced by connection_or_init_conn_from_address().

How many CPUs should we try to use?

Referenced by options_transition_affects_workers(), and spawn_enough_cpuworkers().

If true, create testing circuits to measure how well the other ORs are running.

List of configuration lines for rendezvous services.

Referenced by options_validate(), and rend_config_services().

List of configuration lines for client-side authorizations for hidden services

Referenced by rend_parse_service_authorization().

hostname[:port] to use as http proxy, if any.

Referenced by directory_initiate_command_rend().

Parsed IPv4 addr for http proxy, if any.

Referenced by directory_initiate_command_rend().

Parsed port for http proxy, if any.

Referenced by directory_initiate_command_rend().

username:password string, if any.

Referenced by directory_send_command().

hostname[:port] to use as https proxy, if any.

Referenced by connection_about_to_close_connection(), and connection_or_connect().

Parsed addr for https proxy, if any.

Referenced by connection_or_connect().

Parsed port for https proxy, if any.

Referenced by connection_or_connect().

username:password string, if any.

Referenced by connection_proxy_connect().

hostname:port to use as a SOCKS4 proxy, if any.

Referenced by connection_or_connect(), and directory_initiate_command_rend().

Derived from Socks4Proxy.

Referenced by connection_or_connect().

Derived from Socks4Proxy.

Referenced by connection_or_connect().

hostname:port to use as a SOCKS5 proxy, if any.

Referenced by connection_or_connect(), and directory_initiate_command_rend().

Derived from Sock5Proxy.

Referenced by connection_or_connect().

Derived from Socks5Proxy.

Referenced by connection_or_connect().

Username for SOCKS5 authentication, if any

Referenced by connection_proxy_connect(), and connection_read_proxy_handshake().

Password for SOCKS5 authentication, if any

Referenced by connection_read_proxy_handshake().

List of configuration lines for replacement directory authorities. If you just want to replace one class of authority at a time, use the "Alternate*Authority" options below instead.

Referenced by consider_adding_dir_authorities(), resolve_my_address(), and validate_dir_authorities().

If set, use these main (currently v3) directory authorities and not the default ones.

Referenced by consider_adding_dir_authorities(), resolve_my_address(), and validate_dir_authorities().

If set, use these bridge authorities and not the default one.

Referenced by consider_adding_dir_authorities(), and validate_dir_authorities().

If set, use these HS authorities and not the default ones.

Referenced by consider_adding_dir_authorities(), and validate_dir_authorities().

Declared family for this OR.

Referenced by options_transition_affects_descriptor(), and router_rebuild_descriptor().

List of config lines for node families

Referenced by routers_in_same_family().

Address policy for descriptors to mark as bad dir mirrors.

Referenced by policies_parse_from_options(), and validate_addr_policies().

Address policy for descriptors to mark as bad exits.

Referenced by policies_parse_from_options(), and validate_addr_policies().

Address policy for descriptors to reject.

Referenced by policies_parse_from_options(), and validate_addr_policies().

Address policy for descriptors to never mark as valid.

Referenced by policies_parse_from_options(), and validate_addr_policies().

True iff we should list bad dirs, and vote for all other dir mirrors as good.

Referenced by dirserv_generate_networkstatus_vote_obj(), and generate_v2_networkstatus_opinion().

True iff we should list bad exits, and vote for all other exits as good.

Referenced by dirserv_generate_networkstatus_vote_obj(), and generate_v2_networkstatus_opinion().

Boolean: do we reject all routers that aren't named in our fingerprint file?

Referenced by dirserv_get_status_impl().

Do not permit more than this number of servers per IP address.

Referenced by get_possible_sybil_list().

Do not permit more than this number of servers per IP address shared with an authority.

Referenced by get_possible_sybil_list().

How long is the accounting interval, and when does it start?

Referenced by accounting_parse_options(), and options_transition_affects_descriptor().

How many bytes do we allow per accounting interval before hibernation? 0 for "never hibernate."

Referenced by accounting_is_enabled(), accounting_set_wakeup_time(), consider_hibernation(), getinfo_helper_accounting(), hibernate_hard_limit_reached(), options_transition_affects_descriptor(), and options_validate().

Base64-encoded hash of accepted passwords for the control system.

Referenced by handle_control_authenticate(), and handle_control_protocolinfo().

As HashedControlPassword, but not saved.

Referenced by handle_control_authenticate(), and handle_control_protocolinfo().

Boolean: do we enable cookie-based auth for the control system?

Referenced by handle_control_authenticate(), handle_control_protocolinfo(), and options_act().

Location of a cookie authentication file.

Referenced by get_cookie_file().

Boolean: Is the CookieAuthFile g+r?

Boolean: Does Tor attach new streams to circuits itself (0), or does it expect a controller to cope? (1)

Referenced by connection_ap_handshake_process_socks(), connection_ap_process_natd(), and connection_ap_process_transparent().

Boolean: does Tor preemptively make circuits in the background (0), or not (1)?

Referenced by circuit_build_needed_circs().

When we get a SIGINT and we're a server, how long do we wait before exiting?

Referenced by hibernate_begin().

Contains "relay", "1", "0" (meaning no scrubbing).

Referenced by options_transition_affects_workers().

Boolean: should we outright refuse application connections that use socks4 or socks5-with-local-dns?

Referenced by connection_ap_handshake_process_socks().

Boolean: when other parties screw up the Tor protocol, is it a warn or an info in our logs?

Boolean: when we get a socks connection, do we loudly log whether it was DNS-leaking or not?

Referenced by connection_ap_handshake_process_socks().

Boolean: Should we enable OpenSSL hardware acceleration where available?

Referenced by options_transition_allowed().

Optional hardware acceleration engine name.

Referenced by options_transition_allowed().

Optional hardware acceleration engine search dir.

Referenced by options_transition_allowed().

Boolean: Do we try to enter from a smallish number of fixed nodes?

Referenced by choose_good_entry_server(), options_act(), and options_validate().

How many entry guards do we try to establish?

Referenced by choose_random_entry(), control_event_guard_deferred(), and pick_entry_guards().

How many seconds do we keep rephist info?

Referenced by run_scheduled_events().

If Tor believes it is safe, should we save a third of our PK time by sending CREATE_FAST cells?

Referenced by should_use_create_fast_for_circuit().

Should we always fetch our dir info on the mirror schedule (which means directly from the authorities) no matter our other config?

Referenced by directory_fetches_from_authorities(), and options_validate().

Should we fetch our dir info at the start of the consensus period?

Referenced by options_validate(), and update_consensus_networkstatus_fetch_time().

Address and mask to hand out for virtual MAPADDRESS requests.

Referenced by options_act().

Boolean: If set, we don't force exit addresses to be FQDNs, but rather search for them in the local domains.

Referenced by launch_resolve(), and options_transition_affects_workers().

Boolean: If true, check for DNS failure hijacking.

Boolean: Use the 0x20-hack to prevent DNS poisoning attacks.

Referenced by configure_nameservers().

If provided, we configure our internal resolver from the file here rather than from /etc/resolv.conf (Unix) or the registry (Windows).

Referenced by configure_nameservers().

This is a full path to a file with an html disclaimer. This allows a server administrator to show that they're running Tor and anyone visiting their server will know this without any specialized knowledge.

Referenced by options_act().

Boolean: if set, we start even if our resolv.conf file is missing or broken.

A list of addresses that definitely should be resolvable. Used for testing our DNS server.

Referenced by add_wildcarded_test_address(), is_test_address(), and launch_test_addresses().

If true, don't allow multiple routers in the same network zone in the same circuit.

Referenced by routerlist_add_family(), and routers_in_same_family().

If true, use BEGIN_DIR rather than BEGIN when possible.

Referenced by directory_command_should_use_begindir(), and hid_serv_get_responsible_directories().

If true, avoid dirservers that don't support BEGIN_DIR, when possible.

If true, we allow connections to hostnames with weird characters.

If true, we try resolving hostnames with weird characters.

If true, we try to download extra-info documents (and we serve them, if we are a cache). For authorities, this is always true.

Referenced by directory_info_has_arrived(), options_validate(), router_dump_router_to_string(), and update_extrainfo_downloads().

If true, and we are acting as a relay, allow exit circuits even when we are the first hop of a circuit.

Referenced by router_dump_router_to_string().

If true, don't allow relays with AllowSingleHopExits=1 to be used in circuits that we build.

Referenced by choose_good_exit_server_general(), and router_choose_random_node().

If true, and the controller tells us to use a one-hop circuit, and the exit allows it, we use it.

If true, we convert "www.google.com.foo.exit" addresses on the socks/trans/natd ports into "www.google.com" addresses that exit from the node "foo". Disabled by default since attacking websites and exit relays can use it to manipulate your path selection.

If true, the user wants us to collect statistics on clients requesting network statuses from us as directory.

Referenced by extrainfo_dump_to_string(), geoip_note_client_seen(), options_act(), options_transition_allowed(), and run_scheduled_events().

If true, the user wants us to collect statistics on port usage.

Referenced by extrainfo_dump_to_string(), options_transition_allowed(), and run_scheduled_events().

If true, the user wants us to collect cell statistics.

Referenced by extrainfo_dump_to_string(), options_transition_allowed(), and run_scheduled_events().

If true, the user wants us to collect statistics as entry node.

Referenced by extrainfo_dump_to_string(), geoip_note_client_seen(), options_act(), options_transition_allowed(), and run_scheduled_events().

If true, include statistics file contents in extra-info documents.

Referenced by extrainfo_dump_to_string(), and router_rebuild_descriptor().

If true, do not believe anybody who tells us that a domain resolves to an internal address, or that an internal address has a PTR mapping. Helps avoid some cross-site attacks.

Referenced by connection_ap_process_end_not_open().

The length of time that we think a consensus should be fresh.

Referenced by dirvote_get_preferred_voting_intervals().

The length of time we think it will take to distribute votes.

Referenced by dirvote_get_preferred_voting_intervals().

The length of time we think it will take to distribute signatures.

Referenced by dirvote_get_preferred_voting_intervals().

The number of intervals we think a consensus should be valid.

Referenced by dirvote_get_preferred_voting_intervals().

Should advertise and sign consensuses with a legacy key, for key migration purposes?

Location of bandwidth measurement file

Referenced by options_validate().

Authority only: key=value pairs that we add to our networkstatus consensus vote on the 'params' line.

The length of time that we think an initial consensus should be fresh. Only altered on testing networks.

Referenced by dirvote_recalculate_timing().

The length of time we think it will take to distribute initial votes. Only altered on testing networks.

Referenced by dirvote_recalculate_timing().

The length of time we think it will take to distribute initial signatures. Only altered on testing networks.

Referenced by dirvote_recalculate_timing().

If an authority has been around for less than this amount of time, it does not believe its reachability information is accurate. Only altered on testing networks.

Clients don't download any descriptor this recent, since it will probably not have propagated to enough caches. Only altered on testing networks.

Referenced by client_would_use_router().

If true, we take part in a testing network. Change the defaults of a couple of other configuration options and allow to change the values of certain configuration options.

Referenced by options_init_from_string(), options_transition_allowed(), and options_validate().

File to check for a consensus networkstatus, if we don't have one cached.

If true, and we have GeoIP data, and we're a bridge, keep a per-country count of how many client addresses have contacted us so that we can help the bridge authority guess which countries have blocked access to us.

Referenced by geoip_note_client_seen(), options_need_geoip_info(), and should_record_bridge_info().

Optionally, a file with GeoIP data.

Referenced by options_act().

If true, SIGHUP should reload the torrc. Sometimes controllers want to make this false.

Referenced by do_hup().


The documentation for this struct was generated from the following file:

Generated on Tue May 25 00:31:16 2010 for tor by  doxygen 1.5.6