Commit Graph

37503 Commits

Author SHA1 Message Date
David Goulet
f03047332c relay: Log if we can't find an address for configured ORPort
Everytime we try to discover an address we want to publish, emit a log notice
if we are unable to find it even though an ORPort was configured for it.

Because the function can be called quite often, we rate limit that notice to
every hour so it gets annoying just enough so the operator fixes that.

Related to #40254

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-27 09:36:17 -05:00
David Goulet
2e600019ea relay: Don't trigger an address discovery without an ORPort
We would before do an address discovery and then a lookup in the cache if not
found which is now simplified by calling relay_find_addr_to_publish() directly
which does all those combined.

Furthermore, by doing so, we won't trigger an address discovery every minute
if we have no ORPort configured for the family.

Fixes #40254

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-27 09:36:17 -05:00
David Goulet
b4220a09b7 relay: Simplify IPv6 discovery when building descriptor
Now that relay_find_addr_to_publish() checks if we actually have an ORPort, we
can simplify the descriptor building phase for IPv6.

This also avoid triggering an IPv6 discovery if the IPv4 can't be found in the
first place.

Related to #40254

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-27 09:36:17 -05:00
David Goulet
b4f4af6ec5 relay: Skip address discovery if no ORPort is found
In other words, if we don't have an ORPort configured for a specific family
(IPv4/v6), we don't bother doing address discovery.

Related to #40254

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-27 09:36:17 -05:00
George Kadianakis
05a7624266 Merge remote-tracking branch 'tor-gitlab/mr/272' 2021-01-27 15:47:10 +02:00
George Kadianakis
dbbd603313 Merge remote-tracking branch 'tor-gitlab/mr/248' 2021-01-27 15:43:01 +02:00
George Kadianakis
a7ca089343 Merge remote-tracking branch 'tor-gitlab/mr/247' 2021-01-27 15:39:29 +02:00
Nick Mathewson
37ea6cd9eb Fix a subtle memory leak in test_exorport.c
This is a _subtle_ bug introduced by d1494d14, which resolved
connections that was allocated in the extorport/handshake test.  So
how did the connection get freed?  Our test was set up so that every
extorport connection would get the same ext_or_id.  Two connections
couldn't have the same ext_or_id, and if they did, one would get
freed.  This meant that the _next_ connection to be constructed in
the test would cause the previous connection to become closeable,
even if it hadn't been closeable before.

But when we applied d149d14, we stopped making it so our code
enforced this uniqueness, and thereby make it so we _weren't_
freeing this connection in the tests.

Closes #40260; bug not in any released version of Tor.
2021-01-26 16:58:27 -05:00
Roger Dingledine
01a5b41be0 New ReconfigDropsBridgeDescs config option
Let external bridge reachability testing tools discard cached
bridge descriptors when setting new bridges, so they can be sure
to get a clean reachability test.

Implements ticket 40209.
2021-01-25 02:16:44 -05:00
Nick Mathewson
930a17f347 Remove changes files for entries that have appeared in an 045 changelog. 2021-01-22 15:25:04 -05:00
Nick Mathewson
001a0454f5 changelog typo fix, because there is always one 2021-01-22 12:07:35 -05:00
Nick Mathewson
61ca6d25f1 Copy changelog forward. 2021-01-22 11:55:56 -05:00
Nick Mathewson
768d54ea58 Merge branch 'maint-0.4.5'
"ours" to avoid version bump.
2021-01-22 11:55:25 -05:00
Nick Mathewson
af5250b1df bump to 0.4.5.4-rc-dev 2021-01-22 11:55:17 -05:00
Nick Mathewson
6fff643a83 Merge branch 'maint-0.4.5'
"-s ours" to avoid version bump.
2021-01-22 09:49:24 -05:00
Nick Mathewson
5eef63aa71 Bump to 0.4.5.4-rc 2021-01-22 09:49:09 -05:00
Alexander Færøy
d2c2204b2a Slightly reword the changes file and rename it. 2021-01-22 13:22:14 +00:00
Hello71
2e76b02401 path: fix directory special case 2021-01-22 13:19:52 +00:00
MarkusK
62f5114c09 Add IPv6 to mdfnet fallbackdirs 2021-01-22 07:50:47 +01:00
George Kadianakis
74cfe3611f Merge branch 'maint-0.4.5' 2021-01-22 00:21:21 +02:00
George Kadianakis
4cbd22f1a7 Merge branch 'mr/251' into maint-0.4.5 2021-01-22 00:21:09 +02:00
David Goulet
09a1a34ad1 Merge branch 'maint-0.4.3' into maint-0.4.4 2021-01-21 16:18:43 -05:00
David Goulet
641dce2d6b Merge branch 'maint-0.3.5' into maint-0.4.3 2021-01-21 16:18:43 -05:00
David Goulet
ceefdf984c Merge branch 'maint-0.4.5' 2021-01-21 16:18:43 -05:00
David Goulet
68d1e02c3a Merge branch 'maint-0.4.4' into maint-0.4.5 2021-01-21 16:18:43 -05:00
Alex Xu (Hello71)
65087903d9 gitignore: don't ignore core directory
otherwise src/core is ignored.
2021-01-21 16:18:22 -05:00
George Kadianakis
5d711450dd Changes file for #40238. 2021-01-21 23:17:31 +02:00
David Goulet
8d881b5222 gitignore: Fix duplicate entry to match other maint branches
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-21 16:08:57 -05:00
David Goulet
7e8d970ce3 Merge branch 'maint-0.4.5' 2021-01-21 16:07:46 -05:00
David Goulet
e06a0e904c Merge branch 'maint-0.4.4' into maint-0.4.5 2021-01-21 16:07:16 -05:00
David Goulet
2a3cf37450 Merge branch 'maint-0.4.3' into maint-0.4.4 2021-01-21 16:06:54 -05:00
David Goulet
c09f8da8a9 Merge branch 'maint-0.3.5' into maint-0.4.3 2021-01-21 16:06:54 -05:00
David Goulet
8500700aa4 build: Add "make lsp" command
Generates the compile_commands.json file using the "bear" application so the
ccls server can be more efficient with our code base.

Closes #40227

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-21 16:06:31 -05:00
David Goulet
9be33755ef Merge branch 'maint-0.4.5' 2021-01-21 14:58:39 -05:00
David Goulet
c54f4b81da Merge branch 'tor-gitlab/mr/270' into maint-0.4.5 2021-01-21 14:58:31 -05:00
Roger Dingledine
633b68bfe2 log more during consensus voting process
Give more visibility to directory authority operators during the consensus
voting process.

Closes ticket 40245.
2021-01-21 13:46:56 -05:00
Roger Dingledine
9e6064ec35 dir auths write consensuses to disk after creation
This step happens after we make each consensus flavor, and before we
worry about sigs or anything. That way if Tor crashes, or if we fail to
get enough sigs, we still have a chance to know what consensus we wanted
to make.
2021-01-21 13:46:56 -05:00
Nick Mathewson
b2536c97f9 Merge branch 'maint-0.4.5' 2021-01-21 13:40:46 -05:00
Nick Mathewson
08c0ef61d8 fix changes file 2021-01-21 13:39:40 -05:00
Roger Dingledine
0b00f79c82 log more about testing incoming relay descriptors 2021-01-21 13:39:13 -05:00
Nick Mathewson
3d952b461d Merge remote-tracking branch 'tor-gitlab/mr/269' into maint-0.4.5 2021-01-21 13:37:21 -05:00
Nick Mathewson
2243fc3ad1 Merge branch 'maint-0.4.5' 2021-01-21 13:19:49 -05:00
Nick Mathewson
71fd30b75a Introduce a new bridge_has_invalid_transport() function.
In addition to simplifying callsites a little, this function gives
correct behavior for bridges without a configured transport.
2021-01-21 13:17:16 -05:00
Nick Mathewson
9390e2bf83 Merge remote-tracking branch 'tor-gitlab/mr/268' into maint-0.4.5 2021-01-21 13:10:16 -05:00
David Goulet
8a27860720 Merge branch 'maint-0.4.5' 2021-01-21 12:27:34 -05:00
David Goulet
7b102d53e3 Merge branch 'tor-gitlab/mr/265' into maint-0.4.5 2021-01-21 12:27:27 -05:00
David Goulet
2c4355fcec changes: Align text in bug40236
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-20 16:26:28 -05:00
David Goulet
61803775e8 Merge branch 'tor-gitlab/mr/264' 2021-01-20 16:22:36 -05:00
David Goulet
7692f443d4 config: Remove Bridge <-> ClientTransportPlugin validation
This validation was only done if DisableNetwork was off because we would use
the global list of transports/bridges and DisableNetwork would not populate
it.

This was a problem for any user using DisableNetwork which includes Tor
Browser and thus leading to the Bug() warning.

Without a more in depth refactoring, we can't do this validation without the
global list.

The previous commit makes it that any connection to a bridge without a
transport won't happen thus we keep the security feature of not connecting to
a bridge without its corresponding transport.

Related to #40106

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-20 15:56:19 -05:00
David Goulet
09c6d03246 bridge: Don't initiate connection without a transport
Don't pick the bridge as the guard or launch descriptor fetch if no transport
is found.

Fixes #40106

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-20 15:55:50 -05:00