[tor-commits] [torspec/master] Document (previously implemented) PURPOSE field of CIRC events

nickm at torproject.org nickm at torproject.org
Thu Dec 22 15:59:30 UTC 2011


commit fb26214fbe8f471cdf9e2d99cb231962a573d7f5
Author: Robert Ransom <rransom.8774 at gmail.com>
Date:   Thu Jun 16 00:29:31 2011 -0700

    Document (previously implemented) PURPOSE field of CIRC events
---
 control-spec.txt |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/control-spec.txt b/control-spec.txt
index 79c3aeb..c7086ed 100644
--- a/control-spec.txt
+++ b/control-spec.txt
@@ -1081,6 +1081,7 @@
    The syntax is:
 
      "650" SP "CIRC" SP CircuitID SP CircStatus [SP Path]
+          [SP "PURPOSE=" Purpose]
           [SP "REASON=" Reason [SP "REMOTE_REASON=" Reason]] CRLF
 
       CircStatus =
@@ -1094,7 +1095,11 @@
         ; In Tor versions 0.1.2.2-alpha through 0.2.2.1-alpha with feature
         ; VERBOSE_NAMES turned off and before version 0.1.2.2-alpha, Path
         ; is as follows:
-        Path = ServerID *("," ServerID)
+        ; Path = ServerID *("," ServerID)
+
+      Purpose = "GENERAL" / "HS_CLIENT_INTRO" / "HS_CLIENT_REND" /
+                "HS_SERVICE_INTRO" / "HS_SERVICE_REND" / "TESTING" /
+                "CONTROLLER"
 
       Reason = "NONE" / "TORPROTOCOL" / "INTERNAL" / "REQUESTED" /
                "HIBERNATING" / "RESOURCELIMIT" / "CONNECTFAILED" /
@@ -1105,6 +1110,19 @@
    The path is provided only when the circuit has been extended at least one
    hop.
 
+   The "PURPOSE" field is provided only in versions 0.2.1.6-alpha and
+   later, and only if extended events are enabled (see 3.19).  Clients
+   MUST accept purposes not listed above.  Purposes are defined as
+   follows:
+
+      GENERAL         (circuit for AP and/or directory request streams)
+      HS_CLIENT_INTRO (HS client-side introduction-point circuit)
+      HS_CLIENT_REND  (HS client-side rendezvous circuit; carries AP streams)
+      HS_SERVICE_INTRO (HS service-side introduction-point circuit)
+      HS_SERVICE_REND (HS service-side rendezvous circuit)
+      TESTING         (reachability-testing circuit; carries no traffic)
+      CONTROLLER      (circuit built by a controller)
+
    The "REASON" field is provided only for FAILED and CLOSED events, and only
    if extended events are enabled (see 3.19).  Clients MUST accept reasons
    not listed above.  Reasons are as given in tor-spec.txt, except for:





More information about the tor-commits mailing list