Skip to content
  • Philipp Winter's avatar
    Add version filters for IPv6 vanilla bridges. · 594589ec
    Philipp Winter authored
    So far, BridgeDB's distribution of vanilla IPv6 bridges was broken.
    When a user would request one, BridgeDB would use the following two
    filters to select bridges:
    * byTransportNotBlockedIn(None,us,6)
    * byProbingResistance(vanilla,6)
    
    Neither filter (correctly) filtered for IPv6.  It is not enough to check
    bridge.address because it's the bridge's IPv4 address.  We need to check
    bridge.allVanillaAddresses because a bridge's IPv6 address is advertised
    in its "a" consensus line.
    
    Note that this patch only fixes IPv6 distribution for *vanilla* bridges.
    Pluggable transports bridges are currently unable to have dual-stack
    support for both IPv4 and IPv6.  See the following ticket for more
    details: <https://bugs.torproject.org/11211>
    
    This fixes <https://bugs.torproject.org/26542>.
    594589ec