summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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
| | | |
* | | | Merge remote-tracking branch 'origin/mr/191'Nick Mathewson2021-12-152-23/+43
|\ \ \ \
| * | | | In reactor, use enums on whether to destroy circuitsNeel Chauhan2021-12-141-11/+20
| | | | |
| * | | | Methodize the destroy circuit reasonNeel Chauhan2021-12-142-22/+20
| | | | |
| * | | | Handle TRUNCATED cellsNeel Chauhan2021-12-131-12/+9
| | | | |
| * | | | Log on TRUNCATED cellNeel Chauhan2021-12-132-9/+25
| | |/ / | |/| |
* | | | Merge branch 'check_put_return' into 'main'eta2021-12-153-25/+27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always check whether stream-level SENDMEs are expected. Closes #261 See merge request tpo/core/arti!192
| * | | | Always check whether stream-level SENDMEs are expected.Nick Mathewson2021-12-143-25/+27
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (It's a protocol violation to get a SENDME when our send window is already full.) This patch makes SendWindow::put return a Result, so that it's easier to do the right thing with it. Closes #261.
* | | | Merge branch 'mfrw/proxy-flush-conns' into 'main'eta2021-12-151-42/+42
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proxy: introduce new functions to write_all & flush/close Closes #262 See merge request tpo/core/arti!199
| * | | | proxy: introduce new functions to write_all & flush/closeMuhammad Falak R Wani2021-12-151-42/+42
| | |/ / | |/| | | | | | | | | | Signed-off-by: Muhammad Falak R Wani <[email protected]>
* | | | Merge branch 'PendingRequest_remove_started_at' into 'main'eta2021-12-152-12/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Remove unused started_at in PendingRequest See merge request tpo/core/arti!196
| * | | Remove unused started_at PendingRequestNeel Chauhan2021-12-142-12/+2
| | | |
* | | | Merge branch 'happy-eyeballs-comment' into 'main'Nick Mathewson2021-12-141-3/+3
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-chanmgr: Fix happy eyeballs comment grammar in builder.rs See merge request tpo/core/arti!197
| * | | tor-chanmgr: Fix happy eyeballs comment grammar in builder.rsNeel Chauhan2021-12-141-3/+3
|/ / /
* | | Merge branch '260' into 'main'Nick Mathewson2021-12-143-0/+35
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Actually decrement the stream-level SENDME window Closes #260 See merge request tpo/core/arti!194
| * | Actually decrement the stream-level SENDME windoweta2021-12-143-0/+35
|/ / | | | | | | | | | | | | | | | | | | | | | | | | arti!126 overhauled the `tor-proto` circuit reactor, but left out one very important thing: actually decrementing the SENDME window for streams (not circuits) when we send cells along them. Since the circuit-level SENDME window would often prevent us from running into a problem, this wasn't caught until my benchmarking efforts noticed it (in the form of Tor nodes aborting the circuit for a protocol violation). fixes arti#260
* | Merge remote-tracking branch 'origin/mr/189'Nick Mathewson2021-12-141-1/+14
|\ \
| * | proxy: send SOCKS5 reply on failure casesMuhammad Falak R Wani2021-12-111-1/+14
| | | | | | | | | | | | Signed-off-by: Muhammad Falak R Wani <[email protected]>
* | | Merge remote-tracking branch 'origin/mr/186'Nick Mathewson2021-12-145-11/+9
|\ \ \
| * | | don't deny 'println' in examples in CIDaniel Eades2021-12-091-2/+2
| | | |
| * | | update CI to test all targetsDaniel Eades2021-12-091-2/+2
| | | |
| * | | address lint warningsDaniel Eades2021-12-093-5/+5
| | | |
| * | | address lint warningsDaniel Eades2021-12-091-4/+2
| |/ /
* | / s/hidden/onion/g in code commentsNeel Chauhan2021-12-132-2/+2
| |/ |/|
* | Merge branch 'reconfigure' into 'main'eta2021-12-1321-119/+714
|\ \ | | | | | | | | | | | | Make most arti-client fields reconfigurable. See merge request tpo/core/arti!181
| * | Fix Rustdoc errors.Nick Mathewson2021-12-082-4/+4
| | |
| * | Test FsStateMgr::path(), and fix a bug in it.Nick Mathewson2021-12-071-1/+8
| | | | | | | | | | | | | | | We join "state" to the directory name, so we must call parent() to get the original.
| * | Add a few tests to tor-config.Nick Mathewson2021-12-075-4/+95
| | |
| * | Make override_net_params take effect sooner.Nick Mathewson2021-12-073-4/+37
| | | | | | | | | | | | | | | This is still not as soon as I'd like: a real change here will require refactoring DirMgr::notify().
| * | Oops: MutCfg shouldn't implement Clone.Nick Mathewson2021-12-072-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | We don't want MutCfg to be automatially coneable, or we'll wind up with surprises like the one that this patch fixes in TorClient. (The "surprise" is that reconfigure() would only apply its client-specific options to one client instance.)