]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Add PURPOSE= field to getinfo circuit-status. With luck, controllers are ignoring...
authorNick Mathewson <nickm@torproject.org>
Tue, 11 Nov 2008 15:59:24 +0000 (15:59 +0000)
committerNick Mathewson <nickm@torproject.org>
Tue, 11 Nov 2008 15:59:24 +0000 (15:59 +0000)
svn:r17245

ChangeLog
src/or/control.c

index 116ad1c7c162e6e9f508867fc8919a37652022d4..9556c678c3d897c7ad8a9e5f88dc26e534563467 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@ Changes in version 0.2.1.8-alpha - 2008-??-??
     - Get file locking working on win32.  Bugfix on 0.2.1.6-alpha.  Fixes
       bug 859.
 
+  o Minor features (controller):
+    - Return circuit purposes in response to GETINFO circuit-status.  Fixes
+      bug 858.
 
 Changes in version 0.2.1.7-alpha - 2008-11-08
   o Security fixes:
index 31468831a065c8af9053c828e5bf8a5e6b86f8cf..6ec244612adb64da0bb2a2e5bfc4b3774cbd9361 100644 (file)
@@ -1631,6 +1631,7 @@ getinfo_helper_events(control_connection_t *control_conn,
       char *s, *path;
       size_t slen;
       const char *state;
+      const char *purpose;
       if (! CIRCUIT_IS_ORIGIN(circ) || circ->marked_for_close)
         continue;
       if (control_conn->use_long_names)
@@ -1644,11 +1645,12 @@ getinfo_helper_events(control_connection_t *control_conn,
       else
         state = "LAUNCHED";
 
-      slen = strlen(path)+strlen(state)+20;
+      purpose = circuit_purpose_to_controller_string(circ->purpose);
+      slen = strlen(path)+strlen(state)+strlen(purpose)+30;
       s = tor_malloc(slen+1);
-      tor_snprintf(s, slen, "%lu %s%s%s",
+      tor_snprintf(s, slen, "%lu %s%s%s PURPOSE=%s",
                    (unsigned long)TO_ORIGIN_CIRCUIT(circ)->global_identifier,
-                   state, *path ? " " : "", path);
+                   state, *path ? " " : "", path, purpose);
       smartlist_add(status, s);
       tor_free(path);
     }