Commit Graph

38055 Commits

Author SHA1 Message Date
Mike Perry f6f7c4e846 Emit control port notification for XON/XOFF 2022-03-14 15:16:26 -04:00
Mike Perry cf8d9fb1a0 Control port STREAM XON/XOFF status event notification 2022-03-14 15:16:26 -04:00
David Goulet df6625300d Merge branch 'tor-gitlab/mr/543' 2022-03-11 09:29:41 -05:00
David Goulet be80383a7c Merge branch 'maint-0.4.5' into maint-0.4.6 2022-03-10 09:18:57 -05:00
David Goulet c076ac787f Merge branch 'maint-0.4.6' 2022-03-10 09:18:57 -05:00
David Goulet 254b23ab9d hs: Schedule mainloop event on dirinfo change
Due to a possible Guard subsystem recursion, when the HS client gets
notified that the directory information has changed, it must run it in a
seperate mainloop event to avoid such issue.

See the ticket for more information on the recursion. This also fixes a
fatal assert.

Fixes #40579

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-10 08:58:26 -05:00
David Goulet a04987dd8c readme: Fix sentence in Releases section
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-09 14:13:34 -05:00
David Goulet 069b278601 hs: Don't BUG() when setting up RP congestion control
It is possible to not have the descriptor anymore by the time the
rendezvous circuit opens. Don't BUG() on that.

Instead, when sending the INTRODUCE1 cell, make sure the descriptor we
have (or have just fetched) matches what we setup in the rendezvous
circuit.

If not, the circuit is closed and another one is opened for a retry.

Fixes #40576

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-09 12:15:12 -05:00
David Goulet 0cf82cf8cb Merge branch 'maint-0.4.6' 2022-03-09 08:48:59 -05:00
David Goulet 472c7127c7 Merge branch 'maint-0.4.5' into maint-0.4.6 2022-03-09 08:46:55 -05:00
David Goulet 9efb04bb3e hs: Fix multiple port label on single metric
Prometheus needs unique labels and so this bug was causing an onion
service with multiple ports to have multiple "port=" label for the
metrics requiring a port label.

Fixes #40581

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-08 13:56:54 -05:00
David Goulet f4aa985cf7 hs: Fix multiple port label on single metric
Prometheus needs unique labels and so this bug was causing an onion
service with multiple ports to have multiple "port=" label for the
metrics requiring a port label.

Fixes #40581

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-08 13:50:34 -05:00
Roger Dingledine 1c3cefe2cf don't list non-stable releases in ReleaseNotes
(the idea is that ReleaseNotes is for learning what you get when you
move from one stable to another, whereas ChangeLog is for learning what
changed in each released version of tor.)
2022-03-07 14:35:58 -05:00
Roger Dingledine 0add55c31f fix typo in changelog 2022-03-07 14:35:48 -05:00
Mike Perry c7c2287d07 Make a check for origin circuit explicit. 2022-03-03 20:55:46 +00:00
Mike Perry 7cb050bd7d Ensure CIRC_BW event is emitted immediately upon slow start exit.
This ensures sbws gets this information quickly, so it can begin measurement.
2022-03-03 20:55:46 +00:00
Mike Perry 646a1d5f9a Add congestion control fields to CIRC_BW control port event 2022-03-03 20:06:38 +00:00
Tor CI Release 331b2aa348 version: Bump version to 0.4.7.4-alpha-dev 2022-02-25 10:53:16 -05:00
Tor CI Release 9059baff91 version: Bump version to 0.4.7.4-alpha tor-0.4.7.4-alpha 2022-02-25 09:21:22 -05:00
Tor CI Release a6b948d1cc release: ChangeLog and ReleaseNotes for 0.4.7.4-alpha 2022-02-25 09:20:59 -05:00
Tor CI Release 211e093761 fallbackdir: Update list generated on February 25, 2022 2022-02-25 09:12:27 -05:00
Tor CI Release a424f6c7bf Update geoip files to match ipfire location db, 2022/02/25. 2022-02-25 09:11:55 -05:00
Dimitris Apostolou 2905e7667e Fix typos 2022-02-25 11:41:34 +02:00
David Goulet 45416356ed Merge branch 'tor-gitlab/mr/488' 2022-02-23 15:21:40 -05:00
David Goulet d09e58d9bf cc: Fix memleak when building extension response
Fixes #40575

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-23 14:40:04 -05:00
David Goulet 69f1a7aa59 Merge branch 'tor-gitlab/mr/536' 2022-02-23 13:19:10 -05:00
Roger Dingledine 37b0d464b8 and fix those typos in the releasenotes too 2022-02-23 10:22:18 -05:00
Roger Dingledine 53ebe16b12 fix typos, remove wrong stanzas, update 0.4.6.10
we were missing the 0.4.6.10 changes in ReleaseNotes, and the
0.4.0.5 releasenotes mistakenly included some 0.4.0.x bugfixes.
2022-02-23 10:07:43 -05:00
Roger Dingledine 72729210bf fix a typo in a comment 2022-02-23 10:03:24 -05:00
Mike Perry 2d0377be75 Reject intro2 cells that request unadvertized congestion control. 2022-02-23 00:42:31 +00:00
Mike Perry 77bf932c83 Properly initialize the cc_enabled field in hs intro data. 2022-02-23 00:23:23 +00:00
Mike Perry 01bda6c23f Add test for sendme_inc validation. 2022-02-22 19:28:36 +00:00
Mike Perry 8f4bd8730c Add test for sendme_cell_is_next with sendme_inc of 31 2022-02-22 19:28:36 +00:00
Mike Perry 5c88bea84c Add test for circuit_sendme_cell_is_next() when sendme_inc is 100.
This ensures compatibility with old tor.
2022-02-22 19:28:36 +00:00
Mike Perry 933e4b4788 Add changes file 2022-02-22 19:28:35 +00:00
Mike Perry a956b20c1d Add a delta parameter to Vegas.
This allows us to cap the queue use during steady state. In shadow, this
reduced instances of long circuit queues at relays.
2022-02-22 19:28:35 +00:00
Mike Perry 3a3f111b23 Exit slow start at the gamma threshold
This improves performance and fairness.
2022-02-22 19:28:35 +00:00
Mike Perry 1960bf09f3 Increment by at least 2 sendme_incs in slow start 2022-02-22 19:28:35 +00:00
Mike Perry d62f9c9d00 Only apply more frequent cwnd updates after slow start. 2022-02-22 19:28:35 +00:00
Mike Perry 43f6f3fd3a Make N_EWMA a percentage of CWND update rate, capped by a max value.
This proved better in Shadow sims than just a multiple of CWND.
2022-02-22 19:28:35 +00:00
Mike Perry 3079e2cacc Relocate two parameters from circuit scope to global scope.
Changes in these will not affect in-progress transfers.
2022-02-22 19:28:35 +00:00
Mike Perry 4f3a0e39cf Guard against 0 time delta in BDP calc.
This can only happen in Shadow, but it will cause issues there.
2022-02-22 19:28:35 +00:00
Mike Perry 8052d0c2c0 Increase RTT ratio used to detect monotime jumps/stalls.
In Shadow, we saw RTT jumps as high as 1000 naturally.

So let's set this to 5000, to give us some breathing room.
2022-02-22 19:28:35 +00:00
Mike Perry 338d00ba92 Fix NULL pointer deref in logs 2022-02-22 19:28:35 +00:00
Mike Perry 86f81abe30 Properly compute the number or recv cells from deliver_window
Without this conversion, there is an implict 1000-recv_cells, which causes
the mod to fail if it is not a factor of 1000.
2022-02-22 19:28:35 +00:00
Mike Perry b2553bfba2 Use path type hint for Vegas queue parameters.
These parameters will vary depending on path length, especially for onions.
2022-02-22 19:28:35 +00:00
Mike Perry 0a6cde8756 Set new defaults for congestion control parameters.
Defaults determined from Shadow experimentation.

More parameter functionality changes to follow.
2022-02-22 19:28:35 +00:00
David Goulet d4cf3fadec cc: Change edge_get_ccontrol() to look at both cpath and on_circuit
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22 19:28:35 +00:00
David Goulet 27d948dab8 hs: Fix tests for congestion control 2022-02-22 19:28:35 +00:00
David Goulet 6f45ad3771 hs: Setup congestion control on service rends using intro data
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22 19:28:35 +00:00