diff --git a/src/feature/api/feature_api.dox b/src/feature/api/feature_api.dox index 524e3c68e30fe4b7c325cada177a16bd941312f7..06112120c39c9b7985323a438d1167d4d9692613 100644 --- a/src/feature/api/feature_api.dox +++ b/src/feature/api/feature_api.dox @@ -1,4 +1,4 @@ /** @dir /feature/api -@brief feature/api +@brief feature/api: In-process interface to starting/stopping Tor. **/ diff --git a/src/feature/client/feature_client.dox b/src/feature/client/feature_client.dox index 755777ec11f4f266118b1759d573f05793d3a637..a8263b494ca821842c165eb91ec2698bcf583bae 100644 --- a/src/feature/client/feature_client.dox +++ b/src/feature/client/feature_client.dox @@ -1,4 +1,7 @@ /** @dir /feature/client -@brief feature/client +@brief feature/client: Client-specific code + +(There is also a bunch of client-specific code in other modules.) + **/ diff --git a/src/feature/control/feature_control.dox b/src/feature/control/feature_control.dox index 44fda79895ed03aa7cd78333df18599c09223586..a0bf9413a170cd502222bf19800ad642d5843ad1 100644 --- a/src/feature/control/feature_control.dox +++ b/src/feature/control/feature_control.dox @@ -1,4 +1,10 @@ /** @dir /feature/control -@brief feature/control +@brief feature/control: Controller API. + +The Controller API is a text-based protocol that another program (or another +thread, if you're running Tor in-process) can use to configure and control +Tor while it is running. The current protocol is documented in +[control-spec.txt](https://gitweb.torproject.org/torspec.git/tree/control-spec.txt). + **/ diff --git a/src/feature/dirauth/feature_dirauth.dox b/src/feature/dirauth/feature_dirauth.dox index fa209dfb0546e44fd55248d5e7acf5324a912879..93c680e472bb16bed2775b2852fe155a416dbae5 100644 --- a/src/feature/dirauth/feature_dirauth.dox +++ b/src/feature/dirauth/feature_dirauth.dox @@ -1,4 +1,6 @@ /** @dir /feature/dirauth -@brief feature/dirauth +@brief feature/dirauth: Directory authority implementation. + +This module handles running Tor as a directory authority. **/ diff --git a/src/feature/dircache/feature_dircache.dox b/src/feature/dircache/feature_dircache.dox index 4447d0cd2e031201bc796fb895692186b90275ac..ef8a51aa9e9ddb1a6975d0e9b34c1c0b6d785585 100644 --- a/src/feature/dircache/feature_dircache.dox +++ b/src/feature/dircache/feature_dircache.dox @@ -1,4 +1,8 @@ /** @dir /feature/dircache -@brief feature/dircache +@brief feature/dircache: Run as a directory cache server + +This module handles the directory caching functionality that all relays may +provide, for serving cached directory objects to objects. + **/ diff --git a/src/feature/dirclient/feature_dirclient.dox b/src/feature/dirclient/feature_dirclient.dox index 65d3d26d0ffe41403ecc1480f0649e3fab6b7f10..0cbae691119c5d1cc02c7fbe4d9155809a715b2b 100644 --- a/src/feature/dirclient/feature_dirclient.dox +++ b/src/feature/dirclient/feature_dirclient.dox @@ -1,4 +1,9 @@ /** @dir /feature/dirclient -@brief feature/dirclient +@brief feature/dirclient: Directory client implementation. + +The code here is used by all Tor instances that need to download directory +information. Currently, that is all of them, since even authorities need to +launch downloads to learn about relays that other authorities have listed. + **/ diff --git a/src/feature/dircommon/feature_dircommon.dox b/src/feature/dircommon/feature_dircommon.dox index f647b292811abc48f8bf8a97be8d21ba56b6707b..2d9866da016f2636e9ca77ed19c39d9a0b10f7f3 100644 --- a/src/feature/dircommon/feature_dircommon.dox +++ b/src/feature/dircommon/feature_dircommon.dox @@ -1,4 +1,9 @@ /** @dir /feature/dircommon -@brief feature/dircommon +@brief feature/dircommon: Directory client and server shared code + +This module has the code that directory clients (anybody who download +information about relays) and directory servers (anybody who serves such +information) share in common. + **/ diff --git a/src/feature/dirparse/feature_dirparse.dox b/src/feature/dirparse/feature_dirparse.dox index 934d8e424bf09162320ccd52a4c917a4fe223718..4f2136b02b4343ab84a5c73972362f0fff32660f 100644 --- a/src/feature/dirparse/feature_dirparse.dox +++ b/src/feature/dirparse/feature_dirparse.dox @@ -1,4 +1,10 @@ /** @dir /feature/dirparse -@brief feature/dirparse +@brief feature/dirparse: Parsing Tor directory objects + +We define a number of "directory objects" in +[dir-spec.txt](https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt), +all of them using a common line-oriented meta-format. This module is used by +other parts of Tor to parse them. + **/ diff --git a/src/feature/hibernate/feature_hibernate.dox b/src/feature/hibernate/feature_hibernate.dox index 55d89d1c22c09d3eace627454cfafdc43454fded..eebb2d51a281ace8979dbf4cbc13bf86eb6a736c 100644 --- a/src/feature/hibernate/feature_hibernate.dox +++ b/src/feature/hibernate/feature_hibernate.dox @@ -1,4 +1,16 @@ /** @dir /feature/hibernate -@brief feature/hibernate +@brief feature/hibernate: Bandwidth accounting and hibernation (!) + +This module implements two features that are only somewhat related, and +should probably be separated in the future. One feature is bandwidth +accounting (making sure we use no more than so many gigabytes in a day) and +hibernation (avoiding network activity while we have used up all/most of our +configured gigabytes). The other feature is clean shutdown, where we stop +accepting new connections for a while and give the old ones time to close. + +The two features are related only in the sense that "soft hibernation" (being +almost out of ) is very close to the "shutting down" state. But it would be +better in the long run to make the two completely separate. + **/ diff --git a/src/feature/hs/feature_hs.dox b/src/feature/hs/feature_hs.dox index d93a8c274d639ee2f44ee09a17d14f76e0ad18c2..35a574d015a95698b5b7cfb33daac32d2acf6330 100644 --- a/src/feature/hs/feature_hs.dox +++ b/src/feature/hs/feature_hs.dox @@ -1,4 +1,5 @@ /** @dir /feature/hs -@brief feature/hs +@brief feature/hs: v3 (current) onion service protocol + **/ diff --git a/src/feature/hs_common/feature_hs_common.dox b/src/feature/hs_common/feature_hs_common.dox index 10bc9492c8c59a1ae87b74b008ab7b157ef76459..85d75858722f69a7edb11046f353b0076ae5c6e9 100644 --- a/src/feature/hs_common/feature_hs_common.dox +++ b/src/feature/hs_common/feature_hs_common.dox @@ -1,4 +1,5 @@ /** @dir /feature/hs_common -@brief feature/hs_common +@brief feature/hs_common: Common to v2 (old) and v3 (current) onion services + **/ diff --git a/src/feature/keymgt/feature_keymgt.dox b/src/feature/keymgt/feature_keymgt.dox index c59843c2505ebd37030f1e4b034bbb51529049cf..acc840eb2e58d0a4a37b140534b29023ce33df2b 100644 --- a/src/feature/keymgt/feature_keymgt.dox +++ b/src/feature/keymgt/feature_keymgt.dox @@ -1,4 +1,5 @@ /** @dir /feature/keymgt -@brief feature/keymgt +@brief feature/keymgt: Store keys for relays, authorities, etc. + **/ diff --git a/src/feature/nodelist/feature_nodelist.dox b/src/feature/nodelist/feature_nodelist.dox index eecddcfb5111acdfd583c26b2eff7679137fc1e8..0b25dd246d3233cad02e0010d0a9c77b6282bdc6 100644 --- a/src/feature/nodelist/feature_nodelist.dox +++ b/src/feature/nodelist/feature_nodelist.dox @@ -1,4 +1,4 @@ /** @dir /feature/nodelist -@brief feature/nodelist +@brief feature/nodelist: Download and manage a list of relays **/ diff --git a/src/feature/relay/feature_relay.dox b/src/feature/relay/feature_relay.dox index 4652bacaf56f95ab13591a3cbd82fe318bbbdf7b..6867818257e5cc5901d322fdcd6013c1d5b7ec56 100644 --- a/src/feature/relay/feature_relay.dox +++ b/src/feature/relay/feature_relay.dox @@ -1,4 +1,6 @@ /** @dir /feature/relay -@brief feature/relay +@brief feature/relay: Relay-specific code + +(There is also a bunch of relay-specific code in other modules.) **/ diff --git a/src/feature/rend/feature_rend.dox b/src/feature/rend/feature_rend.dox index 759d2155d3616504f8b1b4d94f2fa3d4dad2043b..e92406804d812a1f4644552260841bcbb134ad12 100644 --- a/src/feature/rend/feature_rend.dox +++ b/src/feature/rend/feature_rend.dox @@ -1,4 +1,5 @@ /** @dir /feature/rend -@brief feature/rend +@brief feature/rend: version 2 (old) hidden services + **/ diff --git a/src/feature/stats/feature_stats.dox b/src/feature/stats/feature_stats.dox index 9b9ed87d1ff5df5f55e479c3a26dfec9f41b3a56..0ced00ce58156ea3ad9c306123e2a46c4cc99ea1 100644 --- a/src/feature/stats/feature_stats.dox +++ b/src/feature/stats/feature_stats.dox @@ -1,4 +1,12 @@ /** @dir /feature/stats -@brief feature/stats +@brief feature/stats: Relay statistics. Also, port prediction. + +This module collects anonymized relay statistics in order to publish them in +relays' routerinfo and extrainfo documents. + +Additionally, it contains predict_ports.c, which remembers which ports we've +visited recently as a client, so we can make sure we have open circuits that +support them. + **/