state to start out in.
svn:r15326
proposal 138.
- In directory authorities' approved-routers files, allow
fingerprints with or without space.
+ - Add a "GETINFO /status/bootstrap-phase" controller option, so the
+ controller can query our current bootstrap state in case it attaches
+ partway through and wants to catch up.
+ - Send an initial "Starting" bootstrap status event, so we have a
+ state to start out in.
o Bugfixes:
- Asking for a conditional consensus at .../consensus/<fingerprints>
the same order. Some phases might also be skipped (not reported) if the
associated bootstrap step is already complete.
- Phase 0:
+ Phase 1:
tag=starting summary="starting"
- Tor starts out in this phase. It doesn't actually send a status event
- to say so.
+ Tor starts out in this phase.
Phase 5:
tag=conn_dir summary="Connecting to directory mirror"
stats_prev_global_read_bucket = global_read_bucket;
stats_prev_global_write_bucket = global_write_bucket;
+ /* initialize the bootstrap status events to know we're starting up */
+ control_event_bootstrap(BOOTSTRAP_STATUS_STARTING, 0);
+
if (trusted_dirs_reload_certs())
return -1;
if (router_reload_v2_networkstatus()) {
/** Enum describing various stages of bootstrapping, for use with controller
* bootstrap status events. The values range from 0 to 100. */
typedef enum {
- BOOTSTRAP_STATUS_STARTING=0,
+ BOOTSTRAP_STATUS_STARTING=1,
BOOTSTRAP_STATUS_CONN_DIR=5,
BOOTSTRAP_STATUS_HANDSHAKE=-1,
BOOTSTRAP_STATUS_HANDSHAKE_DIR=10,