Skip to content

tor-circmgr: Implement vanguard path selection in HsPathBuilder.

gabi-250 requested to merge gabi-250/arti:vanguard-api-changes into main

This is the first draft of the vanguards path selection implementation in HsPathBuilder (see VanguardHsPathBuilder).

To distinguish STUB circuits from STUB+ circuits, I've replaced ClientCirc with a new HsCircStub type throughout the hspool module. HsCircStub is a wrapper around a ClientCirc and HsCircStubKind, which specifies whether the circuit stub is a regular stub (STUB), or an extended stub (STUB+).

I've added TODO HS-VANGUARDS in all the places in tor-circmgr where the implementation is incomplete (or missing, even).

There is now a code smell around the AnonymousPathBuilder trait I added in !2038 (merged) (it's pointed out in a TODO HS-VANGUARDS in 5fb8979a). If everything else looks good, I can refactor that in a separate MR (after this one lands).

Closes #1276 (closed), #1274 (closed), #1279 (closed)

Merge request reports