summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | circmgr: Fix a pair of clippy warnings.Nick Mathewson2022-01-071-2/+2
| | | | |
| * | | | tor-circmgr: Remove Arc around ClientCircIan Jackson2022-01-075-24/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See the new commentary text on `ClientCirc` for the rationale. Signed-off-by: Ian Jackson <[email protected]>
| * | | | tor-circmgr: tests: Do fake circuit equality by idIan Jackson2022-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are going to get rid of the Arc. Happily there is an id which is always constructed uniquely and preserved by clone. (auto-deref lets us make the function take &Self instead of &Arc) Signed-off-by: Ian Jackson <[email protected]>
| * | | | tor-circmgr: tests: Introduce and use FakeCirc::eq()Ian Jackson2022-01-071-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes a lot of open-coded Arc::ptr_eq() calls Signed-off-by: Ian Jackson <[email protected]>
| * | | | tor-circmgr: Replace some Arc::clone with .clone()Ian Jackson2022-01-071-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make the code work when it's not an Arc any more. Signed-off-by: Ian Jackson <[email protected]>
| * | | | tor-circmgr: Require that AbstractCirc are CloneIan Jackson2022-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are going to get rid of a lot of Arc, so we need the underlying thing to be Clone. Signed-off-by: Ian Jackson <[email protected]>
* | | | | Merge branch 'remove-type-annotation' into 'main'Nick Mathewson2022-01-071-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | tor-circmgr: Remove a type annotation in a method call See merge request tpo/core/arti!225
| * | | | tor-circmgr: Remove a type annotation in a method callIan Jackson2022-01-071-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a method, so the resolution is automatic. It's not clear to me why this was written out this way, given that extend_ntor is right above. Signed-off-by: Ian Jackson <[email protected]>
* / / / De-Arc-ify Buildable for ClientCircNeel Chauhan2022-01-062-14/+7
|/ / /
* | | Merge branch 'main' into 'remove_unused_rngs'eta2022-01-0633-12/+45
|\ \ \ | | | | | | | | | | | | # Conflicts: # crates/tor-circmgr/src/build.rs
| * \ \ Merge branch 'refactor/unwrap-or-default' into 'main'eta2022-01-061-1/+1
| |\ \ \ | | |/ / | |/| | | | | | | | | | prefer 'unwrap_or_default' to manual constructor See merge request tpo/core/arti!215
| | * | prefer 'unwrap_or_default' to manual constructorDaniel Eades2022-01-011-1/+1
| | | |
| * | | Move a comment to the right place.Nick Mathewson2022-01-061-4/+2
| | | |
| * | | Merge remote-tracking branch 'origin/mr/214'Nick Mathewson2022-01-0629-2/+32
| |\ \ \
| | * | | extend lints to include 'clippy::all'Daniel Eades2021-12-2829-2/+32
| | |/ /
| * | | 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
|/ /
* | 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 '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?
* | | 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-163-0/+392
|\ \ \ \ | |/ / / |/| / / | |/ / | | | Introduce an experimental benchmarking utility for Arti See merge request tpo/core/arti!195
| * | Introduce an experimental benchmarking utility for Artieta2021-12-163-0/+392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | 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-165-158/+366
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 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-145-158/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.