aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-05-03 16:22:31 -0400
committerNick Mathewson <nickm@torproject.org>2011-05-03 16:22:31 -0400
commit698fa0fc67118bea2ea7720455ebbdee705c8c1a (patch)
tree5de48e0bac3e0a4abc6e3098ad16d454cf98cb3e
parent033c27ac5ea02fa1a44651c5a324cb78e787f1a3 (diff)
downloadtor-698fa0fc67118bea2ea7720455ebbdee705c8c1a.tar
tor-698fa0fc67118bea2ea7720455ebbdee705c8c1a.tar.gz
Add missing code to set cache->journal_len when reading microdesc journal
This could be one reason that authorities' journals would grow without bound; related to bug 2230. Bugfix on 0.2.2.6-alpha. Fix by "cypherpunks".
-rw-r--r--changes/bug2230_part17
-rw-r--r--src/or/microdesc.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/changes/bug2230_part1 b/changes/bug2230_part1
new file mode 100644
index 000000000..79f725410
--- /dev/null
+++ b/changes/bug2230_part1
@@ -0,0 +1,7 @@
+ o Minor bugfixes
+ - When loading the microdesc journal, remember its current size.
+ In 0.2.2, this helps prevent the microdesc journal from growing
+ without limit on authorities (who are the only ones to use it in
+ 0.2.2). Fixes a part of bug 2230; bugfix on 0.2.2.6-alpha.
+ Fix posted by "cypherpunks."
+
diff --git a/src/or/microdesc.c b/src/or/microdesc.c
index 2c4b3435f..356627700 100644
--- a/src/or/microdesc.c
+++ b/src/or/microdesc.c
@@ -261,6 +261,7 @@ microdesc_cache_reload(microdesc_cache_t *cache)
journal_content = read_file_to_str(cache->journal_fname,
RFTS_IGNORE_MISSING, &st);
if (journal_content) {
+ cache->journal_len = (size_t) st.st_size;
added = microdescs_add_to_cache(cache, journal_content,
journal_content+st.st_size,
SAVED_IN_JOURNAL, 0);