From b2641920835b046ae820c608136dfbef1a557fb0 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 21 Apr 2010 21:35:18 -0400 Subject: [PATCH] finally get rid of "clique mode" --- changes/kill_clique_mode | 4 ++++ src/or/main.c | 12 ++++-------- src/or/or.h | 2 -- src/or/router.c | 24 ------------------------ 4 files changed, 8 insertions(+), 34 deletions(-) create mode 100644 changes/kill_clique_mode diff --git a/changes/kill_clique_mode b/changes/kill_clique_mode new file mode 100644 index 0000000000..82283a8ea7 --- /dev/null +++ b/changes/kill_clique_mode @@ -0,0 +1,4 @@ + o Minor features: + - Finally get rid of the deprecated and now harmful notion of + "clique mode", where directory authorities maintain TLS connections + to every other relay. diff --git a/src/or/main.c b/src/or/main.c index 04364bbe10..321fc5a16f 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -727,7 +727,6 @@ run_connection_housekeeping(int i, time_t now) /* If we haven't written to an OR connection for a while, then either nuke the connection or send a keepalive, depending. */ if (now >= conn->timestamp_lastwritten + options->KeepalivePeriod) { - routerinfo_t *router = router_get_by_digest(or_conn->identity_digest); int maxCircuitlessPeriod = options->MaxCircuitDirtiness*3/2; if (!connection_state_is_open(conn)) { /* We never managed to actually get this connection open and happy. */ @@ -743,14 +742,11 @@ run_connection_housekeeping(int i, time_t now) conn->s,conn->address, conn->port); connection_mark_for_close(conn); conn->hold_open_until_flushed = 1; - } else if (!clique_mode(options) && !or_conn->n_circuits && + } else if (!or_conn->n_circuits && now >= or_conn->timestamp_last_added_nonpadding + - maxCircuitlessPeriod && - (!router || !server_mode(options) || - !router_is_clique_mode(router))) { + maxCircuitlessPeriod) { log_info(LD_OR,"Expiring non-used OR connection to fd %d (%s:%d) " - "[Not in clique mode].", - conn->s,conn->address, conn->port); + "[idle].", conn->s,conn->address, conn->port); connection_mark_for_close(conn); conn->hold_open_until_flushed = 1; } else if ( @@ -1605,7 +1601,7 @@ dumpmemusage(int severity) tor_log_mallinfo(severity); } -/** Write all statistics to the log, with log level 'severity'. Called +/** Write all statistics to the log, with log level severity. Called * in response to a SIGUSR1. */ static void dumpstats(int severity) diff --git a/src/or/or.h b/src/or/or.h index 97f94d0178..a2a6d380d6 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -4229,13 +4229,11 @@ int authdir_mode_publishes_statuses(or_options_t *options); int authdir_mode_tests_reachability(or_options_t *options); int authdir_mode_bridge(or_options_t *options); -int clique_mode(or_options_t *options); int server_mode(or_options_t *options); int advertised_server_mode(void); int proxy_mode(or_options_t *options); void consider_publishable_server(int force); -int router_is_clique_mode(routerinfo_t *router); void router_upload_dir_desc_to_dirservers(int force); void mark_my_descriptor_dirty_if_older_than(time_t when); void mark_my_descriptor_dirty(void); diff --git a/src/or/router.c b/src/or/router.c index 6db9a7c0a8..8661e7a224 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -952,16 +952,6 @@ authdir_mode_bridge(or_options_t *options) { return authdir_mode(options) && options->BridgeAuthoritativeDir != 0; } -/** Return true iff we once tried to stay connected to all ORs at once. - * FFFF this function, and the notion of staying connected to ORs, is - * nearly obsolete. One day there will be a proposal for getting rid of - * it. - */ -int -clique_mode(or_options_t *options) -{ - return authdir_mode_tests_reachability(options); -} /** Return true iff we are trying to be a server. */ @@ -1056,20 +1046,6 @@ consider_publishable_server(int force) } /* - * Clique maintenance -- to be phased out. - */ - -/** Return true iff we believe this OR tries to keep connections open - * to all other ORs. */ -int -router_is_clique_mode(routerinfo_t *router) -{ - if (router_digest_is_trusted_dir(router->cache_info.identity_digest)) - return 1; - return 0; -} - -/* * OR descriptor generation. */ -- 2.11.4.GIT