• David Goulet's avatar
    hs-v3: Make service pick the exact amount of intro points · 984a28f3
    David Goulet authored and Nick Mathewson's avatar Nick Mathewson committed
    When encoding introduction points, we were not checking if that intro points
    had an established circuit.
    When botting up, the service will pick, by default, 3 + 2 intro points and the
    first 3 that establish, we use them and upload the descriptor.
    However, the intro point is removed from the service descriptor list only when
    the circuit has opened and we see that we have already enough intro points, it
    is then removed.
    But it is possible that the service establishes 3 intro points successfully
    before the other(s) have even opened yet.
    This lead to the service encoding extra intro points in the descriptor even
    though the circuit is not opened or might never establish (#31561).
    Fixes #31548
    Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>