Right now the first stages of the "first" OR_CONN get reported as BOOTSTRAP_STATUS_CONN_DIR and BOOTSTRAP_STATUS_HANDSHAKE (the latter is a special bootstrap phase that gets translated into BOOTSTRAP_STATUS_HANDSHAKE_DIR or BOOTSTRAP_STATUS_HANDSHAKE_OR depending on how much progress was previously reported. The logic in functions that report these events should be moved up to a new abstraction so lower level code has to track less high-level state.
This also eliminates some logic in control_event_bootstrap() that tries to figure out whether a given handshake attempt corresponds to a directory connection or an application circuit connection.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
Deferring several items from 0.3.5. I think these are features, not bugfixes, and therefore no longer great for 0.3.5. Please let me know if I'm wrong.
This is looking solid; I don't have any must-change items. I have left a couple of questions on the PR, to make sure I understand what's going on.
One more general question: Do you think that eventually all calls to control_event_bootstrap() should come from the btrack subsystem, or do you think that the ones that remain outside it are unproblematic?
Two requests:
Could you please open a ticket to deal with the PT issue?
When I merge this later today, could you please close the tickets that are fixed by it?
This is looking solid; I don't have any must-change items. I have left a couple of questions on the PR, to make sure I understand what's going on.
Thanks! I've pushed a fixup commit to add the requested comment, and I'll start working on the control-spec.txt changes.
One more general question: Do you think that eventually all calls to control_event_bootstrap() should come from the btrack subsystem, or do you think that the ones that remain outside it are unproblematic?
I think eventually all calls to control_event_bootstrap() should come from the btrack subsystem. The directory progress reporting in particular could benefit a lot from that. Also that way we can add GETINFO handlers to the btrack subsystem to allow applications to query detailed bootstrap state information.
Two requests:
Could you please open a ticket to deal with the PT issue?
Done: #28925 (moved)
When I merge this later today, could you please close the tickets that are fixed by it?
Will do.