summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2007-09-18 23:48:39 +0000
committerRoger Dingledine <arma@torproject.org>2007-09-18 23:48:39 +0000
commit2a2cee9e517986ac81b6e9d057be617a21ac7c2e (patch)
tree23f8461cff8e15afd197f2a4fcc716f0336180bd
parent82da6c02baa83e9e877657d51bfce8ffae3c6bf2 (diff)
downloadtor-2a2cee9e517986ac81b6e9d057be617a21ac7c2e.tar.gz
tor-2a2cee9e517986ac81b6e9d057be617a21ac7c2e.zip
Start using the v2 intro format for hidden service connections. Now
clients specify their chosen rendezvous point by identity digest rather than by (potentially ambiguous) nickname. This change could speed up hidden service connections dramatically. svn:r11499
-rw-r--r--ChangeLog4
-rw-r--r--doc/spec/rend-spec.txt7
-rw-r--r--src/or/rendcommon.c2
3 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d6cde8a10..5ee0658cda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -34,6 +34,10 @@ Changes in version 0.2.0.7-alpha - 2007-??-??
o Major bugfixes:
- Fix possible segfaults in functions called from
rend_process_relay_cell().
+ - Start using the v2 intro format for hidden service connections. Now
+ clients specify their chosen rendezvous point by identity digest
+ rather than by (potentially ambiguous) nickname. This change could
+ speed up hidden service connections dramatically.
o Minor bugfixes:
- When generating information telling us how to extend to a given
diff --git a/doc/spec/rend-spec.txt b/doc/spec/rend-spec.txt
index 2e92d4c64b..2fbb36a3aa 100644
--- a/doc/spec/rend-spec.txt
+++ b/doc/spec/rend-spec.txt
@@ -361,9 +361,10 @@ $Id$
20+42+16+20+20+128=246 bytes, and the version 1 and version 2
introduction formats have other sizes.
- As of Tor 0.2.0.6-alpha, clients only generate the v0 introduction
- format, whereas hidden services have understoodd and accepted v0,
- v1, and v2 since 0.1.1.x.
+ Through Tor 0.2.0.6-alpha, clients only generated the v0 introduction
+ format, whereas hidden services have understood and accepted v0,
+ v1, and v2 since 0.1.1.x. As of Tor 0.2.0.7-alpha, clients switched
+ to using the v2 intro format.
1.8.1. Other introduction formats we don't use.
diff --git a/src/or/rendcommon.c b/src/or/rendcommon.c
index cbd12e802c..e7b975a68b 100644
--- a/src/or/rendcommon.c
+++ b/src/or/rendcommon.c
@@ -109,7 +109,7 @@ rend_parse_service_descriptor(const char *str, size_t len)
if (end-cp < 4) goto truncated;
result->timestamp = (time_t) ntohl(get_uint32(cp));
cp += 4;
- result->protocols = 1;
+ result->protocols = 1<<2; /* always use intro format 2 */
if (end-cp < 2) goto truncated;
result->n_intro_points = ntohs(get_uint16(cp));
cp += 2;