summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-07-27 22:09:08 +0000
committerNick Mathewson <nickm@torproject.org>2007-07-27 22:09:08 +0000
commit51c734384a365c7d3111a310daf9425d6c5b0278 (patch)
treeedbe56abebd0d4257e63e6d63a86caada290c74d
parent0e5d8925d93eaa7d04f05a4c99505d9420279208 (diff)
downloadtor-51c734384a365c7d3111a310daf9425d6c5b0278.tar.gz
tor-51c734384a365c7d3111a310daf9425d6c5b0278.zip
r13948@catbus: nickm | 2007-07-27 18:09:02 -0400
Add to the TODO as starred items all the things we need to do in order to get authorities voting (not too robustly, bare-minimum). svn:r10950
-rw-r--r--doc/TODO28
1 files changed, 23 insertions, 5 deletions
diff --git a/doc/TODO b/doc/TODO
index 6cb75e67e9..a6a82f8ce4 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -78,26 +78,44 @@ Things we'd like to do in 0.2.0.x:
o Don't flip out with warnings when voting-related URLs are
uploaded/downloaded.
. Finalize proposal
- . Merge 101 and 103 and dir-spec.txt into a new dir-spec.txt; fork
+ o Merge 101 and 103 and dir-spec.txt into a new dir-spec.txt; fork
the existing one into dir-spec-v2.txt.
+ * Describe schedule in copious detail.
- Get authorities voting
- . Implement parsing for new document formats
+ o Implement parsing for new document formats
o Parse key certificates
o Parse votes and consensuses
- - Unit tests for above
+ o Unit tests for above
. Code to manage key certificates
o Generate certificates
o Authorities load certificates
o Clients cache certificates on disk
+ * Learn new ones when they show up in votes.
+ * Forget ones that are very old.
- Download as needed.
- - Serve list as needed.
+ * Serve list as needed.
+ * Detect whether votes are really all for the same period.
o Avoid double-checking signatures every time we get a vote.
- Warn about expired stuff.
+ - Fix all XXXX020s in vote code
+ * Unit tests for detached signatures and signature manipulation.
o Code to generate votes
o Code to generate consensus from a list of votes
- - Add a signature to a consensus.
+ o Add a signature to a consensus.
o Code to check signatures on a consensus
- Push/pull documents as appropriate.
+ . Push vote on voting
+ o Push vote
+ * Process vote when received
+ * Even if we get it before we start voting ourself.
+ * Push signature on forming consensus.
+ * Push signature
+ * Add signatures when received
+ * Queue received signatures before consensus is ready
+ - Pull votes and signatures if we don't get them.
+ * Serve and store consensuses.
+ - Cache votes and signatures on disk.
+ * Discard votes in advance of next voting period.
o Have clients know which authorities are v3 authorities, and what
their keys are.
- While we're at it, let v3 authorities have fqdns lines.