Skip to content

Commit

Permalink
Mark GETINFO network-status as deprecated with a warning
Browse files Browse the repository at this point in the history
control-spec has marked it deprecated for a long time.

Closes ticket 21703.
  • Loading branch information
nmathewson committed Mar 10, 2017
1 parent 118d701 commit 16b64fc
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions changes/bug21703
Original file line number Diff line number Diff line change
@@ -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.

6 changes: 6 additions & 0 deletions src/or/control.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
6 changes: 6 additions & 0 deletions src/or/dirserv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit 16b64fc

Please sign in to comment.