Commit Graph

10413 Commits

Author SHA1 Message Date
Andy
d09414858e Properly compute cell-drop overload fraction
Patch to address #40673. An additional check has been added to
onion_pending_add() in order to ensure that we avoid counting create
cells from clients.

In the cpuworker.c assign_onionskin_to_cpuworker
method if total_pending_tasks >= max_pending_tasks
and channel_is_client(circ->p_chan) returns false then
rep_hist_note_circuit_handshake_dropped() will be called and
rep_hist_note_circuit_handshake_assigned() will not be called. This
causes relays to run into errors due to the fact that the number of
dropped packets exceeds the total number of assigned packets.

To avoid this situation a check has been added to
onion_pending_add() to ensure that these erroneous calls to
rep_hist_note_circuit_handshake_dropped() are not made.

See the #40673 ticket for the conversation with armadev about this issue.
2022-10-06 00:46:29 -04:00
David Goulet
0cc27ecfdc Merge branch 'maint-0.4.7' 2022-08-12 09:56:54 -04:00
David Goulet
c4ff6a4f55 Merge branch 'maint-0.4.6' into maint-0.4.7 2022-08-12 09:56:54 -04:00
David Goulet
8244eefcd3 Merge branch 'maint-0.4.5' into maint-0.4.6 2022-08-12 09:56:54 -04:00
David Goulet
bb88086c72 geoip: Update geoip files with August 9th, 2022 database
Fixes #40658

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-12 09:56:50 -04:00
David Goulet
c142b59503 Merge branch 'maint-0.4.7' 2022-08-11 09:44:47 -04:00
David Goulet
9b4d3ed492 Merge branch 'maint-0.4.6' into maint-0.4.7 2022-08-11 09:44:47 -04:00
David Goulet
c65d8b2aad Merge branch 'maint-0.4.5' into maint-0.4.6 2022-08-11 09:44:47 -04:00
Tor CI Release
65ffb97c2f fallbackdir: Update list generated on August 11, 2022 2022-08-11 09:44:39 -04:00
Tor CI Release
f9acdd0630 Update geoip files to match ipfire location db, 2022/08/11. 2022-08-11 09:44:32 -04:00
David Goulet
c9232e8f3f Merge branch 'maint-0.4.7' 2022-08-11 09:27:03 -04:00
Mike Perry
9fb52305ee Add changes file for bug40642. 2022-08-11 09:26:51 -04:00
David Goulet
4d18f4aa9a Merge branch 'maint-0.4.7' 2022-08-10 08:53:08 -04:00
Roger Dingledine
d48eaff86d ignore families for L2 guard independence
mike is concerned that we would get too much exposure to adversaries,
if we enforce that none of our L2 guards can be in the same family.

this change set now essentially finishes the feature that commit a77727cdc
was attempting to add, but strips the "_and_family" part of that plan.
2022-08-09 16:39:26 -04:00
Roger Dingledine
7b1fffe0dd make L2 vanguards actually independent
We had omitted some checks for whether our vanguards (second layer
guards from proposal 333) overlapped or came from the same family.
Now make sure to pick each of them to be independent.

Fixes bug 40639; bugfix on 0.4.7.1-alpha.
2022-08-09 14:47:11 -04:00
David Goulet
16664c0017 Merge branch 'maint-0.4.7' 2022-08-09 11:01:44 -04:00
David Goulet
8bf1a86ae1 dirauth: Make voting flag threshold tunable via torrc
Remove UPTIME_TO_GUARANTEE_STABLE, MTBF_TO_GUARANTEE_STABLE,
TIME_KNOWN_TO_GUARANTEE_FAMILIAR WFU_TO_GUARANTEE_GUARD and replace each
of them with a tunnable torrc option.

Related to #40652

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-09 11:01:12 -04:00
David Goulet
681c15a32d dirauth: Add a AuthDirVoteGuard to pin Guard flags
Related to #40652

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-04 13:32:56 -04:00
David Goulet
5cc6ab0c1e Merge branch 'maint-0.4.5' into maint-0.4.6 2022-08-02 16:14:02 -04:00
David Goulet
bf30943cb7 Merge branch 'maint-0.4.7' 2022-08-02 16:14:02 -04:00
David Goulet
eee35adf74 Merge branch 'maint-0.4.6' into maint-0.4.7 2022-08-02 16:14:02 -04:00
David Goulet
10d755ead5 Merge branch 'tor-gitlab/mr/608' into maint-0.4.5 2022-08-02 16:13:58 -04:00
David Goulet
e69cf2340b Merge branch 'maint-0.4.5' into maint-0.4.6 2022-08-02 16:08:50 -04:00
David Goulet
4d3f42a6f2 Merge branch 'maint-0.4.7' 2022-08-02 16:08:50 -04:00
David Goulet
645eff49ac Merge branch 'maint-0.4.6' into maint-0.4.7 2022-08-02 16:08:50 -04:00
David Goulet
6fcae8e0d0 relay: Don't send DESTROY remote reason backward or forward
Fixes #40649

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-02 15:53:31 -04:00
David Goulet
f51c68729f Merge branch 'maint-0.4.7' 2022-08-02 15:31:00 -04:00
Mike Perry
af5ef98d1b Changes file for bug 40644. 2022-08-02 18:13:46 +00:00
David Goulet
0c984e0ec2 conn: Notify btrack subsys on normal OR conn close
Fixes #40604

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-08-01 10:58:40 -04:00
David Goulet
e618a7e445 Merge branch 'maint-0.4.5' into maint-0.4.6 2022-07-27 11:33:19 -04:00
David Goulet
22cb4c23d0 Merge branch 'maint-0.4.7' 2022-07-27 11:33:19 -04:00
David Goulet
7654e12be8 Merge branch 'maint-0.4.6' into maint-0.4.7 2022-07-27 11:33:19 -04:00
Nick Mathewson
8e7bd96362 Fix a check, make a netflow padding function more safe.
Previously, `channelpadding_get_netflow_inactive_timeout_ms` would
crash with an assertion failure if `low_timeout` was greater than
`high_timeout`. That wasn't possible in practice because of checks
in `channelpadding_update_padding_for_channel`, but it's better not
to have a function whose correctness is this tricky to prove.

Fixes #40645.  Bugfix on 0.3.1.1-alpha.
2022-07-27 09:16:50 -04:00
David Goulet
ce1675ef65 Merge branch 'tor-gitlab/mr/601' 2022-07-26 16:18:04 -04:00
David Goulet
5260b4ef34 Merge branch 'maint-0.4.5' into maint-0.4.6 2022-07-26 16:16:04 -04:00
David Goulet
e98995bb08 Merge branch 'maint-0.4.6' into maint-0.4.7 2022-07-26 16:16:04 -04:00
David Goulet
028f5fd6ea Merge branch 'maint-0.4.7' 2022-07-26 16:16:04 -04:00
David Goulet
ed74c52158 cmux: Remove a log bug that is actually an acceptable race
Closes #40647

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-07-26 16:14:09 -04:00
David Goulet
8d8afc4efa relay: Send DESTROY cell instead of TRUNCATED cell
Note that with this commit, TRUNCATED cells won't be used anymore that
is client and relays won't emit them.

Fixes #40623

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-07-26 14:01:21 -04:00
David Goulet
b7f9a24c08 relay: Remove unused conn->ext_or_conn_id
This also incidently removes a use of uninitialized stack data from the
connection_or_set_ext_or_identifier() function.

Fixes #40648

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-07-26 11:56:33 -04:00
Nick Mathewson
da52d7206a Merge remote-tracking branch 'tor-gitlab/mr/598' 2022-07-21 15:21:59 -04:00
Nick Mathewson
3cee70e87d Merge remote-tracking branch 'tor-gitlab/mr/592' 2022-07-21 15:19:28 -04:00
Nick Mathewson
0bd2065062 Merge remote-tracking branch 'tor-gitlab/mr/591' 2022-07-21 15:19:24 -04:00
Alex Xu (Hello71)
b1545b6d18 Changes file for #40630 (LibreSSL 3.5 compatibility) 2022-07-19 16:18:29 -04:00
David Goulet
331204e100 Revert "cmux: Don't pick a marked for close circuit as active"
This reverts commit 4f1298e418.
2022-06-23 10:55:56 -04:00
David Goulet
4f1298e418 cmux: Don't pick a marked for close circuit as active
Fixes #25312

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-06-23 09:44:25 -04:00
Neel Chauhan
5d2dc2d403 Add changes file for ticket #40431 2022-06-23 09:09:01 -04:00
Nick Mathewson
0dc9561f21 Add a missing "not" to a message.
Closes #40619.

Bugfix on 0.2.5.4-alpha.
2022-06-17 12:00:09 -04:00
Tor CI Release
edde188cf2 release: ChangeLog and ReleaseNotes for 0.4.7.8 2022-06-17 10:10:16 -04:00
Tor CI Release
9cab60183d fallbackdir: Update list generated on June 17, 2022 2022-06-17 10:04:15 -04:00
Tor CI Release
223886c118 Update geoip files to match ipfire location db, 2022/06/17. 2022-06-17 10:04:06 -04:00
David Goulet
7fc474bd3f Merge branch 'maint-0.4.7' 2022-06-17 09:13:31 -04:00
Mike Perry
5a25374209 Add changes file for bug40626 2022-06-17 09:03:13 -04:00
Nick Mathewson
0eb21427c9 Don't add redundant quotes with escaped() in log messages.
The escaped() function and its kin already wrap their output in
quotes: there's no reason to do so twice.

I am _NOT_ making a corresponding change in calls that make the same
mistake in controller-related functions, however, due to the risk of
a compatibility break. :(

Closes #22723.
2022-06-16 14:35:38 -04:00
David Goulet
1d6470a2a8 Merge branch 'maint-0.4.7' 2022-06-15 12:25:46 -04:00
Mike Perry
254ca6717f Changes file for Bug 40612 2022-06-15 14:43:52 +00:00
Mike Perry
2ce5142718 Changes file for Bug #40603. 2022-06-15 14:14:03 +00:00
Alex Xu (Hello71)
b65ffa6f06 Enable IP_BIND_ADDRESS_NO_PORT if supported 2022-06-15 08:35:40 -04:00
David Goulet
b733f9d6ac Merge branch 'maint-0.4.7' 2022-06-02 16:11:04 -04:00
David Goulet
dc7902ed55 Merge branch 'tor-gitlab/mr/583' into maint-0.4.7 2022-06-02 16:09:56 -04:00
Mike Perry
89a273e7f7 Bug 40620: Changes file 2022-06-02 18:54:11 +00:00
Alex Xu (Hello71)
87b2ce6f84 Trigger OOS on bind failures (fixes #40597) 2022-05-21 21:30:06 -04:00
David Goulet
4f038d224f Merge branch 'tor-gitlab/mr/489' 2022-05-16 08:51:00 -04:00
Alexander Færøy
4ba89c0ccc Merge branch 'maint-0.4.5' into maint-0.4.6 2022-05-09 14:37:26 +00:00
Alexander Færøy
5f2b75aafd Merge branch 'maint-0.4.6' into maint-0.4.7 2022-05-09 14:37:26 +00:00
Alexander Færøy
20112c13ac Merge branch 'maint-0.4.7' 2022-05-09 14:37:26 +00:00
Alexander Færøy
c213c1b0d1 Add changes entry to tor!575.
See: tpo/core/tor#40601.
2022-05-09 14:35:42 +00:00
Nick Mathewson
853270a871 Merge remote-tracking branch 'tor-gitlab/mr/574' 2022-05-04 10:34:03 -04:00
Pierre Bourdon
42034ae9da
changes: add entry for MR !574 2022-05-04 08:00:10 +02:00
Nick Mathewson
8d5692a2f7 Changes file for mr 569 2022-05-03 10:05:04 -04:00
Tor CI Release
3ca370c8b1 release: ChangeLog and ReleaseNotes for 0.4.7.7 2022-04-27 10:00:27 -04:00
Tor CI Release
06ed65bd85 fallbackdir: Update list generated on April 27, 2022 2022-04-27 09:41:38 -04:00
Tor CI Release
2270648baa Update geoip files to match ipfire location db, 2022/04/27. 2022-04-27 09:41:28 -04:00
Mike Perry
940e255fa8 Changes file for bug40598 2022-04-26 12:14:26 -04:00
David Goulet
32356a6076 Merge branch 'maint-0.4.5' into maint-0.4.6 2022-04-14 09:37:46 -04:00
David Goulet
dc90226cc3 Merge branch 'tor-gitlab/mr/491' into maint-0.4.5 2022-04-14 09:37:43 -04:00
David Goulet
b33f69abb5 Merge branch 'maint-0.4.5' into maint-0.4.6 2022-04-14 09:34:49 -04:00
David Goulet
9ac479ce1c Merge branch 'tor-gitlab/mr/497' into maint-0.4.5 2022-04-14 09:34:46 -04:00
Tor CI Release
0d90b0e5d1 release: ChangeLog and ReleaseNotes for 0.4.7.6-rc 2022-04-07 09:04:39 -04:00
Tor CI Release
133c64075b fallbackdir: Update list generated on April 07, 2022 2022-04-07 09:00:46 -04:00
Tor CI Release
28193dbf9d Update geoip files to match ipfire location db, 2022/04/07. 2022-04-07 09:00:42 -04:00
David Goulet
62fb184979 Merge branch 'maint-0.4.6' 2022-03-28 09:45:16 -04:00
David Goulet
d14af825ce Merge branch 'maint-0.4.5' into maint-0.4.6 2022-03-28 09:45:16 -04:00
David Goulet
b882b8d5d4 Merge branch 'tor-gitlab/mr/556' into maint-0.4.5 2022-03-28 09:44:31 -04:00
Nick Mathewson
de3872656a Sandbox: Permit the clone3 system call
Apparently glibc-2.34 uses clone3, when previously it just used
clone.

Closes ticket #40590.
2022-03-27 18:34:25 -04:00
Tor CI Release
9fdf02f1eb release: ChangeLog and ReleaseNotes for 0.4.7.5-alpha 2022-03-25 09:19:07 -04:00
Tor CI Release
9e5676031d fallbackdir: Update list generated on March 25, 2022 2022-03-25 09:11:19 -04:00
Tor CI Release
aaac633eb0 Update geoip files to match ipfire location db, 2022/03/25. 2022-03-25 09:10:16 -04:00
Nick Mathewson
8fcdc4c63f Light editing to changes entries for 0.4.7.5-alpha 2022-03-24 11:41:20 -04:00
David Goulet
dd63e8cf9d hs: Transfer ccontrol from circuit to cpath
Once the cpath is finalized, e2e encryption setup, transfer the ccontrol
from the rendezvous circuit to the cpath.

This allows the congestion control subsystem to properly function for
both upload and download side of onion services.

Closes #40586

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-16 14:03:27 -04:00
David Goulet
347eaa32bf relay: Lower DNS Exit-side timeout
Introduces two new consensus parameter:

  exit_dns_timeout: Number of seconds before libevent should consider
  the DNS request a timeout.

  exit_dns_num_attempts: Number of attempts that libeven should retry a
  previously failing query before calling it a timeout.

Closes #40312

Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-15 15:26:19 -04:00
David Goulet
17a8b3c735 Merge branch 'tor-gitlab/mr/547' 2022-03-15 15:16:30 -04:00
David Goulet
9841e7173d changes: Add changes file for ticket 40560
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-03-15 13:54:05 -04:00
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
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