clean up hacking file, based on patch from tyranix

svn:r4237
This commit is contained in:
Roger Dingledine 2005-05-17 01:38:25 +00:00
parent 85de62e9b9
commit c5b986ec6c

View File

@ -34,16 +34,33 @@ the distant future, stuff may have changed.)
because many people are running older versions of OpenSSL without
AES support.)
compat.[ch] -- Wrappers to make calls more portable. This code defines
functions such as tor_malloc, tor_snprintf, get/set various data types,
renaming, setting socket options, switching user IDs. It is basically
where the non-portable items are conditionally included depending on
the platform.
container.[ch] -- Implements a smart list which is a resizable array along
with helper functions to use on these lists. Also includes a
splay-tree implementation of the string-to-void* map.
crypto.[ch] -- Wrapper functions to present a consistent interface to
public-key and symmetric cryptography operations from OpenSSL.
fakepoll.[ch] -- Used on systems that don't have a poll() system call;
reimplements() poll using the select() system call.
log.[ch] -- Tor's logging subsystem.
strlcat.c -- Safer, size-bounded string concatenation. Use this instead
of strncat because it has a safer API. Included for platforms that
that don't already ship this code.
strlcpy.c -- Safer, size-bounded string copying. Use this instead of
strncpy because it is a safer API which guarantees to NUL terminate.
Included for platforms that don't already ship this code.
test.h -- Macros used by unit tests.
torgzip.[ch] -- A simple in-memory gzip implementation.
torint.h -- Provides missing [u]int*_t types for environments that
don't have stdint.h.
@ -91,29 +108,70 @@ the distant future, stuff may have changed.)
dirserv.c -- Code to manage directory contents and generate
directories. [Directory server only]
routers.c -- Code to parse directories and router descriptors; and to
router.c -- Code to parse directories and router descriptors; and to
generate a router descriptor corresponding to this OR's
capabilities. Also presents some high-level interfaces for
managing an OR or OP's view of the directory.
[Circuit-related modules.]
circuit.c -- Code to create circuits, manage circuits, and route
relay cells along circuits.
circuitbuild.c -- Creates circuits.
circuitlist.c -- Manage the global circuit list.
circuituse.c -- Launch the right type of circuits and attach streams
to them.
onion.c -- Code to generate and respond to "onion skins".
relay.c -- Handle relay cell encryption/decryption along with packaging
and receiving from circuits.
[Core protocol implementation.]
command.c -- Code to handle specific cell types.
connection.c -- Code used in common by all connection types. See
1.2. below for more general information about connections.
connection_edge.c -- Code used only by edge connections.
command.c -- Code to handle specific cell types.
connection_or.c -- Code to implement cell-speaking connections.
[Hidden services]
rendclient.c -- Client code to access location-hidden services. This
allows clients and servers to run services and have people connect
without either end knowing who they are connecting to.
rendcommon.c -- Rendevzous implementation: Shared code between
introducers, services, clients, and rendezvous points.
rendmid.c -- Implement introduction and rendezvous points.
rendservice.c -- Hidden-service side of rendezvous functionality.
[Reputation]
rephist.c -- Basic history functionality for reputation module.
[Router lists]
routerlist.c -- Code to maintain and access global list of routerinfos for
known servers.
routerparse.c -- Code to parse and validate router descriptors and
directories.
[Bandwidth and GUI]
control.c -- Implementation of Tor's control socket interface. Useful
for designing GUIs to interact with Tor.
hibernate.c -- Functions to close listeners, stop allowing new circuits,
and so on in preparation of closing down or going dormant. Also used
to track bandwidth and time intervals to know when to hibernate.
[Toplevel modules.]
main.c -- Toplevel module. Initializes keys, handles signals,
@ -128,6 +186,7 @@ the distant future, stuff may have changed.)
test.c -- Contains unit tests for many pieces of the lower level Tor
modules.
1.2. All about connections
All sockets in Tor are handled as different types of nonblocking
@ -358,8 +417,8 @@ the distant future, stuff may have changed.)
2.1. Details
Use tor_malloc, tor_strdup, and tor_gettimeofday instead of their
generic equivalents. (They always succeed or exit.)
Use tor_malloc, tor_free, tor_snprintf, tor_strdup, and tor_gettimeofday
instead of their generic equivalents. (They always succeed or exit.)
Use INLINE instead of 'inline', so that we work properly on windows.
@ -456,7 +515,14 @@ the distant future, stuff may have changed.)
int b; /**< Or use the less-than symbol to put the comment after the element. */
};
5. See the Doxygen manual for more information; this summary just scratches
5. To generate documentation from the Tor source code, type:
$ doxygen -g
To generate a file called 'Doxyfile'. Edit that file and run 'doxygen' to
generate the aPI documentation.
6. See the Doxygen manual for more information; this summary just scratches
the surface.
3. References