George Kadianakis
52c5b8aa12
Simplify cannibalization logic now that all HS is vanguards
...
Co-authored-by: Mike Perry <mikeperry-git@torproject.org>
2021-07-01 18:15:55 +03:00
George Kadianakis
9afd9d0940
Special vanguard L3 increased path length does not apply for vanguards-lite
...
Co-authored-by: Mike Perry <mikeperry-git@torproject.org>
2021-07-01 18:15:55 +03:00
George Kadianakis
0240c00929
Preemptive circuits for HSes should now be vanguard circuits
...
Co-authored-by: Mike Perry <mikeperry-git@torproject.org>
2021-07-01 18:15:55 +03:00
George Kadianakis
e23947716e
Use L2 vanguards during path selection
...
Co-authored-by: Mike Perry <mikeperry-git@torproject.org>
2021-07-01 18:15:55 +03:00
George Kadianakis
314a6b42c5
Introduce vanguards-lite subsystem and some of its entry points
...
Co-authored-by: Mike Perry <mikeperry-git@torproject.org>
2021-07-01 18:15:55 +03:00
Nick Mathewson
0667eaa9bf
Merge branch 'maint-0.4.6'
2021-06-10 09:55:55 -04:00
Nick Mathewson
7be37a26ac
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-06-10 09:55:55 -04:00
Nick Mathewson
ae2254e490
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-06-10 09:55:55 -04:00
Nick Mathewson
014345ed6a
Resolve remaining merge conflicts in relay.c
...
(My bad!)
2021-06-10 09:55:35 -04:00
Nick Mathewson
8734eea31b
Merge branch 'maint-0.4.6'
2021-06-10 08:53:07 -04:00
Nick Mathewson
3260d323a6
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-06-10 08:53:07 -04:00
Nick Mathewson
ec696a95e5
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-06-10 08:53:07 -04:00
Nick Mathewson
0f2d45328d
Merge branch 'maint-0.3.5' into maint-0.4.4
...
Conflicts resolved:
src/core/or/relay.c
2021-06-10 08:52:39 -04:00
David Goulet
adb248b6d6
TROVE-2021-003: Check layer_hint before half-closed end and resolve cells
...
This issue was reported by Jann Horn part of Google's Project Zero.
Jann's one-sentence summary: entry/middle relays can spoof RELAY_END cells on
half-closed streams, which can lead to stream confusion between OP and
exit.
Fixes #40389
2021-06-10 08:50:05 -04:00
Nick Mathewson
d9edf143ab
Merge branch 'maint-0.4.6'
2021-06-10 08:42:15 -04:00
Nick Mathewson
69bd4a8a2d
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-06-10 08:42:15 -04:00
Nick Mathewson
1da8621c0a
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-06-10 08:42:15 -04:00
Nick Mathewson
31eaa81f59
Merge branch 'maint-0.3.5' into maint-0.4.4
2021-06-10 08:42:15 -04:00
Roger Dingledine
896ab165d9
clarify three comments
...
based on code-spelunking with nickm
2021-05-27 14:22:22 -04:00
Nick Mathewson
4c06c619fa
Use a more secure hash function for the circuitmux hashtable.
...
Fixes bug 40931; bugfix on 0.2.4.4-alpha. Also tracked as
TROVE-2021-005.
This issue was reported by Jann Horn from Google's Project Zero.
2021-05-18 08:40:09 -04:00
Nick Mathewson
fbd47a5078
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-05-17 09:04:22 -04:00
Nick Mathewson
af560f21ec
Merge branch 'maint-0.4.6'
2021-05-17 09:04:22 -04:00
David Goulet
5f009a59da
conn: MetricsPort listener is a listener port
...
The connection type for the listener part was missing from the "is
connection a listener" function.
This lead to our periodic event that retries our listeners to keep
trying to bind() again on an already opened MetricsPort.
Closes #40370
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-05-12 15:13:50 -04:00
David Goulet
22861c2f40
relay: Add TCP port exhaustion metrics
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-05-12 11:58:25 -04:00
David Goulet
9c2fa34982
relay: Add the OOM invocation metrics
...
With this commit, a relay now emits metrics event on the MetricsPort
related to the OOM invocation for:
- DNS cache
- GeoIP database
- Cell queues
- HSDir caches
Everytime the OOM is invoked, the number of bytes is added to the
metrics counter for that specific type of invocation.
Related to #40367
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-05-12 11:58:25 -04:00
Nick Mathewson
5acf18bfaa
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-05-07 10:41:34 -04:00
Nick Mathewson
7c86f34340
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-05-07 10:41:34 -04:00
Nick Mathewson
48dd87933d
Merge branch 'maint-0.3.5' into maint-0.4.4
2021-05-07 10:41:33 -04:00
Nick Mathewson
e2c1ac214c
Reindent a few lines to fix a GCC warning.
...
As of GCC 11.1.1, the compiler warns us about code like this:
if (a)
b;
c;
and that's a good thing: we wouldn't want to "goto fail". But we
had an instance if this in circuituse.c, which was making our
compilation sad.
Fixes bug 40380; bugfix on 0.3.0.1-alpha.
2021-05-07 10:39:20 -04:00
George Kadianakis
80c404c4b7
Log warning when connecting to soon-to-be-deprecated v2 onions.
2021-05-07 08:44:36 -04:00
George Kadianakis
5e836eb80c
Add warning when trying to connect to deprecated v2 onions.
2021-05-07 08:41:46 -04:00
George Kadianakis
f230beadf4
Prepare for #40373 : Re-introduce parsing for v2 onion addresses.
...
Welcome back ONION_V2_HOSTNAME! :)
2021-05-05 11:05:45 +03:00
Roger Dingledine
962b15aa6f
fix some tiny typos
2021-03-24 18:13:46 -04:00
Nick Mathewson
c359c3056b
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-03-24 12:25:05 -04:00
Nick Mathewson
f6af8e2021
Merge branch 'maint-0.4.5'
2021-03-24 12:25:05 -04:00
Nick Mathewson
37b16d7e19
Merge remote-tracking branch 'tor-gitlab/mr/339'
2021-03-24 12:23:30 -04:00
David Goulet
9ca2394d6b
channel: Fix use after free in channel_do_open_actions()
...
Fortunately, our tor_free() is setting the variable to NULL after so we were
in a situation where NULL was always used instead of the transport name.
This first appeared in 894ff2dc84
and results in
basically no bridge with a transport being able to use DoS defenses.
Fixes #40345
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-03-23 09:19:41 -04:00
Nick Mathewson
0229d5f818
Add "Heartbeat" to the start of several heartbeat messages.
...
Closes #40322 .
2021-03-19 13:33:56 -04:00
Roger Dingledine
6de09642f0
warn and reject reentering streams at client too
...
Clients now check whether their streams are attempting to re-enter
the Tor network (i.e. to send Tor traffic over Tor), and they close
them preemptively if they think exit relays will refuse them.
See bug 2667 for details. Resolves ticket 40271.
2021-03-17 13:04:23 -04:00
George Kadianakis
29f07a4e9d
Merge branch 'mr/334'
2021-03-17 18:23:18 +02:00
George Kadianakis
e688580277
Implement rate limiting metrics.
2021-03-17 18:22:38 +02:00
George Kadianakis
faf1fe833e
Implement port/file-descriptor exhaustion metric.
...
This uses a heuristic that came up after a discussion with David.
I'm leaving this as a separate commit so that it can be discussed further if
needed.
2021-03-17 18:22:38 +02:00
George Kadianakis
f493a12e89
Implement straightforward overload general metrics.
...
- OOM metric
- onionskin overload metric
- DNS timeout metric
2021-03-17 18:22:38 +02:00
David Goulet
15a95df376
Merge branch 'tor-gitlab/mr/337'
2021-03-17 11:53:14 -04:00
Nick Mathewson
066748c9cd
Add a DormantTimeoutEnabled to disable dormant mode entirely
...
(If you need to do this in an older version you can just set
DormantClientTimeout to something huge.)
Closes #40228 .
2021-03-17 11:53:09 -04:00
George Kadianakis
0ac03390e4
Merge branch 'maint-0.4.5'
2021-03-17 13:43:48 +02:00
Nick Mathewson
444233c15e
Run "make autostyle" in advance of new series.
2021-03-12 11:40:48 -05:00
Nick Mathewson
b5d08ddc09
Update copyrights to 2021, using "make update-copyright"
2021-03-12 11:39:23 -05:00
Nick Mathewson
9409c7f2f5
Don't warn about missing guard state if controller picked first hop
...
See comments about why this needs a new flag and we can't just use
CIRCUIT_PURPOSE_CONTROLLER.
Fixes #40285 ; bugfix on 0.3.2.1-alpha.
2021-03-08 13:42:43 -05:00
Alexander Færøy
a497a97e4c
Change %lu to %TOR_PRIuSZ in dos.c.
...
This patch unbreaks the Windows build on master that was introduced in
99703eaca0
.
2021-02-26 18:16:08 +00:00