From 16b64fcfe178704ab09ba317f4c6e834f46b75e8 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 10 Mar 2017 12:05:50 -0500 Subject: [PATCH] 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(+) create mode 100644 changes/bug21703 diff --git a/changes/bug21703 b/changes/bug21703 new file mode 100644 index 00000000000..3034fc5e4ba --- /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 8ab31f18f79..7b17f47ec2c 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 f01668adcbb..0b9504c27b0 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 desc, * for use in a v1-style router-status line. The server is listed * as running iff is_live 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) * *router_status_out. 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,