tor  master
or Directory Reference
Directory dependency graph for or:
/home/user/_my/code/bwauth-related/tor/src/or

Directories

Files

file  addressmap.c
 The addressmap module manages the processes by which we rewrite addresses in client requess. It handles the MapAddress controller and torrc commands, and the TrackHostExits feature, and the client-side DNS cache (deprecated).
 
file  bridges.c
 Code to manage bridges and bridge selection.
 
file  bridges.h [code]
 Header file for circuitbuild.c.
 
file  channel.c
 OR/OP-to-OR channel abstraction layer. A channel's job is to transfer cells from Tor instance to Tor instance. Currently, there is only one implementation of the channel abstraction: in channeltls.c.
 
file  channel.h [code]
 Header file for channel.c.
 
file  channeltls.c
 A concrete subclass of channel_t using or_connection_t to transfer cells between Tor instances.
 
file  channeltls.h [code]
 Header file for channeltls.c.
 
file  circpathbias.c
 Code to track success/failure rates of circuits built through different tor nodes, in an attempt to detect attacks where an attacker deliberately causes circuits to fail until the client choses a path they like.
 
file  circuitbuild.c
 Implements the details of building circuits (by chosing paths, constructing/sending create/extend cells, and so on).
 
file  circuitbuild.h [code]
 Header file for circuitbuild.c.
 
file  circuitlist.c
 Manage global structures that list and index circuits, and look up circuits within them.
 
file  circuitlist.h [code]
 Header file for circuitlist.c.
 
file  circuitmux.c
 Circuit mux/cell selection abstraction.
 
file  circuitmux.h [code]
 Header file for circuitmux.c.
 
file  circuitmux_ewma.c
 EWMA circuit selection as a circuitmux_t policy.
 
file  circuitmux_ewma.h [code]
 Header file for circuitmux_ewma.c.
 
file  circuitstats.c
 Maintains and analyzes statistics about circuit built times, so we can tell how long we may need to wait for a fast circuit to be constructed.
 
file  circuitstats.h [code]
 Header file for circuitstats.c.
 
file  circuituse.c
 Launch the right sort of circuits and attach the right streams to them.
 
file  circuituse.h [code]
 Header file for circuituse.c.
 
file  command.c
 Functions for processing incoming cells.
 
file  command.h [code]
 Header file for command.c.
 
file  config.c
 Code to interpret the user's configuration of Tor.
 
file  config.h [code]
 Header file for config.c.
 
file  confparse.c
 Back-end for parsing and generating key-value files, used to implement the torrc file format and the state file.
 
file  connection.c
 General high-level functions to handle reading and writing on connections.
 
file  connection.h [code]
 Header file for connection.c.
 
file  connection_edge.c
 Handle edge streams.
 
file  connection_edge.h [code]
 Header file for connection_edge.c.
 
file  connection_or.c
 Functions to handle OR connections, TLS handshaking, and cells on the network.
 
file  connection_or.h [code]
 Header file for connection_or.c.
 
file  consdiff.c
 Consensus diff implementation, including both the generation and the application of diffs in a minimal ed format.
 
file  control.c
 Implementation for Tor's control-socket interface.
 
file  control.h [code]
 Header file for control.c.
 
file  cpuworker.c
 Uses the workqueue/threadpool code to farm CPU-intensive activities out to subprocesses.
 
file  cpuworker.h [code]
 Header file for cpuworker.c.
 
file  directory.c
 Code to send and fetch information from directory authorities and caches via HTTP.
 
file  directory.h [code]
 Header file for directory.c.
 
file  dirserv.c
 Directory server core implementation. Manages directory contents and generates directories.
 
file  dirserv.h [code]
 Header file for dirserv.c.
 
file  dns.c
 Implements a local cache for DNS results for Tor servers. This is implemented as a wrapper around Adam Langley's eventdns.c code. (We can't just use gethostbyname() and friends because we really need to be nonblocking.)
 
file  dns.h [code]
 Header file for dns.c.
 
file  dns_structs.h [code]
 Structures used in dns.c. Exposed to dns.c, and to the unit tests that declare DNS_PRIVATE.
 
file  dnsserv.c
 Implements client-side DNS proxy server code.
 
file  dnsserv.h [code]
 Header file for dnsserv.c.
 
file  entrynodes.c
 Code to manage our fixed first nodes for various functions.
 
file  entrynodes.h [code]
 Header file for circuitbuild.c.
 
file  ext_orport.c
 Code implementing the Extended ORPort.
 
file  fp_pair.c
 Manages data structures for associating pairs of fingerprints. Used to handle combinations of identity/signing-key fingerprints for authorities.
 
file  fp_pair.h [code]
 Header file for fp_pair.c.
 
file  geoip.c
 Functions related to maintaining an IP-to-country database; to summarizing client connections by country to entry guards, bridges, and directory servers; and for statistics on answering network status requests.
 
file  geoip.h [code]
 Header file for geoip.c.
 
file  hibernate.c
 Functions to close listeners, stop allowing new circuits, etc in preparation for closing down or going dormant; and to track bandwidth and time intervals to know when to hibernate and when to stop hibernating.
 
file  hibernate.h [code]
 Header file for hibernate.c.
 
file  hs_cache.c
 Handle hidden service descriptor caches.
 
file  hs_cache.h [code]
 Header file for hs_cache.c.
 
file  hs_cell.c
 Hidden service API for cell creation and handling.
 
file  hs_cell.h [code]
 Header file containing cell data for the whole HS subsytem.
 
file  hs_circuit.c
 
file  hs_circuit.h [code]
 Header file containing circuit data for the whole HS subsytem.
 
file  hs_circuitmap.c
 Hidden service circuitmap: A hash table that maps binary tokens to introduction and rendezvous circuits; it's used: (a) by relays acting as intro points and rendezvous points (b) by hidden services to find intro and rend circuits and (c) by HS clients to find rendezvous circuits.
 
file  hs_circuitmap.h [code]
 Header file for hs_circuitmap.c.
 
file  hs_client.c
 Implement next generation hidden service client functionality.
 
file  hs_client.h [code]
 Header file containing client data for the HS subsytem.
 
file  hs_common.c
 Contains code shared between different HS protocol version as well as useful data structures and accessors used by other subsystems. The rendcommon.c should only contains code relating to the v2 protocol.
 
file  hs_common.h [code]
 Header file containing common data for the whole HS subsytem.
 
file  hs_config.c
 Implement hidden service configuration subsystem.
 
file  hs_config.h [code]
 Header file containing configuration ABI/API for the HS subsytem.
 
file  hs_control.c
 Contains control port event related code.
 
file  hs_control.h [code]
 Header file containing control port event related code.
 
file  hs_descriptor.c
 Handle hidden service descriptor encoding/decoding.
 
file  hs_descriptor.h [code]
 Header file for hs_descriptor.c.
 
file  hs_ident.c
 Contains circuit and connection identifier code for the whole HS subsytem.
 
file  hs_ident.h [code]
 Header file containing circuit and connection identifier data for the whole HS subsytem.
 
file  hs_intropoint.c
 Implement next generation introductions point functionality.
 
file  hs_intropoint.h [code]
 Header file for hs_intropoint.c.
 
file  hs_ntor.c
 Implements the ntor variant used in Tor hidden services.
 
file  hs_service.c
 Implement next generation hidden service functionality.
 
file  hs_service.h [code]
 Header file containing service data for the HS subsytem.
 
file  hs_stats.c
 Keeps stats about the activity of our onion service(s).
 
file  hs_stats.h [code]
 Header file for hs_stats.c.
 
file  keypin.c
 Functions and structures for associating routers' RSA key fingerprints with their ED25519 keys.
 
file  main.c
 Toplevel module. Handles signals, multiplexes between connections, implements main loop, and drives scheduled events.
 
file  main.h [code]
 Header file for main.c.
 
file  microdesc.c
 Implements microdescriptors – an abbreviated description of less-frequently-changing router information.
 
file  microdesc.h [code]
 Header file for microdesc.c.
 
file  networkstatus.c
 Functions and structures for handling networkstatus documents as a client or as a directory cache.
 
file  networkstatus.h [code]
 Header file for networkstatus.c.
 
file  nodelist.c
 Structures and functions for tracking what we know about the routers on the Tor network, and correlating information from networkstatus, routerinfo, and microdescs.
 
file  nodelist.h [code]
 Header file for nodelist.c.
 
file  ntmain.c
 Entry points for running/configuring Tor as a Windows Service.
 
file  ntmain.h [code]
 Header file for ntmain.c.
 
file  onion.c
 Functions to queue create cells, wrap the various onionskin types, and parse and create the CREATE cell and its allies.
 
file  onion.h [code]
 Header file for onion.c.
 
file  onion_fast.c
 Functions implement the CREATE_FAST circuit handshake.
 
file  onion_fast.h [code]
 Header file for onion_fast.c.
 
file  onion_ntor.c
 Implementation for the ntor handshake.
 
file  onion_tap.c
 Functions to implement the original Tor circuit extension handshake (a.k.a TAP).
 
file  onion_tap.h [code]
 Header file for onion_tap.c.
 
file  or.h [code]
 Master header file for Tor-specific functionality.
 
file  parsecommon.c
 Common code to parse and validate various type of descriptors.
 
file  parsecommon.h [code]
 Header file for parsecommon.c.
 
file  periodic.c
 Generic backend for handling periodic events.
 
file  policies.c
 Code to parse and use address policies and exit policies.
 
file  policies.h [code]
 Header file for policies.c.
 
file  protover.c
 Versioning information for different pieces of the Tor protocol.
 
file  protover.h [code]
 Headers and type declarations for protover.c.
 
file  reasons.c
 Convert circuit, stream, and orconn error reasons to and/or from strings and errno values.
 
file  reasons.h [code]
 Header file for reasons.c.
 
file  relay.c
 Handle relay cell encryption/decryption, plus packaging and receiving from circuits, plus queuing on circuits.
 
file  relay.h [code]
 Header file for relay.c.
 
file  rendcache.c
 Hidden service descriptor cache.
 
file  rendcache.h [code]
 Header file for rendcache.c.
 
file  rendclient.c
 Client code to access location-hidden services.
 
file  rendclient.h [code]
 Header file for rendclient.c.
 
file  rendcommon.c
 Rendezvous implementation: shared code between introducers, services, clients, and rendezvous points.
 
file  rendcommon.h [code]
 Header file for rendcommon.c.
 
file  rendmid.c
 Implement introductions points and rendezvous points.
 
file  rendmid.h [code]
 Header file for rendmid.c.
 
file  rendservice.c
 The hidden-service side of rendezvous functionality.
 
file  rendservice.h [code]
 Header file for rendservice.c.
 
file  rephist.c
 Basic history and performance-tracking functionality.
 
file  rephist.h [code]
 Header file for rephist.c.
 
file  replaycache.c
 Self-scrubbing replay cache for rendservice.c.
 
file  replaycache.h [code]
 Header file for replaycache.c.
 
file  router.c
 Miscellaneous relay functionality, including RSA key maintenance, generating and uploading server descriptors, picking an address to advertise, and so on.
 
file  router.h [code]
 Header file for router.c.
 
file  routerkeys.c
 Functions and structures to handle generating and maintaining the set of keypairs necessary to be an OR.
 
file  routerlist.c
 Code to maintain and access the global list of routerinfos for known servers.
 
file  routerlist.h [code]
 Header file for routerlist.c.
 
file  routerparse.c
 Code to parse and validate router descriptors, consenus directories, and similar objects.
 
file  routerparse.h [code]
 Header file for routerparse.c.
 
file  routerset.c
 Functions and structures to handle set-type selection of routers by name, ID, address, etc.
 
file  scheduler.c
 Channel scheduling system: decides which channels should send and receive when.
 
file  scheduler.h [code]
 Header file for scheduler*.c.
 
file  shared_random_client.c
 This file contains functions that are from the shared random subsystem but used by many part of tor. The full feature is built as part of the dirauth module.
 
file  shared_random_client.h [code]
 Header file for shared_random_client.c.
 
file  statefile.c
 Handles parsing and encoding the persistent 'state' file that carries miscellaneous persistent state between Tor invocations.
 
file  status.c
 Collect status information and log heartbeat messages.
 
file  tor_api.c
 
file  tor_api.h [code]
 Public C API for the Tor network service.
 
file  tor_main.c
 Stub module containing a main() function.
 
file  torcert.c
 Implementation for ed25519-signed certificates as used in the Tor protocol.
 
file  transports.c
 Pluggable Transports related code.
 
file  transports.h [code]
 Headers for transports.c.
 
file  voting_schedule.c
 This file contains functions that are from the directory authority subsystem related to voting specifically but used by many part of tor. The full feature is built as part of the dirauth module.
 
file  voting_schedule.h [code]
 Header file for voting_schedule.c.