Skip to content
  • Roger Dingledine's avatar
    use consensus ip:port for dir auths if different · c56980f5
    Roger Dingledine authored
    Directory authorities and relays now interact properly with directory
    authorities if they change addresses. In the past, they would continue
    to upload votes, signatures, descriptors, etc to the hard-coded address
    in the configuration. Now, if the directory authority is listed in
    the consensus at a different address, they will direct queries to this
    new address.
    
    Specifically, these three activities have changed:
    
    * Posting a vote, a signature, or a relay descriptor to all the dir auths.
    
    * Dir auths fetching missing votes or signatures from all the dir auths.
    
    * Dir auths fetching new descriptors from a specific dir auth when they
    just learned about them from that dir auth's vote.
    
    We already do this desired behavior (prefer the address in the consensus,
    but fall back to the hard-coded dirservers info if needed) when fetching
    missing certs.
    
    There is a fifth case, in router_pick_trusteddirserver(), where clients
    and relays are trying to reach a random dir auth to fetch something. I
    left that case alone for now because the interaction with fallbackdirs
    is complicated.
    
    Implements ticket 40705.
    c56980f5