Commit c6a94718 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

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
parent 50d3adb8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -26,6 +26,9 @@ Changes in version 0.2.1.2-alpha - 2008-??-??
      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
+4 −4
Original line number Diff line number Diff line
@@ -329,15 +329,15 @@ R - then document the bridge user download timeline.
=======================================================================

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
+9 −6
Original line number Diff line number Diff line
@@ -495,13 +495,15 @@ connection_about_to_close_connection(connection_t *conn)
      /* 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));
            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));
@@ -510,6 +512,7 @@ connection_about_to_close_connection(connection_t *conn)
            control_event_or_conn_status(or_conn, OR_CONN_EVENT_FAILED,
                                         reason);
            /* XXX021 come up with a better string for the first arg */
            if (!authdir_mode_tests_reachability(options))
              control_event_bootstrap_problem(
                orconn_end_reason_to_control_string(reason), reason);
          }
+5 −3
Original line number Diff line number Diff line
@@ -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,
                                   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));
@@ -799,6 +800,7 @@ connection_or_check_valid_tls_handshake(or_connection_t *conn,
      router_set_status(conn->identity_digest, 0);
      control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
              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;
    }