[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r15348: Directory authorities shouldn't complain about bootstrapping (in tor/trunk: . doc src/or)
Author: arma
Date: 2008-06-18 03:34:04 -0400 (Wed, 18 Jun 2008)
New Revision: 15348
Modified:
tor/trunk/ChangeLog
tor/trunk/doc/TODO
tor/trunk/src/or/connection.c
tor/trunk/src/or/connection_or.c
Log:
Directory authorities shouldn't complain about bootstrapping
problems just because they do a lot of reachability testing and
some of the connection attempts fail.
Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog 2008-06-18 07:29:15 UTC (rev 15347)
+++ tor/trunk/ChangeLog 2008-06-18 07:34:04 UTC (rev 15348)
@@ -26,6 +26,9 @@
from cannibalized circuits are completely ignored and not included in
rendezvous service descriptors. This might be another reason for delay
in making a hidden service available. Bugfix on 0.2.0.14-alpha.
+ - Directory authorities shouldn't complain about bootstrapping
+ problems just because they do a lot of reachability testing and
+ some of the connection attempts fail.
Changes in version 0.2.1.1-alpha - 2008-06-13
Modified: tor/trunk/doc/TODO
===================================================================
--- tor/trunk/doc/TODO 2008-06-18 07:29:15 UTC (rev 15347)
+++ tor/trunk/doc/TODO 2008-06-18 07:34:04 UTC (rev 15348)
@@ -329,15 +329,15 @@
=======================================================================
For 0.2.1.2-alpha:
-R - bug: if we launch using bridges, and then stop using bridges, we
+R d bug: if we launch using bridges, and then stop using bridges, we
still have our bridges in our entryguards section, and may use them.
-R - add an event to report geoip summaries to vidalia for bridge relays,
+R d add an event to report geoip summaries to vidalia for bridge relays,
so vidalia can say "recent activity (1-8 users) from sa".
R - investigate: it looks like if the bridge authority is unreachable,
we're not falling back on querying bridges directly?
-R o a getinfo so vidalia can query our current bootstrap state, in
+ o a getinfo so vidalia can query our current bootstrap state, in
case it attaches partway through and wants to catch up.
-R - directory authorities shouldn't complain about bootstrapping problems
+ o directory authorities shouldn't complain about bootstrapping problems
just because they do a lot of reachability testing and some of
it fails.
R - if your bridge is unreachable, it won't generate enough connection
Modified: tor/trunk/src/or/connection.c
===================================================================
--- tor/trunk/src/or/connection.c 2008-06-18 07:29:15 UTC (rev 15347)
+++ tor/trunk/src/or/connection.c 2008-06-18 07:34:04 UTC (rev 15348)
@@ -495,23 +495,26 @@
/* Remember why we're closing this connection. */
if (conn->state != OR_CONN_STATE_OPEN) {
if (connection_or_nonopen_was_started_here(or_conn)) {
+ or_options_t *options = get_options();
rep_hist_note_connect_failed(or_conn->identity_digest, now);
entry_guard_register_connect_status(or_conn->identity_digest,0,now);
- if (!get_options()->HttpsProxy)
+ if (!options->HttpsProxy)
router_set_status(or_conn->identity_digest, 0);
if (conn->state == OR_CONN_STATE_CONNECTING) {
control_event_or_conn_status(or_conn, OR_CONN_EVENT_FAILED,
errno_to_orconn_end_reason(or_conn->socket_error));
- control_event_bootstrap_problem(
- tor_socket_strerror(or_conn->socket_error),
- errno_to_orconn_end_reason(or_conn->socket_error));
+ if (!authdir_mode_tests_reachability(options))
+ control_event_bootstrap_problem(
+ tor_socket_strerror(or_conn->socket_error),
+ errno_to_orconn_end_reason(or_conn->socket_error));
} else {
int reason = tls_error_to_orconn_end_reason(or_conn->tls_error);
control_event_or_conn_status(or_conn, OR_CONN_EVENT_FAILED,
reason);
/* XXX021 come up with a better string for the first arg */
- control_event_bootstrap_problem(
- orconn_end_reason_to_control_string(reason), reason);
+ if (!authdir_mode_tests_reachability(options))
+ control_event_bootstrap_problem(
+ orconn_end_reason_to_control_string(reason), reason);
}
}
/* Inform any pending (not attached) circs that they should
Modified: tor/trunk/src/or/connection_or.c
===================================================================
--- tor/trunk/src/or/connection_or.c 2008-06-18 07:29:15 UTC (rev 15347)
+++ tor/trunk/src/or/connection_or.c 2008-06-18 07:34:04 UTC (rev 15348)
@@ -548,8 +548,9 @@
}
control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
errno_to_orconn_end_reason(socket_error));
- control_event_bootstrap_problem(tor_socket_strerror(socket_error),
- errno_to_orconn_end_reason(socket_error));
+ if (!authdir_mode_tests_reachability(options))
+ control_event_bootstrap_problem(tor_socket_strerror(socket_error),
+ errno_to_orconn_end_reason(socket_error));
connection_free(TO_CONN(conn));
return NULL;
case 0:
@@ -799,7 +800,8 @@
router_set_status(conn->identity_digest, 0);
control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
END_OR_CONN_REASON_OR_IDENTITY);
- control_event_bootstrap_problem("foo", END_OR_CONN_REASON_OR_IDENTITY);
+ if (!authdir_mode_tests_reachability(options))
+ control_event_bootstrap_problem("foo", END_OR_CONN_REASON_OR_IDENTITY);
as_advertised = 0;
}
if (authdir_mode_tests_reachability(options)) {