mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
also don't hang up on him if we're an OR and he's an authdirserver
otherwise we keep getting taken out of the running-routers list svn:r2063
This commit is contained in:
parent
66fc6cf04a
commit
d5999a24af
@ -373,10 +373,11 @@ static void run_connection_housekeeping(int i, time_t now) {
|
||||
routerinfo_t *router = router_get_by_digest(conn->identity_digest);
|
||||
if((!connection_state_is_open(conn)) ||
|
||||
(!clique_mode() && !circuit_get_by_conn(conn) &&
|
||||
(!router || !server_mode() || strncmp(router->platform, "Tor 0.0.7", 9)))) {
|
||||
(!router || !server_mode() || !router_is_clique_mode(router)))) {
|
||||
/* our handshake has expired;
|
||||
* or we're not an authdirserver, we have no circuits, and
|
||||
* either he's an OP, we're an OP, or we're both ORs and he's running 0.0.8,
|
||||
* either he's an OP, we're an OP, or we're both ORs and he's
|
||||
* running 0.0.8 and he's not an authdirserver,
|
||||
* then kill it. */
|
||||
log_fn(LOG_INFO,"Expiring connection to %d (%s:%d).",
|
||||
i,conn->address, conn->port);
|
||||
|
@ -1345,6 +1345,7 @@ crypto_pk_env_t *init_key_from_file(const char *fname);
|
||||
void rotate_onion_key(void);
|
||||
|
||||
void router_retry_connections(void);
|
||||
int router_is_clique_mode(routerinfo_t *router);
|
||||
void router_upload_dir_desc_to_dirservers(void);
|
||||
int router_compare_to_my_exit_policy(connection_t *conn);
|
||||
routerinfo_t *router_get_my_routerinfo(void);
|
||||
|
@ -368,6 +368,14 @@ void router_retry_connections(void) {
|
||||
}
|
||||
}
|
||||
|
||||
int router_is_clique_mode(routerinfo_t *router) {
|
||||
if(router->is_trusted_dir)
|
||||
return 1;
|
||||
if(!strncmp(router->platform, "Tor 0.0.7", 9))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* OR descriptor generation.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user