Currently, tor checks that extend cells have IPv4 addresses in:
[x] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] channel_get_for_extend() in channel.c
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[?] and possibly other functions.
We want to allow IPv6 in all these places.
And when we have an IPv4 and an IPv6 address, we want to choose between them at random.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
Add a bug fix for connection_or_check_canonicity().
Trac: Keywords: N/Adeleted, technical-debt-partial added Description: Currently, tor checks that extend cells have IPv4 addresses in:
some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
check_extend_cell() in onion.c
extend_cell_from_extend2_cell_body() in onion.c
(note that all relays that support IPv6 extends should be using extend2 cells, but we want to modify this code for consistency)
channel_get_for_extend(), where only channels with IPv4 addresses are searched,
and possibly other functions.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
any other relevant factors.
to
Currently, tor checks that extend cells have IPv4 addresses in:
some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
check_extend_cell() in onion.c
extend_cell_from_extend2_cell_body() in onion.c
(note that all relays that support IPv6 extends should be using extend2 cells, but we want to modify this code for consistency)
channel_get_for_extend(), where only channels with IPv4 addresses are searched,
and possibly other functions.
We also want to fix a missing IPv6 check in:
connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
Trac: Description: Currently, tor checks that extend cells have IPv4 addresses in:
some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
check_extend_cell() in onion.c
extend_cell_from_extend2_cell_body() in onion.c
(note that all relays that support IPv6 extends should be using extend2 cells, but we want to modify this code for consistency)
channel_get_for_extend(), where only channels with IPv4 addresses are searched,
and possibly other functions.
We also want to fix a missing IPv6 check in:
connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
any other relevant factors.
to
Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[ ] check_extend_cell() in onion.c
[ ] extend_cell_from_extend2_cell_body() in onion.c
(note that all relays that support IPv6 extends should be using extend2 cells, but we want to modify this code for consistency)
channel_get_for_extend(), where only channels with IPv4 addresses are searched,
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
Note that channel_get_for_extend() is fixed by the canonical fix.
Trac: Description: Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[ ] check_extend_cell() in onion.c
[ ] extend_cell_from_extend2_cell_body() in onion.c
(note that all relays that support IPv6 extends should be using extend2 cells, but we want to modify this code for consistency)
channel_get_for_extend(), where only channels with IPv4 addresses are searched,
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
any other relevant factors.
to
Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[ ] check_extend_cell() in onion.c
[ ] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
The canonical fix also fixes:
[x] channel_get_for_extend(), where only channels with IPv4 addresses are searched.
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
Currently, tor checks that extend cells have IPv4 addresses in:
...
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
Trac: Description: Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[ ] check_extend_cell() in onion.c
[ ] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
The canonical fix also fixes:
[x] channel_get_for_extend(), where only channels with IPv4 addresses are searched.
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
any other relevant factors.
to
Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
The canonical fix also fixes:
[x] channel_get_for_extend(), where only channels with IPv4 addresses are searched.
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
Move refactor and config checks to the options ticket #33818 (moved).
Trac: Description: Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
The canonical fix also fixes:
[x] channel_get_for_extend(), where only channels with IPv4 addresses are searched.
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
We want to perform all these checks in the same place, so we can modify tor's behaviour based on:
tor's configuration
including consensus parameters
the reachability of a relay's own IPv6 ORPort, and
any other relevant factors.
to
Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
The canonical fix also fixes:
[x] channel_get_for_extend(), where only channels with IPv4 addresses are searched.
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration. Summary: Perform all IPv4 and IPv6 extend checks in one place to Perform Basic Relay IPv6 Extends
Trac: Description: Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
The canonical fix also fixes:
[x] channel_get_for_extend(), where only channels with IPv4 addresses are searched.
Unlike the other changes, this change is a bug fix, and should not depend on the relay's configuration.
to
Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] channel_get_for_extend() in channel.c
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
Unlike the other changes, the connection_or_check_canonicity() change is a bug fix. Other code already considers IPv6 connections canonical.
Trac: Keywords: technical-debt-partial deleted, N/Aadded Actualpoints: N/Ato 3 Status: needs_revision to needs_review Description: Currently, tor checks that extend cells have IPv4 addresses in:
[ ] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] channel_get_for_extend() in channel.c
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[ ] and possibly other functions.
We also want to fix a missing IPv6 check in:
[x] connection_or_check_canonicity(), where only IPv4 addresses are considered canonical,
(note that channel_tls_process_netinfo_cell() already handles IPv6 canonicity correctly)
Unlike the other changes, the connection_or_check_canonicity() change is a bug fix. Other code already considers IPv6 connections canonical.
to
Currently, tor checks that extend cells have IPv4 addresses in:
[x] some functions in circuitbuild_relay.c (a new file introduced by #33633 (moved))
[x] channel_get_for_extend() in channel.c
[x] check_extend_cell() in onion.c
[x] extend_cell_from_extend2_cell_body() in onion.c
[?] and possibly other functions.
We want to allow IPv6 in all these places.
And when we have an IPv4 and an IPv6 address, we want to choose between them at random.