Mark GETINFO network-status as deprecated with a warning

control-spec has marked it deprecated for a long time.

Closes ticket 21703.
This commit is contained in:
Nick Mathewson 2017-03-10 12:05:50 -05:00
parent 118d7018d0
commit 16b64fcfe1
3 changed files with 16 additions and 0 deletions

4
changes/bug21703 Normal file
View File

@ -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.

View File

@ -2047,6 +2047,12 @@ getinfo_helper_dir(control_connection_t *control_conn,
} }
} }
} else if (!strcmp(question, "network-status")) { /* v1 */ } 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(); routerlist_t *routerlist = router_get_routerlist();
if (!routerlist || !routerlist->routers || if (!routerlist || !routerlist->routers ||
list_server_status_v1(routerlist->routers, answer, 1) < 0) { list_server_status_v1(routerlist->routers, answer, 1) < 0) {

View File

@ -814,6 +814,9 @@ directory_remove_invalid(void)
* Allocate and return a description of the status of the server <b>desc</b>, * 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 * for use in a v1-style router-status line. The server is listed
* as running iff <b>is_live</b> is true. * 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 * static char *
list_single_server_status(const routerinfo_t *desc, int is_live) 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. * *<b>router_status_out</b>. Return 0 on success, -1 on failure.
* *
* If for_controller is true, include the routers with very old descriptors. * 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 int
list_server_status_v1(smartlist_t *routers, char **router_status_out, list_server_status_v1(smartlist_t *routers, char **router_status_out,