Commit Graph

38563 Commits

Author SHA1 Message Date
David Goulet
1760a12f83 dns: Wake up a dormant tor with a DNSPort request
Fixes #40577

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-15 12:12:57 -04:00
David Goulet
1934e24469 Merge branch 'tor-gitlab/mr/546' 2022-03-14 15:17:05 -04:00
Mike Perry
9f0b0afa2e Changes file for #40568 2022-03-14 15:16:26 -04:00
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
Nick Mathewson
33bb1c5fca connection_or_set_identity_digest(): handle zero ed_id better
It looks like our code actually assumes (by dereferencing it in a
log call) that ed_id will _not_ be NULL, but rather will be a bunch
of zero bytes.  Refactor the code accordingly, and stop using NULL
tests on ed_id.
2022-03-02 09:38:58 -05:00
Nick Mathewson
ecbab95998 Add a changes file for 40563. 2022-03-02 09:38:45 -05:00
Nick Mathewson
93625da29e connection_or_set_identity_digest: more defensive programming
We expect ed_id == NULL here to indicate "no ed id", but other parts
of Tor sometimes use an all-0 ed_id.  Here we detect that input and
replace it with what's expected.
2022-03-01 12:02:46 -05:00
Nick Mathewson
a79046f40a Fix logic for whether a channel's Ed25519 ID is changing
The previous code would notice if we were changing from one identity
to another, but not if we were changing from no identity to having
an identity.  This problem caused a bug (spotted by cypherpunks in
ticket #40563) where if we created a channel for a circuit request
that doesn't include an Ed25519 identity, we won't be able to use
that channel later for requests that _do_ list Ed25519.

Fix for 40563; bugfix on 0.3.0.1-alpha.
2022-03-01 12:01:53 -05:00
Nick Mathewson
536b5c8059 connection_or_set_identity_digest(): Make errors nonfatal.
Previously we were using tor_assert() to enforce the documented
invariant here; this commit changes it to use BUG() instead.  It
will protect us from crashes if the next commit (on #40563) turns
out to expose a bug somewhere.
2022-03-01 11:22:34 -05: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 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