[tor-commits] [tor/master] Mark GETINFO network-status as deprecated with a warning

nickm at torproject.org nickm at torproject.org
Wed Mar 15 15:02:25 UTC 2017


commit 16b64fcfe178704ab09ba317f4c6e834f46b75e8
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Mar 10 12:05:50 2017 -0500

    Mark GETINFO network-status as deprecated with a warning
    
    control-spec has marked it deprecated for a long time.
    
    Closes ticket 21703.
---
 changes/bug21703 | 4 ++++
 src/or/control.c | 6 ++++++
 src/or/dirserv.c | 6 ++++++
 3 files changed, 16 insertions(+)

diff --git a/changes/bug21703 b/changes/bug21703
new file mode 100644
index 0000000..3034fc5
--- /dev/null
+++ b/changes/bug21703
@@ -0,0 +1,4 @@
+  o Minor features (controller):
+    - Warn the first time that a controller requests data in the
+      long-deprecated 'GETINFO network-status' format. Closes ticket 21703.
+
diff --git a/src/or/control.c b/src/or/control.c
index 8ab31f1..7b17f47 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -2047,6 +2047,12 @@ getinfo_helper_dir(control_connection_t *control_conn,
       }
     }
   } else if (!strcmp(question, "network-status")) { /* v1 */
+    static int network_status_warned = 0;
+    if (!network_status_warned) {
+      log_warn(LD_CONTROL, "GETINFO network-status is deprecated; it will "
+               "go away in a future version of Tor.");
+      network_status_warned = 1;
+    }
     routerlist_t *routerlist = router_get_routerlist();
     if (!routerlist || !routerlist->routers ||
         list_server_status_v1(routerlist->routers, answer, 1) < 0) {
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index f01668a..0b9504c 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -814,6 +814,9 @@ directory_remove_invalid(void)
  * Allocate and return a description of the status of the server <b>desc</b>,
  * for use in a v1-style router-status line.  The server is listed
  * as running iff <b>is_live</b> is true.
+ *
+ * This is deprecated: it's only used for controllers that want outputs in
+ * the old format.
  */
 static char *
 list_single_server_status(const routerinfo_t *desc, int is_live)
@@ -926,6 +929,9 @@ dirserv_set_router_is_running(routerinfo_t *router, time_t now)
  * *<b>router_status_out</b>.  Return 0 on success, -1 on failure.
  *
  * If for_controller is true, include the routers with very old descriptors.
+ *
+ * This is deprecated: it's only used for controllers that want outputs in
+ * the old format.
  */
 int
 list_server_status_v1(smartlist_t *routers, char **router_status_out,





More information about the tor-commits mailing list