]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Sprinkle some consts in networkstatus_getinfo_by_purpose()
authorteor <teor2345@gmail.com>
Sun, 15 Oct 2017 18:37:32 +0000 (14:37 -0400)
committerteor <teor2345@gmail.com>
Sat, 2 Dec 2017 10:21:41 +0000 (21:21 +1100)
And note where we change the running flag, but probably shouldn't.

Implements ticket 24489.

changes/bug24489 [new file with mode: 0644]
src/or/networkstatus.c

diff --git a/changes/bug24489 b/changes/bug24489
new file mode 100644 (file)
index 0000000..6864ba6
--- /dev/null
@@ -0,0 +1,3 @@
+  o Code simplification and refactoring (controller):
+    - Make most of the variables in networkstatus_getinfo_by_purpose() const.
+      Implements ticket 24489.
index 10d9b7542a46c37e270da7c225f86256f2c230c5..eeb72831c1a15910039bfceffa1b860a6ff820b3 100644 (file)
@@ -2222,13 +2222,13 @@ networkstatus_getinfo_helper_single(const routerstatus_t *rs)
 char *
 networkstatus_getinfo_by_purpose(const char *purpose_string, time_t now)
 {
-  time_t cutoff = now - ROUTER_MAX_AGE_TO_PUBLISH;
+  const time_t cutoff = now - ROUTER_MAX_AGE_TO_PUBLISH;
   char *answer;
   routerlist_t *rl = router_get_routerlist();
   smartlist_t *statuses;
-  uint8_t purpose = router_purpose_from_string(purpose_string);
+  const uint8_t purpose = router_purpose_from_string(purpose_string);
   routerstatus_t rs;
-  int bridge_auth = authdir_mode_bridge(get_options());
+  const int bridge_auth = authdir_mode_bridge(get_options());
 
   if (purpose == ROUTER_PURPOSE_UNKNOWN) {
     log_info(LD_DIR, "Unrecognized purpose '%s' when listing router statuses.",
@@ -2245,6 +2245,7 @@ networkstatus_getinfo_by_purpose(const char *purpose_string, time_t now)
       continue;
     if (ri->purpose != purpose)
       continue;
+    /* TODO: modifying the running flag in a getinfo is a bad idea */
     if (bridge_auth && ri->purpose == ROUTER_PURPOSE_BRIDGE)
       dirserv_set_router_is_running(ri, now);
     /* then generate and write out status lines for each of them */