summaryrefslogtreecommitdiff
path: root/src/or/routerlist.c
diff options
context:
space:
mode:
authorFergus Dall <fergus@beware.dropbear.id.au>2016-01-13 06:49:56 +1030
committerFergus Dall <fergus@beware.dropbear.id.au>2016-01-13 06:57:24 +1030
commit91077d3aca2ea027816f4ea733bb8193dd60a2f2 (patch)
treed977d4bfbd51afe6b46e5e62c7ad553b67cdb1a2 /src/or/routerlist.c
parentd062baac86c824f8a3ddfead3a8c88b3f87068c1 (diff)
downloadtor-91077d3aca2ea027816f4ea733bb8193dd60a2f2.tar.gz
tor-91077d3aca2ea027816f4ea733bb8193dd60a2f2.zip
Update the limits in max_dl_per_request for IPv6 address length
Diffstat (limited to 'src/or/routerlist.c')
-rw-r--r--src/or/routerlist.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 853c07d58c..8edab2c634 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -4440,13 +4440,20 @@ static int
max_dl_per_request(const or_options_t *options, int purpose)
{
/* Since squid does not like URLs >= 4096 bytes we limit it to 96.
- * 4096 - strlen(http://255.255.255.255/tor/server/d/.z) == 4058
- * 4058/41 (40 for the hash and 1 for the + that separates them) => 98
+ * 4096 - strlen(http://ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
+ * /tor/server/d/.z) == 4034
+ * 4034/41 (40 for the hash and 1 for the + that separates them) => 98
* So use 96 because it's a nice number.
+ *
+ * For microdescriptors, the calculation is
+ * 4096 - strlen(http://ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
+ * /tor/micro/d/.z) == 4035
+ * 4035/44 (43 for the hash and 1 for the - that separates them) => 91
+ * So use 90 because it's a nice number.
*/
int max = 96;
if (purpose == DIR_PURPOSE_FETCH_MICRODESC) {
- max = 92;
+ max = 90;
}
/* If we're going to tunnel our connections, we can ask for a lot more
* in a request. */