Opened 5 years ago

Closed 5 years ago

#14065 closed defect (fixed)

No vanilla IPv6 bridges found

Reported by: qwerty1 Owned by: isis
Priority: High Milestone:
Component: Circumvention/BridgeDB Version:
Severity: Keywords: bridgedb-https, bridgedb-dist, isis2015Q1, bridgedb-0.3.1
Cc: isis Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Some bridge operators are running plain IPv6 bridges, but BridgeDB doesn't find them.

Tested with https://bridges.torproject.org/bridges?transport=0&ipv6=yes and https://bridges.torproject.org/bridges?ipv6=yes.

Child Tickets

Change History (2)

comment:1 Changed 5 years ago by qwerty1

See also #9127

comment:2 Changed 5 years ago by isis

Cc: isis added
Keywords: bridgedb-https bridgedb-dist isis2015Q1 bridgedb-0.3.1 added
Priority: normalmajor
Resolution: fixed
Status: newclosed

There is a regression test for this, as well as a fix for the bug, in my fix/14065-vanilla-ipv6 branch.

The problem was that, when a client requests IPv6, they are assigned addressClass = ipaddr.IPv6Address (otherwise, addressClass = ipaddr.IPv4Address). Later, in bridgedb.bridgerequest.BridgeAddressBase.__init__(), that addressClass was checked to determine if it is an instance of either ipaddr.IPv4Address or ipaddr.IPv6Address — the problem here being that it isn't ever an instance, it is the class, so the check to see if it was an instance would fail, and it would get reassigned to the default addressClass = ipaddr.IPv4Address, causing IPv6 request to return IPv4 addresses.

Note: See TracTickets for help on using tickets.