mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Directory authorities shouldn't complain about bootstrapping
problems just because they do a lot of reachability testing and some of the connection attempts fail. svn:r15348
This commit is contained in:
parent
50d3adb819
commit
c6a94718cd
@ -26,6 +26,9 @@ Changes in version 0.2.1.2-alpha - 2008-??-??
|
|||||||
from cannibalized circuits are completely ignored and not included in
|
from cannibalized circuits are completely ignored and not included in
|
||||||
rendezvous service descriptors. This might be another reason for delay
|
rendezvous service descriptors. This might be another reason for delay
|
||||||
in making a hidden service available. Bugfix on 0.2.0.14-alpha.
|
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
|
Changes in version 0.2.1.1-alpha - 2008-06-13
|
||||||
|
8
doc/TODO
8
doc/TODO
@ -329,15 +329,15 @@ R - then document the bridge user download timeline.
|
|||||||
=======================================================================
|
=======================================================================
|
||||||
|
|
||||||
For 0.2.1.2-alpha:
|
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.
|
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".
|
so vidalia can say "recent activity (1-8 users) from sa".
|
||||||
R - investigate: it looks like if the bridge authority is unreachable,
|
R - investigate: it looks like if the bridge authority is unreachable,
|
||||||
we're not falling back on querying bridges directly?
|
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.
|
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
|
just because they do a lot of reachability testing and some of
|
||||||
it fails.
|
it fails.
|
||||||
R - if your bridge is unreachable, it won't generate enough connection
|
R - if your bridge is unreachable, it won't generate enough connection
|
||||||
|
@ -495,13 +495,15 @@ connection_about_to_close_connection(connection_t *conn)
|
|||||||
/* Remember why we're closing this connection. */
|
/* Remember why we're closing this connection. */
|
||||||
if (conn->state != OR_CONN_STATE_OPEN) {
|
if (conn->state != OR_CONN_STATE_OPEN) {
|
||||||
if (connection_or_nonopen_was_started_here(or_conn)) {
|
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);
|
rep_hist_note_connect_failed(or_conn->identity_digest, now);
|
||||||
entry_guard_register_connect_status(or_conn->identity_digest,0,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);
|
router_set_status(or_conn->identity_digest, 0);
|
||||||
if (conn->state == OR_CONN_STATE_CONNECTING) {
|
if (conn->state == OR_CONN_STATE_CONNECTING) {
|
||||||
control_event_or_conn_status(or_conn, OR_CONN_EVENT_FAILED,
|
control_event_or_conn_status(or_conn, OR_CONN_EVENT_FAILED,
|
||||||
errno_to_orconn_end_reason(or_conn->socket_error));
|
errno_to_orconn_end_reason(or_conn->socket_error));
|
||||||
|
if (!authdir_mode_tests_reachability(options))
|
||||||
control_event_bootstrap_problem(
|
control_event_bootstrap_problem(
|
||||||
tor_socket_strerror(or_conn->socket_error),
|
tor_socket_strerror(or_conn->socket_error),
|
||||||
errno_to_orconn_end_reason(or_conn->socket_error));
|
errno_to_orconn_end_reason(or_conn->socket_error));
|
||||||
@ -510,6 +512,7 @@ connection_about_to_close_connection(connection_t *conn)
|
|||||||
control_event_or_conn_status(or_conn, OR_CONN_EVENT_FAILED,
|
control_event_or_conn_status(or_conn, OR_CONN_EVENT_FAILED,
|
||||||
reason);
|
reason);
|
||||||
/* XXX021 come up with a better string for the first arg */
|
/* XXX021 come up with a better string for the first arg */
|
||||||
|
if (!authdir_mode_tests_reachability(options))
|
||||||
control_event_bootstrap_problem(
|
control_event_bootstrap_problem(
|
||||||
orconn_end_reason_to_control_string(reason), reason);
|
orconn_end_reason_to_control_string(reason), reason);
|
||||||
}
|
}
|
||||||
|
@ -548,6 +548,7 @@ connection_or_connect(uint32_t addr, uint16_t port, const char *id_digest)
|
|||||||
}
|
}
|
||||||
control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
|
control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
|
||||||
errno_to_orconn_end_reason(socket_error));
|
errno_to_orconn_end_reason(socket_error));
|
||||||
|
if (!authdir_mode_tests_reachability(options))
|
||||||
control_event_bootstrap_problem(tor_socket_strerror(socket_error),
|
control_event_bootstrap_problem(tor_socket_strerror(socket_error),
|
||||||
errno_to_orconn_end_reason(socket_error));
|
errno_to_orconn_end_reason(socket_error));
|
||||||
connection_free(TO_CONN(conn));
|
connection_free(TO_CONN(conn));
|
||||||
@ -799,6 +800,7 @@ connection_or_check_valid_tls_handshake(or_connection_t *conn,
|
|||||||
router_set_status(conn->identity_digest, 0);
|
router_set_status(conn->identity_digest, 0);
|
||||||
control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
|
control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
|
||||||
END_OR_CONN_REASON_OR_IDENTITY);
|
END_OR_CONN_REASON_OR_IDENTITY);
|
||||||
|
if (!authdir_mode_tests_reachability(options))
|
||||||
control_event_bootstrap_problem("foo", END_OR_CONN_REASON_OR_IDENTITY);
|
control_event_bootstrap_problem("foo", END_OR_CONN_REASON_OR_IDENTITY);
|
||||||
as_advertised = 0;
|
as_advertised = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user