[tor-commits] [tor/master] directory-level documentation for feature/*

nickm at torproject.org nickm at torproject.org
Tue Nov 5 13:05:57 UTC 2019


commit a33d1dce8affdaef7d84a6cc2c23c3821192cb87
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Nov 4 17:07:38 2019 -0500

    directory-level documentation for feature/*
---
 src/feature/api/feature_api.dox             |  2 +-
 src/feature/client/feature_client.dox       |  5 ++++-
 src/feature/control/feature_control.dox     |  8 +++++++-
 src/feature/dirauth/feature_dirauth.dox     |  4 +++-
 src/feature/dircache/feature_dircache.dox   |  6 +++++-
 src/feature/dirclient/feature_dirclient.dox |  7 ++++++-
 src/feature/dircommon/feature_dircommon.dox |  7 ++++++-
 src/feature/dirparse/feature_dirparse.dox   |  8 +++++++-
 src/feature/hibernate/feature_hibernate.dox | 14 +++++++++++++-
 src/feature/hs/feature_hs.dox               |  3 ++-
 src/feature/hs_common/feature_hs_common.dox |  3 ++-
 src/feature/keymgt/feature_keymgt.dox       |  3 ++-
 src/feature/nodelist/feature_nodelist.dox   |  2 +-
 src/feature/relay/feature_relay.dox         |  4 +++-
 src/feature/rend/feature_rend.dox           |  3 ++-
 src/feature/stats/feature_stats.dox         | 10 +++++++++-
 16 files changed, 73 insertions(+), 16 deletions(-)

diff --git a/src/feature/api/feature_api.dox b/src/feature/api/feature_api.dox
index 524e3c68e..06112120c 100644
--- a/src/feature/api/feature_api.dox
+++ b/src/feature/api/feature_api.dox
@@ -1,4 +1,4 @@
 /**
 @dir /feature/api
- at brief feature/api
+ at 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 755777ec1..a8263b494 100644
--- a/src/feature/client/feature_client.dox
+++ b/src/feature/client/feature_client.dox
@@ -1,4 +1,7 @@
 /**
 @dir /feature/client
- at brief feature/client
+ at 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 44fda7989..a0bf9413a 100644
--- a/src/feature/control/feature_control.dox
+++ b/src/feature/control/feature_control.dox
@@ -1,4 +1,10 @@
 /**
 @dir /feature/control
- at brief feature/control
+ at 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 fa209dfb0..93c680e47 100644
--- a/src/feature/dirauth/feature_dirauth.dox
+++ b/src/feature/dirauth/feature_dirauth.dox
@@ -1,4 +1,6 @@
 /**
 @dir /feature/dirauth
- at brief feature/dirauth
+ at 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 4447d0cd2..ef8a51aa9 100644
--- a/src/feature/dircache/feature_dircache.dox
+++ b/src/feature/dircache/feature_dircache.dox
@@ -1,4 +1,8 @@
 /**
 @dir /feature/dircache
- at brief feature/dircache
+ at 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 65d3d26d0..0cbae6911 100644
--- a/src/feature/dirclient/feature_dirclient.dox
+++ b/src/feature/dirclient/feature_dirclient.dox
@@ -1,4 +1,9 @@
 /**
 @dir /feature/dirclient
- at brief feature/dirclient
+ at 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 f647b2928..2d9866da0 100644
--- a/src/feature/dircommon/feature_dircommon.dox
+++ b/src/feature/dircommon/feature_dircommon.dox
@@ -1,4 +1,9 @@
 /**
 @dir /feature/dircommon
- at brief feature/dircommon
+ at 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 934d8e424..4f2136b02 100644
--- a/src/feature/dirparse/feature_dirparse.dox
+++ b/src/feature/dirparse/feature_dirparse.dox
@@ -1,4 +1,10 @@
 /**
 @dir /feature/dirparse
- at brief feature/dirparse
+ at 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 55d89d1c2..eebb2d51a 100644
--- a/src/feature/hibernate/feature_hibernate.dox
+++ b/src/feature/hibernate/feature_hibernate.dox
@@ -1,4 +1,16 @@
 /**
 @dir /feature/hibernate
- at brief feature/hibernate
+ at 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 d93a8c274..35a574d01 100644
--- a/src/feature/hs/feature_hs.dox
+++ b/src/feature/hs/feature_hs.dox
@@ -1,4 +1,5 @@
 /**
 @dir /feature/hs
- at brief feature/hs
+ at 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 10bc9492c..85d758587 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
- at brief feature/hs_common
+ at 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 c59843c25..acc840eb2 100644
--- a/src/feature/keymgt/feature_keymgt.dox
+++ b/src/feature/keymgt/feature_keymgt.dox
@@ -1,4 +1,5 @@
 /**
 @dir /feature/keymgt
- at brief feature/keymgt
+ at 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 eecddcfb5..0b25dd246 100644
--- a/src/feature/nodelist/feature_nodelist.dox
+++ b/src/feature/nodelist/feature_nodelist.dox
@@ -1,4 +1,4 @@
 /**
 @dir /feature/nodelist
- at brief feature/nodelist
+ at 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 4652bacaf..686781825 100644
--- a/src/feature/relay/feature_relay.dox
+++ b/src/feature/relay/feature_relay.dox
@@ -1,4 +1,6 @@
 /**
 @dir /feature/relay
- at brief feature/relay
+ at 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 759d2155d..e92406804 100644
--- a/src/feature/rend/feature_rend.dox
+++ b/src/feature/rend/feature_rend.dox
@@ -1,4 +1,5 @@
 /**
 @dir /feature/rend
- at brief feature/rend
+ at 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 9b9ed87d1..0ced00ce5 100644
--- a/src/feature/stats/feature_stats.dox
+++ b/src/feature/stats/feature_stats.dox
@@ -1,4 +1,12 @@
 /**
 @dir /feature/stats
- at brief feature/stats
+ at 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.
+
 **/





More information about the tor-commits mailing list