aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-07relay: Rewrite inform_testing_reachability()teor
Rewrite inform_testing_reachability() to use separate buffers for IPv4 ORPort, IPv6 ORPort, and IPv4 DirPort. And use consistent APIs to fill those buffers. Part of 33222.
2020-05-07relay: Clarify a comment in selftest.cteor
2020-05-07Define and use TOR_ADDRPORT_BUF_LENNeel Chauhan
2020-05-07routerinfo: Make router_get_orport() return an error statusteor
Part of 33222.
2020-05-07Appease practracker: wrapping costs linesteor
2020-05-07Replace several C identifiers.teor
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ client_or_conn_should_skip_reachable_address_check router_or_conn_should_skip_reachable_address_check \ client_dir_conn_should_skip_reachable_address_check router_dir_conn_should_skip_reachable_address_check
2020-05-07Wrap long linesteor
2020-05-07Replace several C identifiers.teor
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ router_skip_orport_reachability_check router_should_skip_orport_reachability_check \ router_skip_dirport_reachability_check router_should_skip_dirport_reachability_check \ router_connect_assume_or_reachable client_or_conn_should_skip_reachable_address_check \ router_connect_assume_dir_reachable client_dir_conn_should_skip_reachable_address_check It was generated with --no-verify, so it probably breaks some commit hooks. The commiter should be sure to fix them up in a subsequent commit.
2020-04-30circuitbuild: Allow relays to send IPv6 extend cellsteor
Allow relays and bridges to send IPv4 or IPv6 extend cells. But keep restricting clients to IPv4 extend cells, because sending IPv6 extend cells would be an obvious version distinguisher. Part of 33222.
2020-04-30relay: Update some self-test comments for IPv6teor
Part of 33222.
2020-04-30relay: Log IPv4 and IPv6 ORPorts when testing reachabilityteor
When a relay starts testing reachability, log its IPv6 ORPort. The existing code logs the IPv4 ORPort and DirPort. The IPv4 ORPort is required. The other ports are only logged if they are present. Part of 33222.
2020-04-30relay: Launch IPv4 and IPv6 ORPort self-test circuitsteor
When launching relay ORPort reachability self-tests, launch tests to the IPv4 and IPv6 ORPorts (if available). Part of 33222.
2020-04-30relay: Refactor dirport self-test circuit launchteor
Remove some redundant variables, and improve some comments. Explain that there are no advertised IPv6 DirPorts. Part of 33222.
2020-04-30relay: Refactor reachability circuit launchesteor
Split OR and Dir reachability circuits into their own functions. Part of 33222.
2020-04-30relay: Remove unused DirPort self-test codeteor
DIRIND_ANON_DIRPORT never uses our ORPort, so we don't need to set it in the directory request. Part of 33222.
2020-04-30relay: Add an address family to self-test launchesteor
Add an address family argument to the functions that launch relay ORPort self-test circuits. Part of 33222.
2020-04-30relay: Minor selftest comment updatesteor
Part of 33222.
2020-04-30relay: Wrap long linesteor
Part of 33222.
2020-04-30relay: Clarify reachability status check functionsteor
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ check_whether_orport_reachable router_skip_orport_reachability_check \ check_whether_dirport_reachable router_skip_dirport_reachability_check It was generated with --no-verify, so it probably breaks some commit hooks. The commiter should be sure to fix them up in a subsequent commit. Part of 33222.
2020-04-30practracker: Accept some wrapped long linesteor
Part of 33222.
2020-04-30nodelist: Wrap long lines, and improve commentsteor
Part of 33222.
2020-04-30nodelist: Distinguish client and relay reachabilityteor
Change some function names to distinguish between: * client first hop reachability (ReachableAddresses) * relay port reachability self-tests This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ router_skip_or_reachability router_connect_assume_or_reachable \ router_skip_dir_reachability router_connect_assume_dir_reachable It was generated with --no-verify, so it probably breaks some commit hooks. The commiter should be sure to fix them up in a subsequent commit. Part of 33222.
2020-04-30practracker: Accept the connection buf refactorteor
Accept a few extra lines from the connection_buf_read_from_socket() refactor. Cleanup after 33131.
2020-04-30relay: Fix a comment typo in the selftest.c headerteor
2020-04-29Merge remote-tracking branch 'tor-github/pr/1864/head'Nick Mathewson
2020-04-30practracker: Allow an extra line in tor_addr_parse_mask_ports()teor
We added a cast, and wrapped a line.
2020-04-30relay: Refactor can extend over IPv6 checksteor
Split "can extend over IPv6" and "has advertised IPv6 ORPort" into separate functions. They currently have the same result, but this may change in 33818 with ExtendAllowIPv6Addresses. Part of 33817.
2020-04-30channel: Refactor matches target address functionteor
Refactor channel_matches_target_addr_for_extend() to return a boolean result. Part of 33817.
2020-04-30relay: Refactor extend address validity functionteor
Rename the function, and give it a boolean return value. No behaviour change. Part of 33817.
2020-04-30net: Make all address bytes functions take uint8_t *teor
Part of 33817.
2020-04-30Rename tor_addr_get_ipv6_bytes to tor_addr_copy_ipv6_bytesteor
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ tor_addr_get_ipv6_bytes tor_addr_copy_ipv6_bytes
2020-04-29changes: file for 33817teor
2020-04-29relay: Refactor choosing extend IPsteor
Flatten the logic in circuit_choose_ip_ap_for_extend(). Part of 33817.
2020-04-29relay: Add tests for choosing extend IPsteor
Part of 33817.
2020-04-29relay: Refactor circuit_open_connection_for_extend()teor
Refactor circuit_open_connection_for_extend(), splitting out the IP address choice code into a new function. Adds unit tests. No behaviour changes in tor. Part of 33817.
2020-04-29relay: Add IP version tests for circuit extendsteor
Add IPv4-only and IPv6-only tests for circuit_open_connection_for_extend(). Part of 33817.
2020-04-29relay: Choose between IPv4 and IPv6 extends at randomteor
When an EXTEND2 cell has an IPv4 and an IPv6 address, choose one of them uniformly at random. Part of 33817.
2020-04-29relay/circuitbuild: Refactor open connection for extendteor
Re-use the newly created extend_info to launch the connection in circuit_open_connection_for_extend(). No behaviour change. Part of 33817.
2020-04-29test/circuitbuild: Disable some tests when ALL_BUGS_ARE_FATALteor
Some tests use IF_BUG_ONCE(), which is fatal when ALL_BUGS_ARE_FATAL, after the fixes in 33917. Also run "make autostyle" on these changes. Part of 33817.
2020-04-29log/util_bug: Make IF_BUG_ONCE() support ALL_BUGS_ARE_FATALteor
... and DISABLE_ASSERTS_IN_UNIT_TESTS. Make all of tor's assertion macros support the ALL_BUGS_ARE_FATAL and DISABLE_ASSERTS_IN_UNIT_TESTS debugging modes. Implements these modes for IF_BUG_ONCE(). (It used to log a non-fatal warning, regardless of the debugging mode.) Fixes bug 33917; bugfix on 0.2.9.1-alpha.
2020-04-29relay/circuitbuild: Re-use IPv6 connections for circuitsteor
Search for existing connections using the remote IPv4 and IPv6 addresses. Part of 33817.
2020-04-29relay/circuitbuild: Report IPv6 addresses in a debug logteor
Part of 33817.
2020-04-29channel: Make channel_matches_target_addr_for_extend() staticteor
It isn't used outside channel.c. Part of 33817.
2020-04-29relay/circuitbuild: Consider IPv6-only extends validteor
Allow extend cells with IPv6-only link specifiers. Warn and fail if both IPv4 and IPv6 are invalid. Also warn if the IPv4 or IPv6 addresses are unexpectedly internal, but continue with the valid address. Part of 33817.
2020-04-29test/circuitbuild: Show bad addresses in some logsteor
Disable SafeLogging for some extend tests, so we can check the actual addresses. Part of 33817.
2020-04-29relay: Log the address in circuit protocol warningsteor
Always log the address family in extend protocol warnings. If SafeLogging is 0, also log the address and port. Diagnostics for 33817.
2020-04-29net: Add fmt_addrport_ap() and fmt_addr_family()teor
Add fmt_addrport_ap(), a macro that takes a tor_addr_port_t, and uses it to call fmt_addrport(). Add fmt_addr_family(), a function that returns a string constant describing the address family. Utility functions for 33817.
2020-04-29net: Remove an extra space in address.hteor
2020-04-29relay: Refactor address checks into a functionteor
No behaviour change. Part of 33817.
2020-04-29relay: Refactor address and port checksteor
tor_addr_port_is_valid_ap(ap, 0) checks if the address or port are zero, exactly like the previous code. Preparation for 33817.