Tor codebase additional
Site
Contents:
Overview
Utility code in Tor
Memory management
Collections in tor
Time in tor
Lower-level cryptography functionality in Tor
OS compatibility functions
Threads in Tor
String processing in Tor
Data flow in the Tor process
Tor’s modules
This not that
Page
Welcome to Tor codebase’s documentation!
Overview »
Source
Welcome to Tor codebase’s documentation!
¶
Contents:
Overview
The very high level
Some key high-level abstractions
The rest of this document.
Utility code in Tor
Compatibility code
Containers
Cryptography
Memory management
Heap-allocation functions
Grow-only memory allocation: memarea.c
Collections in tor
Smartlists: Neither lists, nor especially smart.
Digest maps, string maps, and more.
Intrusive lists and hashtables
Time in tor
What time is it?
Cached views of time.
Parsing and encoding time values
Scheduling events
Lower-level cryptography functionality in Tor
RNG facilities
Cryptographic digests and related functions
Stream ciphers
Public key functionality
Metaformats for storage
Boxed-file storage
Certificates
TLS
OS compatibility functions
The filesystem
Networking
Process launch and monitoring
Threads in Tor
String processing in Tor
Comparing strings and memory chunks
Parsing text
Generating blocks of text
Logging helpers
Data flow in the Tor process
Connections and buffers: reading, writing, and interpreting.
From connections to channels
From channels through circuits
Sending cells on circuits: the complicated bit.
Tor’s modules
Generic modules
Node-status modules
Client modules
Server modules
Onion service modules
Authority modules
Miscellaneous modules
This not that