David Goulet
e4e88c4b2e
Merge branch 'tor-gitlab/mr/228'
2021-10-04 14:59:04 -04:00
David Goulet
1873d4c14c
Merge branch 'tor-gitlab/mr/444'
2021-10-04 10:49:27 -04:00
David Goulet
bfd69655af
cc: Add comments and clean up some syntax
...
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-10-04 10:45:50 -04:00
Mike Perry
322f213210
Turn cell queue watermark limits into consensus params.
...
This allows us to have quicker reaction to blocked orconns as
a congestion signal.
2021-10-04 10:45:46 -04:00
Mike Perry
e9038dc5f2
Add a max cwnd consensus parameter and clamp.
2021-10-04 10:45:46 -04:00
Mike Perry
6dae9903b1
Turn orconn watermarks into consensus parameters.
...
Tuning these may reduce memory usage and latency.
2021-10-04 10:45:46 -04:00
Mike Perry
98be8634fa
Turn CircEWMA tick len into consensus parameter.
...
This will assist tuning of CircEWMA in Shadow and Live.
2021-10-04 10:45:46 -04:00
Mike Perry
5e17f8acab
Support time-based half-closed connection handling.
...
Since we no longer use stream SENDMEs for congestion control, we must now use
time to decide when data should stop arriving on a half-closed stream.
2021-10-04 10:45:46 -04:00
David Goulet
bd0aabe20f
oom: Consider edge connections as well
...
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-10-04 10:45:46 -04:00
Mike Perry
58aca27265
MAKEFILE: Add flow control files to makefile
2021-10-04 10:45:46 -04:00
Mike Perry
0422eb26a7
Prop#324: Hook up flow control
2021-10-04 10:45:46 -04:00
Mike Perry
a89a71cd7b
Prop#324: Stream flow control functions
2021-10-04 10:45:46 -04:00
David Goulet
0b376a9e82
trace: Add congestion control BDP update tracepoints
...
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-10-04 10:45:46 -04:00
David Goulet
896c16c3b1
Add lttng trace support.
...
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-10-04 10:45:46 -04:00
David Goulet
819b69244a
Support rate limiting of edge connections reads.
...
We only need to rate limit reading on edges for flow control, as per the rate
that comes in the XON from the other side. When we rate limit reading from the
edge source to this rate, we will only deliver that fast to the other side,
thus satisfying its rate request.
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-10-04 10:45:46 -04:00
Mike Perry
ca7f5c05a6
Prop#324: Add fields to edge connection.
2021-10-04 10:45:46 -04:00
Mike Perry
33d8974f4d
Export the n_ewma function for flow control use.
2021-09-28 21:39:36 +00:00
Mike Perry
8f9cf1ec43
Export a global notion of monotime clock stall/jump.
...
Monotime clock functionality is a global property, and flow control
also needs to know if it can trust the clock.
2021-09-28 21:39:36 +00:00
Mike Perry
6868f30ced
Add trunnel definitions for xon/xoff cells.
2021-09-28 21:26:10 +00:00
Simon South
1a10948260
test: Add sandbox unit tests
2021-09-28 11:06:52 -04:00
Simon South
fbf2e7e921
sandbox: Allow use with fragile hardening
...
When building with --enable-fragile-hardening, add or relax Linux
seccomp rules to allow AddressSanitizer to execute normally if the
process terminates with the sandbox active.
Further resolves issue 11477.
2021-09-28 11:06:50 -04:00
David Goulet
927f9a12a6
Bump version to 0.4.7.1-alpha
...
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-09-17 09:42:45 -04:00
Guinness
83a11f8a76
Fix the line length in the patch
2021-09-09 13:59:33 +02:00
David Goulet
fe6898157c
Merge branch 'tor-gitlab/mr/424'
2021-08-31 11:08:18 -04:00
Neel Chauhan
8ead53330c
Add spaces between the "and" when logging the "Your server has not managed to confirm reachability for its" on dual-stack relays
2021-08-26 13:40:53 -07:00
Nick Mathewson
a36391f9c0
Add reference implementation for ntor v3.
2021-08-26 15:09:56 -04:00
Nick Mathewson
088c0367a2
Initial backend for an ntor-v3 implementation.
...
This code is based directly on the specification, without looking at
the reference implementation or the implementation in Arti.
Nonetheless, it is now passing with the test vectors generated by
the reference implementation.
2021-08-26 15:09:56 -04:00
Nick Mathewson
984e3a9c6c
Merge remote-tracking branch 'tor-gitlab/mr/420'
2021-08-18 08:43:31 -04:00
David Goulet
cac612af42
dir: Do not flag non-running failing HSDir
...
When a directory request fails, we flag the relay as non Running so we
don't use it anymore.
This can be problematic with onion services because there are cases
where a tor instance could have a lot of services, ephemeral ones, and
keeps failing to upload descriptors, let say due to a bad network, and
thus flag a lot of nodes as non Running which then in turn can not be
used for circuit building.
This commit makes it that we never flag nodes as non Running on a onion
service directory request (upload or fetch) failure as to keep the
hashring intact and not affect other parts of tor.
Fortunately, the onion service hashring is _not_ selected by looking at
the Running flag but since we do a 3-hop circuit to the HSDir, other
services on the same instance can influence each other by removing nodes
from the consensus for path selection.
This was made apparent with a small network that ran out of nodes to
used due to rapid succession of onion services uploading and failing.
See #40434 for details.
Fixes #40434
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-08-17 13:27:14 -04:00
Alexander Færøy
168ea275b8
Merge branch 'maint-0.4.6' into main
2021-08-16 15:28:22 +00:00
Alexander Færøy
46ad2240de
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-08-16 15:28:22 +00:00
Alexander Færøy
903c578119
Always teardown capture of logs in CAPTURE().
...
This will hopefully solve an issue where our gmtime related tests are
failing on 32-bit builds.
2021-08-16 15:27:38 +00:00
Nick Mathewson
b2c4ac09d4
Merge branch 'maint-0.4.6'
2021-08-16 09:51:27 -04:00
Nick Mathewson
6a01c34bb8
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-08-16 09:51:27 -04:00
Nick Mathewson
b2d6fed3e9
Disable message checking for some 32-bit tests about timegm failure.
...
Since we merged 40383, we don't expect these to give the same
warning on every platform.
2021-08-16 09:48:08 -04:00
Nick Mathewson
fd38609ae2
Make the version 0.4.6.7, not 0.4.6.7-dev.
2021-08-16 08:21:04 -04:00
Nick Mathewson
1ec4c7b34a
Make the version 0.4.5.10, not 0.4.5.10-dev.
2021-08-16 08:18:57 -04:00
David Goulet
685b3e4383
Update version to 0.4.5.10
...
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-08-13 09:42:52 -04:00
David Goulet
07c417b207
Update version to 0.4.6.7
...
Signed-off-by: David Goulet <dgoulet@torproject.org >
2021-08-13 09:42:26 -04:00
David Goulet
4252744788
Merge branch 'maint-0.4.6'
2021-08-12 12:13:26 -04:00
David Goulet
4c3c40e70c
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-08-12 12:13:26 -04:00
David Goulet
33abeeab94
Merge branch 'maint-0.3.5' into maint-0.4.5
2021-08-12 12:13:25 -04:00
Alexander Færøy
eca5b62213
Update GeoIP files to match IPFire location DB as per 2021/08/12.
2021-08-12 15:38:11 +00:00
Alexander Færøy
2160697d14
Merge branch 'maint-0.4.6' into main
2021-08-11 13:15:59 +00:00
Alexander Færøy
b8660e384f
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-08-11 13:15:59 +00:00
Alexander Færøy
81635ec577
Merge branch 'maint-0.3.5' into maint-0.4.5
2021-08-11 13:15:58 +00:00
Alexander Færøy
7e0971d868
Merge remote-tracking branch 'tor-gitlab/mr/417' into maint-0.3.5
2021-08-11 13:15:35 +00:00
Alexander Færøy
ac254d5334
Merge branch 'maint-0.4.6' into main
2021-08-11 13:14:26 +00:00
Alexander Færøy
e3c2179f25
Merge branch 'maint-0.4.5' into maint-0.4.6
2021-08-11 13:14:26 +00:00
Alexander Færøy
c48d1c3f7c
Merge branch 'maint-0.3.5' into maint-0.4.5
2021-08-11 13:14:26 +00:00