Commit Graph

32680 Commits

Author SHA1 Message Date
Nick Mathewson 089ef46063 Merge branch 'bug30721_squashed' 2019-06-26 09:57:20 -04:00
teor 6ef555bda0 test/addr: test that tor_addr_port_lookup() handles IP addresses and ports
And that it does something sensible with host and host:port.

Also reorder the tests into valid, invalid, and ambiguous.
And add some missing cases.

Note: tor_addr_port_lookup() handles ip, ip:port, host, and host:port.

Tests for 30721.
2019-06-26 09:55:37 -04:00
teor 6079dfd103 test/addr: test that tor_addr_lookup() handles IP addresses
And that it fails on IP:port and host:port, and does something sensible with
host.

Tests for 30721.
2019-06-26 09:55:37 -04:00
teor 1c92d7f388 test/addr: test that tor_lookup_hostname() handles IPv4 addresses
And that it fails on IPv6 and host:port, and does something sensible with
host.

Tests for 30721.
2019-06-26 09:55:37 -04:00
teor 60ce431c54 test/addr: Add some ambiguous IPv6 cases to test_addr_parse()
Test some strings which could be parsed as IPv6 addresses,
or as IPv6:port strings.

Additional tests for 30721.
2019-06-26 09:55:37 -04:00
teor 2dbde3617f test/addr: Increase coverage in test_addr_parse()
Do as many tests as possible for each input string.
Then remove some redundant test cases.

Cleanup after 30721.
2019-06-26 09:55:37 -04:00
teor 5a3770dc6c test/addr: Stop repeating so much code in test_addr_parse()
Cleanup after 30721.
2019-06-26 09:55:37 -04:00
teor 1d3d6bf6b1 test/addr: Add unit tests for the fixes in 30721 2019-06-26 09:55:37 -04:00
teor adb8538e7b address/resolve: Require square brackets on IPv6 address:ports
When parsing addreses via Tor's internal address:port parsing and
DNS lookup APIs, require IPv6 addresses with ports to have square
brackets.

But allow IPv6 addresses without ports, whether or not they have
square brackets.

Fixes bug 30721; bugfix on 0.2.1.5-alpha.
2019-06-26 09:55:37 -04:00
teor 308d300213 address/resolve: try harder to avoid returning uninitialised data
Cleanup after 30721.
2019-06-26 09:55:37 -04:00
teor fb93646c1c resolve: split sub-functions out of tor_addr_lookup()
And remove the practracker exception for tor_addr_lookup().

Cleanup after 30721.
2019-06-26 09:55:37 -04:00
teor 29cf64c838 resolve: refactor address family logic in tor_addr_lookup()
Cleanup after 30721.
2019-06-26 09:55:37 -04:00
teor cd1de99468 resolve: consistently parse IP addresses in square brackets
When parsing addreses via Tor's internal DNS lookup API:
* reject IPv4 addresses in square brackets (with or without a port),
* accept IPv6 addresses in square brackets (with or without a port), and
* accept IPv6 addresses without square brackets, as long as they have no port.

This change completes the work started in 23082, making address parsing
consistent between tor's internal DNS lookup and address parsing APIs.

Fixes bug 30721; bugfix on 0.2.1.5-alpha.
2019-06-26 09:55:36 -04:00
Nick Mathewson c2a326d34f Merge branch 'maint-0.4.1'
"ours" to avoid the 0.4.1 version of #30871.
2019-06-26 09:50:12 -04:00
Nick Mathewson 0fe9657c8c Merge remote-tracking branch 'tor-github/pr/1119' 2019-06-26 09:50:00 -04:00
Nick Mathewson 648d5df628 Merge remote-tracking branch 'tor-github/pr/1118' into maint-0.4.1 2019-06-26 09:49:40 -04:00
Nick Mathewson 167dd097e0 Merge remote-tracking branch 'tor-github/pr/1127' 2019-06-26 09:40:01 -04:00
George Kadianakis 72ef4f43d5 Merge branch 'tor-github/pr/1142' 2019-06-26 10:57:24 +03:00
George Kadianakis 7edd01a29b Merge branch 'tor-github/pr/1109' 2019-06-26 10:56:08 +03:00
George Kadianakis a57296da31 Merge branch 'tor-github/pr/1139' 2019-06-26 10:55:05 +03:00
George Kadianakis fede64822d Merge branch 'tor-github/pr/1128' 2019-06-26 10:53:34 +03:00
George Kadianakis b2ef076e1a Merge branch 'maint-0.4.1' 2019-06-26 10:51:50 +03:00
George Kadianakis 00acccac64 Merge branch 'tor-github/pr/1114' into maint-0.4.1 2019-06-26 10:51:12 +03:00
Taylor Yu 5612eccef8 Changes file for ticket 30889 2019-06-25 11:42:41 -05:00
Taylor Yu 5faf54970d Fix some onion helpers
Fix add_onion_helper_clientauth() and add_onion_helper_keyarg() to
explicitly call the appropriate control reply abstractions instead of
allocating a string to pass to their callers.

Part of ticket 30889.
2019-06-25 11:42:34 -05:00
Taylor Yu e5e6953be7 Make control_write_reply() mockable
Part of ticket 30889.
2019-06-25 11:40:44 -05:00
Taylor Yu 0dd59fdb56 Clean up some uses of low-level control replies
Part of ticket 30889.
2019-06-25 11:39:59 -05:00
Nick Mathewson 3644f4ab5f Remove changes files that appeared in 0.4.1.3-alpha or earlier. 2019-06-25 11:57:08 -04:00
Nick Mathewson 3a9b41895f Merge branch 'maint-0.4.1'
"ours" to avoid version bump.
2019-06-25 11:56:22 -04:00
Nick Mathewson fe41504309 forward-port the 0.4.1.3-alpha changelog 2019-06-25 11:56:08 -04:00
Nick Mathewson e4f66bf7ff bump to 0.4.1.3-alpha-dev 2019-06-25 11:55:53 -04:00
Nick Mathewson a87700633c Don't try to shellcheck src/rust/registry
Fixes bug 30963; bug not in any released Tor.
2019-06-24 13:45:05 -04:00
Nick Mathewson aec359ef62 Merge branch 'maint-0.4.1' 2019-06-24 13:36:42 -04:00
Nick Mathewson bd66a40845 Merge remote-tracking branch 'tor-github/pr/1131' 2019-06-24 13:36:36 -04:00
Nick Mathewson 8803930de8 Merge remote-tracking branch 'tor-github/pr/1130' into maint-0.4.1 2019-06-24 13:36:10 -04:00
Nick Mathewson 3b6bd768d3 Merge branch 'maint-0.4.1'
"ours" to avoid version bump.
2019-06-24 09:32:54 -04:00
Nick Mathewson aab5f42ae0 bump to 0.4.1.3-alpha 2019-06-24 09:32:46 -04:00
teor 45be44ed9c stats: Split extrainfo_dump_to_string() into smaller functions.
Closes ticket 30956.
2019-06-24 20:47:44 +10:00
teor 872b85e689 Merge branch 'bug30956_041' into bug30956_master 2019-06-24 19:47:34 +10:00
teor 8356cc5b51 stats: Always publish pluggable transports in extra info documents
Always publish bridge pluggable transport information in the extra info
descriptor, even if ExtraInfoStatistics is 0. This information is
needed by BridgeDB.

Fixes bug 30956; bugfix on 0.4.1.1-alpha.
2019-06-24 19:44:24 +10:00
rl1987 84f0f15066 Improve comment in .travis.yml 2019-06-23 14:12:05 +03:00
rl1987 a52e00b5b3 Fix shellcheck warning SC2034 in test_rebind.sh.
Bugfix on be0a4be276 (not in any Tor release).
2019-06-23 14:00:43 +03:00
rl1987 1d504a408d Add changes file 2019-06-23 13:38:49 +03:00
rl1987 f9de9052e1 On Travis, put random data in ~/.torrc 2019-06-23 13:31:47 +03:00
Nick Mathewson 70415c9f72 Merge branch 'maint-0.4.1'
"ours" merge to avoid taking pracktracker removal.
2019-06-19 14:29:22 -04:00
Nick Mathewson 4ecd09cfb7 remove practracker from check-local (0.4.1 only) 2019-06-19 14:29:08 -04:00
David Goulet 91c7d395cf changes: Fix typo in changes/ticket30893
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-06-19 07:50:02 -04:00
David Goulet e6579d801f Merge branch 'tor-github/pr/1113' 2019-06-19 07:47:03 -04:00
David Goulet 9644f3462a Make the great grand practracker happy...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-06-19 07:42:30 -04:00
David Goulet 16a0b7ed67 guard: Ignore marked for close circuit when changing state to open
When we consider all circuits in "waiting for guard" state to be promoted to
an "open" state, we were considering all circuits, even the one marked for
close.

This ultiamtely triggers a "circuit_has_opened()" called on the circuit that
is marked for close which then leads to possible undesirable behaviors within
a subsystem.

For instance, the HS subsystem would be unable to find the authentication key
of the introduction point circuit leading to a BUG() warning and a duplicate
mark for close on the circuit.

This commit also adds a unit test to make sure we never select marked for
close circuits when upgrading its guard state from waiting for guard to open.

Fixes #30871

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-06-19 07:42:30 -04:00