diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-03-06 13:42:28 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-03-06 13:42:28 -0500 |
commit | 35fcec38809f9805326d8e2c81bad33d0ef000ae (patch) | |
tree | c84d4b3c3a4388b1fe715d5a43e586f15a1e14d1 /src | |
parent | ed14888e7e9ffb1877ddb7780b5033314d244fb3 (diff) | |
parent | 4fa70e11ed93e8f2d67dfab6f64080a0d017e2d9 (diff) | |
download | tor-35fcec38809f9805326d8e2c81bad33d0ef000ae.tar tor-35fcec38809f9805326d8e2c81bad33d0ef000ae.tar.gz |
Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2
Diffstat (limited to 'src')
-rw-r--r-- | src/or/dirserv.c | 2 | ||||
-rw-r--r-- | src/or/routerparse.c | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 876698a2d..3c15c59dc 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -2970,6 +2970,8 @@ dirserv_get_routerdesc_fingerprints(smartlist_t *fps_out, const char *key, SMARTLIST_FOREACH(rl->routers, routerinfo_t *, r, smartlist_add(fps_out, tor_memdup(r->cache_info.identity_digest, DIGEST_LEN))); + /* Treat "all" requests as if they were unencrypted */ + for_unencrypted_conn = 1; } else if (!strcmp(key, "authority")) { routerinfo_t *ri = router_get_my_routerinfo(); if (ri) diff --git a/src/or/routerparse.c b/src/or/routerparse.c index e034c6c9b..28ce97ebd 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -267,6 +267,8 @@ typedef struct token_rule_t { static token_rule_t routerdesc_token_table[] = { T0N("reject", K_REJECT, ARGS, NO_OBJ ), T0N("accept", K_ACCEPT, ARGS, NO_OBJ ), + T0N("reject6", K_REJECT6, ARGS, NO_OBJ ), + T0N("accept6", K_ACCEPT6, ARGS, NO_OBJ ), T1_START( "router", K_ROUTER, GE(5), NO_OBJ ), T1( "signing-key", K_SIGNING_KEY, NO_ARGS, NEED_KEY_1024 ), T1( "onion-key", K_ONION_KEY, NO_ARGS, NEED_KEY_1024 ), @@ -1503,6 +1505,12 @@ router_parse_entry_from_string(const char *s, const char *end, router->has_old_dnsworkers = 1; } + if (find_opt_by_keyword(tokens, K_REJECT6) || + find_opt_by_keyword(tokens, K_ACCEPT6)) { + log_warn(LD_DIR, "Rejecting router with reject6/accept6 line: they crash " + "older Tors."); + goto err; + } exit_policy_tokens = find_all_exitpolicy(tokens); if (!smartlist_len(exit_policy_tokens)) { log_warn(LD_DIR, "No exit policy tokens in descriptor."); |