aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-12-09 18:16:41 +0000
committerNick Mathewson <nickm@torproject.org>2008-12-09 18:16:41 +0000
commit0280a72500dac8359ff6c20b4c5654684eeb5b64 (patch)
tree9961412eed14ebad28049725e378a534b23d528f
parentdf9257c6ffaa881a963e5f1ada8ca3e71df0f766 (diff)
downloadtor-0280a72500dac8359ff6c20b4c5654684eeb5b64.tar
tor-0280a72500dac8359ff6c20b4c5654684eeb5b64.tar.gz
Add a new status event for consensus arrival
svn:r17535
-rw-r--r--ChangeLog5
-rw-r--r--src/or/networkstatus.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f8d08c62a..63238d534 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Changes in version 0.2.1.9-alpha - 200?-??-??
+
+ o Minor features (controller):
+ - New CONSENSUS_ARRIVED event
+
Changes in version 0.2.1.8-alpha - 2008-12-08
o Major features:
- New DirPortFrontPage option that takes an html file and publishes
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index b1cd2eeab..8ed66f068 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -1359,6 +1359,11 @@ networkstatus_copy_old_consensus_info(networkstatus_t *new_c,
* <b>consensus</b>. If we don't have enough certificates to validate it,
* store it in consensus_waiting_for_certs and launch a certificate fetch.
*
+ * If flags & NSSET_FROM_CACHE, this networkstatus has come from the disk
+ * cache. If flags & NSSET_WAS_WAITING_FOR_CERTS, this networkstatus was
+ * already received, but we were waiting for certificates on it. If flags &
+ * NSSET_DONT_DOWNLOAD_CERTS, do not launch certificate downloads as needed.
+ *
* Return 0 on success, <0 on failure. On failure, caller should increment
* the failure count as appropriate.
*
@@ -1448,6 +1453,9 @@ networkstatus_set_current_consensus(const char *consensus, unsigned flags)
}
}
+ if (!from_cache)
+ control_event_client_status(LOG_NOTICE, "CONSENSUS_ARRIVED");
+
/* Are we missing any certificates at all? */
if (r != 1 && dl_certs)
authority_certs_fetch_missing(c, now);