aboutsummaryrefslogtreecommitdiff
path: root/doc/tor-spec.txt
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/tor-spec.txt
parenta3bd8b5483bfb3813ba814c8d73840ca993e0298 (diff)
downloadtor-3d4ccb781ae5d74f0e16a63c89e08459d15cccf1.tar.gz
tor-3d4ccb781ae5d74f0e16a63c89e08459d15cccf1.zip
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/tor-spec.txt')
-rw-r--r--doc/tor-spec.txt13
1 files changed, 9 insertions, 4 deletions
diff --git a/doc/tor-spec.txt b/doc/tor-spec.txt
index 5f17e37968..5203ed7c12 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.