aboutsummaryrefslogtreecommitdiff
path: root/src/or/directory.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-01-29 18:13:37 +0000
committerNick Mathewson <nickm@torproject.org>2007-01-29 18:13:37 +0000
commit42d03890b497a9b88601aa08f972c0f02664bf84 (patch)
tree3093bfa6b5d1453896b8dabfa20ec3a7bf496d1b /src/or/directory.c
parent21f5e0686201ec2a00a90b7a976b18ffd8436f7c (diff)
downloadtor-42d03890b497a9b88601aa08f972c0f02664bf84.tar.gz
tor-42d03890b497a9b88601aa08f972c0f02664bf84.zip
r11584@catbus: nickm | 2007-01-29 11:25:40 -0500
Fix/update some XXX012 points. svn:r9456
Diffstat (limited to 'src/or/directory.c')
-rw-r--r--src/or/directory.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/or/directory.c b/src/or/directory.c
index 76ae45696e..e5b136d28e 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -279,8 +279,14 @@ directory_conn_is_self_reachability_test(dir_connection_t *conn)
void
connection_dir_request_failed(dir_connection_t *conn)
{
- if (router_digest_is_me(conn->identity_digest))
+ if (directory_conn_is_self_reachability_test(conn)) {
+ routerinfo_t *me = router_get_my_routerinfo();
+ if (me)
+ control_event_server_status(LOG_WARN,
+ "REACHABILITY_FAILED DIRADDRESS=%s:%d",
+ me->address, me->dir_port);
return; /* this was a test fetch. don't retry. */
+ }
router_set_status(conn->identity_digest, 0); /* don't try him again */
if (conn->_base.purpose == DIR_PURPOSE_FETCH_DIR ||
conn->_base.purpose == DIR_PURPOSE_FETCH_RUNNING_LIST) {
@@ -288,16 +294,6 @@ connection_dir_request_failed(dir_connection_t *conn)
conn->_base.address, conn->_base.port);
directory_get_from_dirserver(conn->_base.purpose, NULL,
0 /* don't retry_if_no_servers */);
-
- if (directory_conn_is_self_reachability_test(conn)) {
- /* XXX012 look at the 'if' at the top of this function. this
- * code will never be reached. -RD */
- routerinfo_t *me = router_get_my_routerinfo();
- if (me)
- control_event_server_status(LOG_WARN,
- "REACHABILITY_FAILED DIRADDRESS=%s:%d",
- me->address, me->dir_port);
- }
} else if (conn->_base.purpose == DIR_PURPOSE_FETCH_NETWORKSTATUS) {
log_info(LD_DIR, "Giving up on directory server at '%s'; retrying",
conn->_base.address);
@@ -2048,7 +2044,9 @@ dir_routerdesc_download_failed(smartlist_t *failed, int status_code)
cp, (int)rs->n_download_failures);
});
- /* XXX012 why did this get commented out too? */
+ /* XXX012 why did this get commented out too? -RD */
+ /* Because we already call update_router_descriptor_downloads()
+ * every 10 seconds (DESCRIPTOR_RETRY_INTERVAL) in main.c -NM */
/* update_router_descriptor_downloads(time(NULL)); */
}