aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2003-09-25 05:17:11 +0000
committerNick Mathewson <nickm@torproject.org>2003-09-25 05:17:11 +0000
commit3d4ccb781ae5d74f0e16a63c89e08459d15cccf1 (patch)
tree3e9f214701c4a09bc45b453374bd6806f253a1a4 /doc
parenta3bd8b5483bfb3813ba814c8d73840ca993e0298 (diff)
downloadtor-3d4ccb781ae5d74f0e16a63c89e08459d15cccf1.tar
tor-3d4ccb781ae5d74f0e16a63c89e08459d15cccf1.tar.gz
Refactor buffers; implement descriptors.
'buf_t' is now an opaque type defined in buffers.c . Router descriptors now include all keys; routers generate keys as needed on startup (in a newly defined "data directory"), and generate their own descriptors. Descriptors are now self-signed. Implementation is not complete: descriptors are never published; and upon receiving a descriptor, the directory doesn't do anything with it. At least "routers.or" and orkeygen are now obsolete, BTW. svn:r483
Diffstat (limited to 'doc')
-rw-r--r--doc/TODO2
-rw-r--r--doc/tor-spec.txt13
2 files changed, 10 insertions, 5 deletions
diff --git a/doc/TODO b/doc/TODO
index 4896679d9..50b1dc884 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -48,7 +48,7 @@ NICK - instruments ORs to report stats
. integrate rep_ok functions, see what breaks
ARMA - configure log files. separate log file, separate severities.
ARMA - what assumptions break if we fclose(0) when we daemonize?
-NICK - make buffer struct elements opaque outside buffers.c
+NICK o make buffer struct elements opaque outside buffers.c
ARMA - Go through log messages, reduce confusing error messages.
ARMA - make the logs include more info (fd, etc)
ARMA - add log convention to the HACKING file
diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt
index 5f17e3796..5203ed7c1 100644
--- a/doc/tor-spec.txt
+++ b/doc/tor-spec.txt
@@ -439,12 +439,16 @@ which reveals the downstream node.
(Unless otherwise noted, tokens on the same line are space-separated.)
-Router ::= Router-Line Public-Key Signing-Key? Exit-Policy NL
+Router ::= Router-Line Onion-Key Link-Key Signing-Key Exit-Policy Router-Signature NL
Router-Line ::= "router" address ORPort APPort DirPort bandwidth NL
-Public-key ::= a public key in PEM format NL
-Signing-Key ::= "signing-key" NL signing key in PEM format NL
+Onion-key ::= "onion-key" NL a public key in PEM format NL
+Link-key ::= "link-key" NL a public key in PEM format NL
+Signing-Key ::= "signing-key" NL a public key in PEM format NL
Exit-Policy ::= Exit-Line*
Exit-Line ::= ("accept"|"reject") string NL
+Router-Signature ::= "router-signature" NL Signature
+Signature ::= "-----BEGIN SIGNATURE-----" NL
+ Base-64-encoded-signature NL "-----END SIGNATURE-----" NL
ORport ::= port where the router listens for routers/proxies (speaking cells)
APPort ::= where the router listens for applications (speaking socks)
@@ -475,7 +479,8 @@ Directory ::= Directory-Header Directory-Router Router* Signature
Directory-Header ::= "signed-directory" NL Software-Line NL
Software-Line: "recommended-software" comma-separated-version-list
Directory-Router ::= Router
-Signature ::= "directory-signature" NL "-----BEGIN SIGNATURE-----" NL
+Directory-Signature ::= "directory-signature" NL Signature
+Signature ::= "-----BEGIN SIGNATURE-----" NL
Base-64-encoded-signature NL "-----END SIGNATURE-----" NL
Note: The router block for the directory server must appear first.