summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge remote-tracking branch 'origin/mr/217'Nick Mathewson2022-01-061-2/+3
|\ \ \
| * | | arti-bench: Remove a FIXME by saying it's OK for this program to panicIan Jackson2022-01-061-2/+3
| |/ /
* | | Merge remote-tracking branch 'origin/mr/212'Nick Mathewson2022-01-063-5/+5
|\ \ \
| * | | tor-circmgr: Don't clone parameters in create_chantarget()Neel Chauhan2021-12-253-5/+5
| |/ /
* / / tor-proto: In begin_stream_impl(), if number of hops is zero, don't continueNeel Chauhan2021-12-251-1/+5
|/ /
| * Remove a bunch of unused RNGsNeel Chauhan2021-12-252-51/+23
|/
* Merge branch 'exclude-arti-bench-coverage' into 'main'eta2021-12-211-1/+1
|\ | | | | | | | | Exclude arti-bench from coverage. See merge request tpo/core/arti!210
| * Exclude arti-bench from coverage.Nick Mathewson2021-12-211-1/+1
| | | | | | | | | | This program is itself for testing; we don't strongly care how much coverage it has on its own.
* | Merge branch 'ticket_256' into 'main'eta2021-12-211-5/+7
|\ \ | | | | | | | | | | | | | | | | | | Only count timeouts when we've seen net activity recently. Closes #256 See merge request tpo/core/arti!207
| * | Only count timeouts when we've seen net activity.Nick Mathewson2021-12-201-5/+7
| |/ | | | | | | | | | | | | This closes arti#256. It makes our behavior match Tor's more closely, though it has a simpler implementation than Tor. I think that the extra complexity in Tor's logic is because we used to record timeouts in the histogram as well as in the success/failure log.
* | Merge branch 'arti-bench-usability' into 'main'eta2021-12-213-10/+41
|\ \ | |/ |/| | | | | Usability improvements to arti-bench.sh script See merge request tpo/core/arti!209
| * arti-bench.sh: Handle the case where CHUTNEY_PATH is set.Nick Mathewson2021-12-211-8/+32
| | | | | | | | | | Previously, this case would cause arti-bench to hang forever, trying to bootstrap against one network while another network was running.
| * arti-bench.sh: set $RUST_LOG if it isn't set.Nick Mathewson2021-12-211-0/+5
| | | | | | | | (An empty $RUST_LOG no output, and confuse the nickm^Wuser.)
| * tests/chutney/setup.sh: Fix a shellcheck warning.Nick Mathewson2021-12-212-2/+4
|/ | | | | shellcheck doesn't like `export FOO="$(bar)"` as one line, since it has the possibility of missing errors.
* Merge branch 'eta/instant-checked-add' into 'main'Nick Mathewson2021-12-201-2/+12
|\ | | | | | | | | preemptive.rs: Use Instant::checked_add instead of raw subtraction See merge request tpo/core/arti!206
| * preemptive.rs: Use Instant::checked_add instead of raw subtractioneta2021-12-201-2/+12
| | | | | | | | | | | | | | | | | | | | | | The implementations of `Add` / `Sub` (et al.) on `std::time::Instant` can panic if the underlying OS structure can't represent the result (like arti#266). Use Instant::checked_add and print a warning instead, to prevent panicking. Also, we now add instead of subtracting; I suspect it's reasonable that you might not be able to go backward past the first `Instant` created on some platforms, but going *forward* should probably work?
* | Update CONTRIBUTING to mention FIXME, not XXX.Nick Mathewson2021-12-201-1/+1
| |
* | Merge branch 'refactor/must-use-self' into 'main'eta2021-12-206-0/+10
|\ \ | | | | | | | | | | | | address clippy's latest lint See merge request tpo/core/arti!205
| * | address clippy's latest lintDaniel Eades2021-12-206-0/+10
| | |
* | | tor-proto: Replace XXXs with references to arti#269Nick Mathewson2021-12-201-9/+7
| | | | | | | | | | | | | | | These will require thought; should we ignore them, act on them, or continue to treat them as internal errors?
* | | Remove XXXs from tor-circmgr::mgrNick Mathewson2021-12-201-4/+0
| | | | | | | | | | | | | | | | | | IIUC, these anticipatd a need to store min_exit_circs_per_port in CircMgr. But the current design, where it goes into preemptive.rs and thence to usage, seems to work fine.
* | | arti-client: Change an XXXX to a TODO.Nick Mathewson2021-12-201-1/+5
| | | | | | | | | | | | | | | | | | We _do_ reject bad hostnames: just not where I once thought we might. We need to decide if the current behavior is what we want (and I think it is, probably?).
* | | Change an UTF-8 XXX to a TODO.Nick Mathewson2021-12-201-1/+2
| | | | | | | | | | | | We're assuming that prop285 is accepted in some form.
* | | tor-netdoc: Change an XXX to a TODO.Nick Mathewson2021-12-201-1/+4
| | | | | | | | | | | | | | | | | | Our behavior in handling not-yet-valid router descriptors doesn't match the C Tor implementation, but it's not a big deal: we don't currently use router descriptors at all.
* | | tor-netdoc: Use a more correct error typeNick Mathewson2021-12-201-1/+1
| | | | | | | | | | | | | | | | | | If we fail to convert a curve25519 key to an ed25519 key for checking the onion-key crosscert, don't call that an internal error: it means that something is wrong with the provided ntor key.
* | | Remove an XXXX about ed25519 signatures.Nick Mathewson2021-12-201-2/+0
|/ / | | | | | | | | As of tor-spec commit 01122c5bd7d2f0f, the spec is no longer ambiguous on this point.
* | Merge branch 'one_metahandler_at_a_time' into 'main'eta2021-12-161-10/+18
|\ \ | | | | | | | | | | | | tor-proto: Allow one meta-cell handler at a time. See merge request tpo/core/arti!204
| * | tor-proto: Allow one meta-cell handler at a time.Nick Mathewson2021-12-161-10/+18
| | | | | | | | | | | | | | | Previously the code would let us try to install a meta-cell handler before the old one was done, leading to possible confusion.
* | | Merge branch 'arti-bench' into 'main'eta2021-12-166-0/+478
|\ \ \ | |/ / |/| / | |/ | | Introduce an experimental benchmarking utility for Arti See merge request tpo/core/arti!195
| * Introduce an experimental benchmarking utility for Artieta2021-12-166-0/+478
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new `arti-bench` crate does a simple end-to-end benchmark test embedding Arti: it generates some random data (of configurable amount, depending on command-line parameters), and then sends said data back and forth via Arti (which should be configured to use a local Chutney network). Additionally, the benchmark can also be run via a local SOCKS5 server (in order to benchmark the performance via a local Chutney node, for comparison). The `tests/chutney/arti-bench.sh` sets up and tears down Chutney as required to make this work. This is very much a first cut; there are many things that should eventually get added, such as support for multiple connections, JSON output capabilities, running multiple tests, ...
* | Merge branch 'fallbackdirs-15-12-2021' into 'main'eta2021-12-161-869/+891
|\ \ | | | | | | | | | | | | fallbackdir: Update list generated on December 15, 2021 See merge request tpo/core/arti!202
| * | fallbackdir: Update list generated on December 15, 2021Tor CI Release2021-12-161-869/+891
| | | | | | | | | | | | Signed-off-by: Tor CI Release <[email protected]>
* | | Merge branch 'ct_sendme_tags' into 'main'eta2021-12-162-13/+48
|\ \ \ | | | | | | | | | | | | | | | | tor-proto: use const-time eq on sendme tags. See merge request tpo/core/arti!201
| * | | tor-proto: use const-time eq on sendme tags.Nick Mathewson2021-12-162-13/+48
| |/ / | | | | | | | | | | | | | | | | | | There's no known attack here, but it's best practice to always compare digests using a constant-time comparison operator. This resolves an XXXX comment.
* | | Merge branch 'half_stream_connected_ok' into 'main'eta2021-12-162-2/+15
|\ \ \ | | | | | | | | | | | | | | | | tor-proto: set HalfStream::connected_ok right. See merge request tpo/core/arti!203
| * | | tor-proto: set HalfStream::connected_ok right.Nick Mathewson2021-12-162-2/+15
|/ / / | | | | | | | | | | | | | | | | | | | | | Previously we'd always set it to true, allowing one CONNECTED per half-closed stream even if the stream had already received a CONNECTED cell. This resolves an XXXX.
* / / tor-proto: replace a streammap XXXX with a ticket.Nick Mathewson2021-12-161-3/+4
|/ /
* | tor-proto: document an infelicitous behavior.Nick Mathewson2021-12-161-3/+4
| | | | | | | | | | This was an XXXX before. Now it explains why the behavior is safe for now, but maybe not forever.
* | tor-cell: replace an XXXX with a TODO.Nick Mathewson2021-12-161-1/+6
| | | | | | | | | | The original comment was a gnomic question about what to box; the real issue is that we want to avoid copying data in our critical path.
* | tor-dirmgr: retain cache_usage on reset.Nick Mathewson2021-12-161-4/+19
| | | | | | | | | | | | | | Previously we didn't retain the value of our cache_usage field when calling reset() from GetMicrodescsState. This resolves an XXXX comment.
* | Merge branch 'more_destroyreason' into 'main'eta2021-12-163-20/+60
|\ \ | | | | | | | | | | | | Extend trace messages for destroy/truncated reasons. See merge request tpo/core/arti!200
| * | Extend trace messages for destroy/truncated reasons.Nick Mathewson2021-12-153-20/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes sense to put the method for human-readable strings onto the type itself, so that we can format these whenever they occur. I'm choosing the "human_str" method name here, since caret-generated types already have a to_str. I was thinking about using Display, but caret types already implement that. I've also moved the message from "warn!" to "debug!", since these aren't necessarily a problem condition.
* | | Merge branch 'flag-publish-2' into 'main'eta2021-12-166-158/+367
|\ \ \ | | | | | | | | | | | | | | | | Refactor directory events to use a new FlagPublisher mechanism. See merge request tpo/core/arti!188
| * | | Refactor directory events to use a FlagPublisher mechanism.Nick Mathewson2021-12-146-158/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This approach tries to preserve the current interface, but uses a counter-based event backend to implement a coalescing stream of events that can be represented as small integers. The advantage here is that publishing events no longer needs to be a blocking operation, since there is no queue to fill up.
* | | | tor-dirmgr: Warn on a bug case.Nick Mathewson2021-12-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This warning occurs if we ask for microdescriptors from our local cache, and our cache gives us something we didn't ask for. It shouldn't be possible, so let's warn when it occurs. This patch resolves an XXXX.
* | | | Adjust comment to be accurate wrt #263.Nick Mathewson2021-12-161-3/+5
| | | |
* | | | Do not treat spawn failure as a fatal error.Nick Mathewson2021-12-151-12/+12
| | | |
* | | | Expand some comments about circuit expiration.Nick Mathewson2021-12-152-6/+14
| | | | | | | | | | | | | | | | | | | | Emphasize that circuit expiration functions _decide whether to expire the circuit_, and don't expire it automatically.
* | | | Merge remote-tracking branch 'origin/mr/169'Nick Mathewson2021-12-152-54/+105
|\ \ \ \ | |_|/ / |/| | |
| * | | Add spawn_expiration_task function in circuit managerYuan Lyu2021-12-152-54/+105
| | | |