summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-10-18 19:32:49 -0400
committerNick Mathewson <nickm@torproject.org>2016-10-18 19:32:49 -0400
commit54fda6b98ad79d3c2ce50858cea2226675ebfd4c (patch)
tree49318c923c6c7d4f34f5536b7d8b32cfbe3ef2bd /src/or
parent439654012964fa8cd4e2dac926e2dddd45295c6b (diff)
downloadtor-54fda6b98ad79d3c2ce50858cea2226675ebfd4c.tar.gz
tor-54fda6b98ad79d3c2ce50858cea2226675ebfd4c.zip
Module-level docs for ext_orport and router.c
Diffstat (limited to 'src/or')
-rw-r--r--src/or/ext_orport.c12
-rw-r--r--src/or/router.c19
2 files changed, 28 insertions, 3 deletions
diff --git a/src/or/ext_orport.c b/src/or/ext_orport.c
index fb7add17d8..676adfd8bf 100644
--- a/src/or/ext_orport.c
+++ b/src/or/ext_orport.c
@@ -4,7 +4,17 @@
/**
* \file ext_orport.c
* \brief Code implementing the Extended ORPort.
-*/
+ *
+ * The Extended ORPort interface is used by pluggable transports to
+ * communicate additional information to a Tor bridge, including
+ * address information. For more information on this interface,
+ * see pt-spec.txt in torspec.git.
+ *
+ * There is no separate structure for extended ORPort connections; they use
+ * or_connection_t objects, and share most of their implementation with
+ * connection_or.c. Once the handshake is done, an extended ORPort connection
+ * turns into a regular OR connection, using connection_ext_or_transition().
+ */
#define EXT_ORPORT_PRIVATE
#include "or.h"
diff --git a/src/or/router.c b/src/or/router.c
index 1ac8351475..10498e8ae1 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -37,8 +37,23 @@
/**
* \file router.c
- * \brief OR functionality, including key maintenance, generating
- * and uploading server descriptors, retrying OR connections.
+ * \brief Miscellaneous relay functionality, including RSA key maintenance,
+ * generating and uploading server descriptors, picking an address to
+ * advertise, and so on.
+ *
+ * This module handles the job of deciding whether we are a Tor relay, and if
+ * so what kind. (Mostly through functions like server_mode() that inspect an
+ * or_options_t, but in some cases based on our own capabilities, such as when
+ * we are deciding whether to be a directory cache in
+ * router_has_bandwidth_to_be_dirserver().)
+ *
+ * Also in this module are the functions to generate our own routerinfo_t and
+ * extrainfo_t, and to encode those to signed strings for upload to the
+ * directory authorities.
+ *
+ * This module also handles key maintenance for RSA and Curve25519-ntor keys,
+ * and for our TLS context. (These functions should eventually move to
+ * routerkeys.c along with the code that handles Ed25519 keys now.)
**/
/************************************************************/