[tor-bugs] #27308 [Core Tor/Tor]: add completion milestones to bootstrap

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Dec 13 18:41:43 UTC 2018


#27308: add completion milestones to bootstrap
-------------------------------------------------+-------------------------
 Reporter:  catalyst                             |          Owner:
                                                 |  catalyst
     Type:  enhancement                          |         Status:
                                                 |  assigned
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.4.0.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  usability, ux, ux-team, bootstrap,   |  Actual Points:
  035-roadmap-subtask, 035-triaged-in-20180711,  |
  s8-bootstrap                                   |
Parent ID:  #28018                               |         Points:
 Reviewer:                                       |        Sponsor:
                                                 |  Sponsor8-can
-------------------------------------------------+-------------------------

Comment (by catalyst):

 rough notes -- phases marked with `*` are in some way implicit, probably
 in a way that gives a misleading idea of what's going on or what's gone
 wrong.

 {{{
 -1 undef

 -2 handshake
    this gets decoded to handshake_dir or handshake_or depending on
    whether we have a consensus yet. we should fix this, because it
    causes usability problems.

 00 starting

 05 conn_dir *
    circuit_handle_first_hop in circuitbuild.c, if it's about to launch
    a one-hop circuit

 10 handshake_dir *
    decoded in control_event_bootstrap from handshake -- implicit in
    that it doesn't correspond to the actual TCP connect

 15 onehop_create
    circuit_send_first_onion_skin in circuitbuild.c -- assumes
    directory lookups are the only reason to build one-hop circuits

 20 requesting_status *
    circuit_build_no_more_hops in circuitbuild.c
    -- this implicit and doesn't mean the request actually got sent; it
    just means the circuit is built. the begin_dir might not have been
    sent yet, etc.

 25 loading_status *
    connection_edge_process_relay_cell_not_open -- probably actually
    the completion of a begin_dir command

 40 loading_keys *
    connection_edge_process_relay_cell_not_open -- same as
    loading_status but infers from consensus_is_waiting_for_certs

 45 requesting_descriptors *
    update_router_have_minimum_dir_info in nodelist.c -- not the actual
    request but actually that we noticed that we need more descriptors

 50 loading_descriptors
    connection_edge_process_relay_cell_not_open in relay.c -- similar
    to loading_status and loading_keys

    load_downloaded_routers in dirclient.c -- if
    router_load_routers_from_string says it added new routers

    handle_response_fetch_certificate in dirclient.c --
    microdescs_add_to_cache says it added new ones

 80 conn_or *
    update_router_have_minimum_dir_info in nodelist.c -- basicallly
    once we have the minimum amount of directory info to build
    circuits, but it doesn't mean we've necessarily launched any yet

 85 handshake_or *
    decoded in control_event_bootstrap from handshake

 90 circuit_create
    circuit_send_first_onion_skin in circuitbuild.c, when it's building
    a circuit that's not one-hop

 100 done
    circuit_build_no_more_hops in circuitbuild.c

 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27308#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list