Commit Graph

35653 Commits

Author SHA1 Message Date
David Goulet
5f62ae2577 test: Modernize find_my_address() unit test
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 13:51:37 -04:00
David Goulet
901a2507e6 changes: Add changes file for ticket #33233
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 13:51:37 -04:00
David Goulet
b76325190b addr: Remove resolve_my_address_v4()
Replace it by find_my_address() everywhere. This changes many parts of the
code that uses it to use a tor_addr_t instead of a plain uint32_t for IPv4.

Many changes to the unit test to also use the new interface.

Part #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 13:51:37 -04:00
David Goulet
2f3b4e3888 addr: Refactor is_local_addr() to support IPv6
Series of changes:

  1. Rename function to reflect the namespace of the file.

  2. Use the new last resolved cache instead of the unused
     last_resolved_addr_v4 (which is also removed in this commit).

  3. Make the entire code base use the new resolved_addr_is_local() function.

You will notice that this function uses /24 to differentiate subnets where the
rest of tor uses /16 (including documentation of EnforceDistinctSubnets).
Ticket #40009 has been opened for that.

But that the moment, the function keeps looking at /24.

Part of #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 13:51:37 -04:00
David Goulet
7795dd7ef6 addr: Refactor last resolved address cache accessors
Series of things done in this commit:

  1. Rename the functions to better reflect the namespace of the file.

  2. Make both reset and get function to operate on the last_resolved_addrs
     cache that is per family.

  3. Make the get function to take a tor_addr_t.

  4. Change all callsite to use the new convention.

Part of #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 13:51:37 -04:00
David Goulet
b8042c9d9a addr: Make resolve_my_address_v4() use find_my_address()
In order to transition smoothly, maek resolve_my_address_v4() call the new
fancy find_my_address() with AF_INET.

Next commits should remove the use of resolve_my_address_v4() accross the code
to use find_my_address().

This commit is so the unit tests would be more easily fixed and port to the
new find_my_address() internals.

Part of #33233.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 13:51:37 -04:00
David Goulet
9e85056de9 addr: New find_my_address() to support multiple address families
resolve_my_address() was beyond repair in terms of refactoring. Way too
complex and doing too many things.

This commit implements find_my_address() which in theory does the same as
resolve_my_address() but in a more clean, concise and modern way using the
tor_addr_t interface and for multiple address family.

The caller needs to pass the address family (IPv4 or IPv6) which this
interface supports. For both, a last resolved cache is used as well.

Implements #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 13:51:37 -04:00
David Goulet
d08d7e1535 addr: Rename last_resolved_addr to be v4 specific
Part of #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-23 09:25:36 -04:00
David Goulet
6da8c0b4fa addr: Rename resolve_my_address to be v4 specific
Part of #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-23 09:25:36 -04:00
David Goulet
47f9edde69 config: Change Address to be a LINELIST
With prop312, we want to support IPv4 and IPv6 thus multiple Address statement
(up to 2) will be accepted.

For this, "Address" option becomes a LINELIST so we can properly process the
IPv4 or/and IPv6.

Part of #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-23 09:25:36 -04:00
David Goulet
d3bcbccab9 Merge branch 'maint-0.4.4' 2020-06-23 08:52:33 -04:00
David Goulet
5232315168 Merge branch 'tor-github/pr/1937' into maint-0.4.4 2020-06-23 08:52:16 -04:00
Nick Mathewson
ceddc39c59 Merge branch 'pr_1930_squashed' 2020-06-22 15:33:27 -04:00
Neel Chauhan
5a89fd2a04 Add changes file for ticket 33816 2020-06-22 15:33:03 -04:00
Neel Chauhan
3bb955a02f Add circuit_extend_add_ipv(4/6)_helper() test 2020-06-22 15:33:03 -04:00
Neel Chauhan
48310a0e76 Fill in missing IPv6 addresses in extend cells 2020-06-22 15:33:03 -04:00
David Goulet
033f804429 Merge branch 'maint-0.4.4' 2020-06-22 14:57:50 -04:00
Miguel Jacq
3d0e1c42d9 Consistently use 'address' in Invalid v3 address responses to ONION_CLIENT_AUTH commands 2020-06-22 14:56:07 -04:00
Nick Mathewson
b67f7d722d Update the list of recommended protocol versions to match >=0.3.5.
Since Tor 0.2.9 has been unsupported since January, 0.3.5 is the
oldest supported version, and its features constitute the oldest
recommended feature-set.

This patch updates these recommendations:

   DirCache=2

      Support for consensus diffs.
      New in 0.3.1.1-alpha.

   HSDir=2

      Support for v3 onion service descriptors.
      New in 0.3.0.4-alpha.

   HSIntro=4

      Support for Ed25519 intropoint authentication keys.
      New in 0.3.0-4-alpha.

   HSRend=2

      Support for rendezvous cells longer than 20 bytes.
      New in 0.2.9.4-alpha.

   Link=5

      Link padding and link padding negotiation.
      New in 0.3.3.2-alpha.

   LinkAuth=3

       Ed25519 link authentication.
       New in 0.3.0.1-alpha.
2020-06-17 11:07:43 -04:00
Nick Mathewson
a82c0cdfcf Spelling fix: "RECCOMEND" => "RECOMMEND". 2020-06-17 10:37:47 -04:00
Nick Mathewson
48ff6a41ae Merge branch 'maint-0.4.4'
"ours" to avoid version bump.
2020-06-16 19:39:03 -04:00
Nick Mathewson
93d582b8e9 Bump to 0.4.4.1-alpha-dev 2020-06-16 19:38:38 -04:00
Nick Mathewson
0b889e709d forward-port the changelog for 0.4.4.1-alpha 2020-06-16 17:52:45 -04:00
Nick Mathewson
285dbeefa1 Merge branch 'maint-0.4.4'
"ours" to avoid version bump.
2020-06-15 16:45:25 -04:00
Nick Mathewson
148291a52e Bump to 0.4.4.1-alpha 2020-06-15 16:45:18 -04:00
Nick Mathewson
7e600a74bc Merge branch 'maint-0.4.4' 2020-06-15 16:43:18 -04:00
Nick Mathewson
85c0ba1cfb forward-port changelog and release-notes from 0.4.3.5 2020-06-15 16:43:09 -04:00
Nick Mathewson
9fdaede3f7 Remove AssumeReachable from TestingTorNetwork.
Closes ticket 34446.
2020-06-15 14:08:42 -04:00
David Goulet
8361e3c4ab core: Remove unused files
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-12 14:40:49 -04:00
David Goulet
75734f48aa Merge branch 'maint-0.4.3' into maint-0.4.4 2020-06-12 12:55:41 -04:00
David Goulet
ffc2405621 Merge branch 'maint-0.4.4' 2020-06-12 12:55:41 -04:00
David Goulet
272c171136 Merge branch 'maint-0.4.2' into maint-0.4.3 2020-06-12 12:55:41 -04:00
David Goulet
0f218a05a6 Merge branch 'maint-0.3.5' into maint-0.4.2 2020-06-12 12:55:41 -04:00
David Goulet
53faca10ad Merge branch 'tor-github/pr/1913' 2020-06-12 12:55:34 -04:00
David Goulet
6a43aadecc Merge branch 'tor-github/pr/1912' into maint-0.3.5 2020-06-12 12:55:17 -04:00
George Kadianakis
3cb77a9cca Merge branch 'maint-0.4.4' 2020-06-11 17:29:54 +03:00
George Kadianakis
52edea121e Fold in a changes file and update exceptions.txt.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:25 +03:00
George Kadianakis
755b8252a4 Fix and update unittests.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:20 +03:00
George Kadianakis
714e235a3c Update functions that load and write the guard state file.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:13 +03:00
George Kadianakis
d2c3b6ea1e Pick guards on the order they were sampled (prop310).
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:09 +03:00
Florentin Rochet
7bf0587ef1 Refactor some guard state file parsing code into functions.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:12:31 +03:00
George Kadianakis
1797d05165 Merge branch 'tor-github/pr/1925' 2020-06-10 15:37:59 +03:00
Mike Perry
963c3591c8 Bug 30992: Changes file 2020-06-10 15:37:44 +03:00
Mike Perry
1300e6a512 Bug 30992: Update tests 2020-06-10 15:37:44 +03:00
Mike Perry
0a4bc8fe90 Bug 30992: Track a padding machine ctr to reduce race issues.
This tracking of the instantiation count should eliminate race conditions due
to starting and stopping machines rapidly. Now, we should no longer obey
STOP commands for previous machines.
2020-06-10 15:37:44 +03:00
Nick Mathewson
1e230bd488 Merge branch 'maint-0.4.4'
("Ours" to avoid removal of .enable_practracker_in_hooks)
2020-06-09 15:47:44 -04:00
Nick Mathewson
fc16dbf7aa Remove "enable_practracker_in_hooks" for 0.4.4. 2020-06-09 15:47:25 -04:00
Nick Mathewson
354f085e5f Merge remote-tracking branch 'tor-github/pr/1888/head' 2020-06-09 15:44:58 -04:00
Nick Mathewson
eaae5625cb Add 0.4.4 to list of tor branches used by git scripts. 2020-06-09 14:17:15 -04:00
Nick Mathewson
ca8b04f194 Merge branch 'ticket34375' 2020-06-09 14:16:21 -04:00