diff options
-rw-r--r-- | changes/ticket27247 | 5 | ||||
-rw-r--r-- | src/feature/nodelist/networkstatus.c | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/changes/ticket27247 b/changes/ticket27247 new file mode 100644 index 0000000000..e980913d32 --- /dev/null +++ b/changes/ticket27247 @@ -0,0 +1,5 @@ + o Minor bugfixes (client, memory usage): + - When not running as a directory cache, there is no need to store the + text of the current consensus networkstatus in RAM. Previously, + however, clients would store this anyway, at a cost of over 5 MB. + Now, they do not. Fixes bug 27247; bugfix on 0.3.0.1-alpha. diff --git a/src/feature/nodelist/networkstatus.c b/src/feature/nodelist/networkstatus.c index 6492b828b1..4af2021663 100644 --- a/src/feature/nodelist/networkstatus.c +++ b/src/feature/nodelist/networkstatus.c @@ -2098,12 +2098,13 @@ networkstatus_set_current_consensus(const char *consensus, } if (we_want_to_fetch_flavor(options, flav)) { - dirserv_set_cached_consensus_networkstatus(consensus, - flavor, - &c->digests, - c->digest_sha3_as_signed, - c->valid_after); if (dir_server_mode(get_options())) { + dirserv_set_cached_consensus_networkstatus(consensus, + flavor, + &c->digests, + c->digest_sha3_as_signed, + c->valid_after); + consdiffmgr_add_consensus(consensus, c); } } |