aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | tor-dirserver: Add `dir_key_published` to schemaClara Engler2026-01-151-1/+4
| | | | | | |
| * | | | | | tor-llcrypto: Add `RsaIdentity::as_hex_upper`Clara Engler2026-01-152-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the method `as_hex_upper(&self) -> String` to `RsaIdentity`, which returns the `RsaIdentity` as a hexadecimal string in uppercase. Although this type already implements `ToString`, this result is unsuitable for working with consensuses because they neither contain a `$` prefix, nor are encoded in lowercase.
| * | | | | | tor-netdoc: Make ConsensusFlavor exhaustiveClara Engler2026-01-151-1/+5
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit marks the ConsensusFlavor struct exhaustive because handling it in a non-exhaustive fashion would cause lots of redundant error handling in tor-dirserver. Besides, a change in the list of consensus flavors should indeed be breaking for applications making use of this struct, as it is quite a heavy change, from a netdoc point of view.
* | | | | | Merge branch 'version-expose' into 'main'Alexander Hansen Færøy2026-01-154-9/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Rename Version and expose it as netstatus::SoftwareVersion See merge request tpo/core/arti!3594
| * | | | | | tor-netdoc: Rename Version and expose it as netstatus::SoftwareVersionIan Jackson2026-01-154-9/+9
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This struct is still a bit odd, and there's a todo saying we may change it again, but at least now it's now available. While we're here, rename the variant Tor to CTor.
* | | | | | Merge branch 'install-runtime' into 'main'Ian Jackson2026-01-156-2/+39
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | Use and document `tor_log_ratelim::install_runtime()` See merge request tpo/core/arti!3593
| * | | | | arti-client: document the need for `tor_log_ratelim::install_runtime()`Steven Engler2026-01-141-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function can only be called once within a program, so we can't call it ourselves from a `TorClient`. The user must call it themselves, so we should document this.
| * | | | | arti-relay: call `tor_log_ratelim::install_runtime`Steven Engler2026-01-143-0/+6
| | | | | |
| * | | | | arti: call `tor_log_ratelim::install_runtime`Steven Engler2026-01-143-2/+8
|/ / / / /
* | | | | Merge branch 'authcert-constructor-non-exhaustive' into 'main'Clara Engler2026-01-146-13/+51
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Use manual non exhaustive in constructors See merge request tpo/core/arti!3571
| * | | | | tor-netdoc: Fix typoIan Jackson2026-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3571#note_3325449
| * | | | | tor-netdoc: constructors: Use manual non exhaustiveIan Jackson2026-01-143-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | With `#[non_exhaustive]`, you're not allowed to write even `Thing { ..base }`.
| * | | | | tor-netdoc: derives: New `skip` document field optionIan Jackson2026-01-144-10/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us having document items that are "manually non exhaustive" which is necessary for struct literal constructors.
* | | | | | Merge branch 'download-test-speed' into 'main'Clara Engler2026-01-142-36/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Speedup in tor-dirserver tests See merge request tpo/core/arti!3591
| * | | | | | tor-dirserver: Speedup tests using tokio's test-utilClara Engler2026-01-142-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit speeds up the tests in `tor-dirserver` by using functionality from Tokio's `test-util`. Most notably, it runs the time intensive test in paused mode, which means that the clock gets advanced either explicitly or implicitly using auto-advance in case the runtime has nothing to do. In our case, the last one, auto-advancing, is used, leading to our sleep calls returning immediately. This is good enough for testing in this module. It is not the responsibility of tor-dirserver to ensure whether `RetryDelay` returns proper values, as this is the responsibility of `tor-basic-utils`. Still, it is a bit unfortunate that Tokio offers no way to manually disbale the auto-advancing. In the future, it might be useful to migrate more parts of this to crate to `tor-rtcompat`, but for now, this change is a good enough performance fix.
| * | | | | | tor-dirserver: Remove slow ineffective testClara Engler2026-01-141-27/+0
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes `mirror::download::test::request_fail_timeout` which takes more than five seconds (due to a timeout) and is generally ineffective in what it does, because testing whether a task is still sleeping after a certain time is not super trivial with the tools Tokio offers. All this test offers is testing that we enter a timeout at all.
* | | | | | Merge branch 'rpc-auto-spec' into 'main'Nick Mathewson2026-01-141-11/+54
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | rpc: Document the intended behavior of inet-auto connpts See merge request tpo/core/arti!3587
| * | | | | | rpc: Rename socket_stored_in_file => socket_address_fileNick Mathewson2026-01-141-2/+2
| | | | | | |
| * | | | | | Suggestions from @dizietNick Mathewson2026-01-141-0/+23
| | | | | | |
| * | | | | | rpc: Document the intended behavior of inet-auto connptsNick Mathewson2026-01-131-11/+31
| | |_|/ / / | |/| | | | | | | | | | | | | | | | Part of #1844.
* | | | | | Merge branch 'oniux-web' into 'main'Alexander Hansen Færøy2026-01-143-0/+165
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | web: Add oniux website See merge request tpo/core/arti!3562
| * | | | | web: Update oniux to 0.7.0Clara Engler2026-01-141-1/+1
| | | | | |
| * | | | | web: Minor improvements to oniux introClara Engler2026-01-141-4/+5
| | | | | |
| * | | | | web: Add oniux websiteClara Engler2026-01-143-0/+164
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now, this is just a copy of the oniux blog post alongside some installation instructions. People still tend to refer to the blog post as the canonical source of information, which is rather bad, as updating the installation instructions there for every release is rather cumbersome.
* | | | | Merge branch 'flaky-busy-timeout' into 'main'Ian Jackson2026-01-141-38/+58
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-dirserver: Eliminate use of sleep in tests Closes #2308 See merge request tpo/core/arti!3582
| * | | | | tor-dirserver: Eliminate use of sleep in testsClara Engler2026-01-131-38/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit eliminates the use of sleep in database tests because those can be flaky, especially when the CI scheduler is overloaded, leading to potential timeout invariants not holding true anymore. We now fix this by using synchronization primitives from Rust in order for threads to communicate. Documentation has been added explaining how these tests work in greater detail. Fixes #2308
* | | | | | Merge branch 'post-release-bis' into 'main'Ian Jackson2026-01-148-330/+418
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Post-release steps (conflicts resolved) See merge request tpo/core/arti!3585
| * | | | | | slotmap-careful: Drop HopSlotMapIan Jackson2026-01-142-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We aren't using this, and this crate still has a 0.x version. I think this is OK, rather than having a deprecation period.
| * | | | | | tor-dirserver: Fix code broken by rusqlite upgradeClara Engler2026-01-141-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQLite does not support u64 and the new version of SQLite makes a certain piece of tor-dirserver no longer compile due to the lack of `ToSql` for `u64`. This commit fixes it by converting these types from `u64` to `i64` saturatingly.
| * | | | | | cargo: Upgrade dependencies potentially breakingClara Engler2026-01-145-34/+47
| | | | | | |
| * | | | | | cargo: Perform non-breaking upgradesClara Engler2026-01-141-291/+360
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is a simple invocation of `cargo update`.
* | | | | | | Merge branch 'encode-authcert-sigs-doc' into 'main'Ian Jackson2026-01-141-0/+156
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | Notes about netdoc shift/reduce conflicts and authcert in netstatus See merge request tpo/core/arti!3565
| * | | | | | authcert-in-consensus: Allow the `fingerprint` anomalyIan Jackson2026-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3565#note_3323304 https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/453#note_3323185
| * | | | | | authcert-in-consensus: Fix some wrong intro item refsIan Jackson2026-01-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3565#note_3323305 https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3565#note_3323306
| * | | | | | authcert-in-consensus: Revised less-generic proposalIan Jackson2026-01-121-45/+67
| | | | | | |
| * | | | | | authcert-in-consensus: Improve, clarify, xref requirementsIan Jackson2026-01-121-13/+9
| | | | | | |
| * | | | | | authcert-in-consensus: Fix intro wording and semantic botchesIan Jackson2026-01-121-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, this only applies to votes, not other kinds of nestatus. Secondly, we wrote "netstatus" a couple of times instead of "vote" which is very confusing.
| * | | | | | authcert-in-consensus: Fix typoIan Jackson2026-01-121-1/+1
| | | | | | |
| * | | | | | Notes about netdoc shift/reduce conflicts and authcert in netstatusIan Jackson2026-01-121-0/+139
| | |_|_|/ / | |/| | | |
* | | | | | Merge branch 'semver' into 'main'opara2026-01-138-24/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Post-release steps (semver.md removal only) See merge request tpo/core/arti!3589
| * | | | | | meta: Remove all semver.md files post-releaseClara Engler2026-01-138-24/+0
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | Fix the conflict in tor-netdoc/semver.md by hand, including the new entries already landed since v1.9.0.
* | | | | | Merge branch 'ticket_2305' into 'main'opara2026-01-131-2/+3
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make rpc.py script work on Windows Closes #2305 See merge request tpo/core/arti!3576
| * | | | | python rpc wrapper: Use socket types that work on windows.Nick Mathewson2026-01-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we were using c_int unconditionally, which works everywhere else. Closes #2305. Co-Authored-By: Carti
* | | | | | Merge branch 'ticket1599_02' into 'main'David Goulet2026-01-1323-151/+365
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | chanmgr: Ability for the ChanMgr to be channel type specific and launch relay channels See merge request tpo/core/arti!3563
| * | | | | | proto: Fix comments documentationDavid Goulet2026-01-133-4/+4
| | | | | | |
| * | | | | | proto: Seal the VerifiableChannel and FinalizableChannel traitsDavid Goulet2026-01-133-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are public but avoid anyone outside implementing them. Signed-off-by: David Goulet <[email protected]>
| * | | | | | chanmgr: Spawn task for ChannelProvider impl of get_or_launch()David Goulet2026-01-133-24/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To pull this off, ChannelProvider::get_or_launch() needed to change from "&self" to "self: Arc<Self>" so we could pass self to the spawned task. This is fine as the caller of ChannelProvider (circuit reactor) has a Arc<ChanMgr>. This also removes the PhantomData for the runtime as we now actually use it. Signed-off-by: David Goulet <[email protected]>
| * | | | | | proto: Improve channel trait commentsDavid Goulet2026-01-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | | proto: Add semver.md for breaking changesDavid Goulet2026-01-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | | chanmgr: Get rid of the builder outbound_chan_typeDavid Goulet2026-01-134-40/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead, we'll simply use `RelayInitiator` if the identity keys (identities) struct is set. This avoids the problem where someone could call outbound_chan_type() of the ChanMgrConfig and get the wrong channel type if with_identities() is set after. This way, a single call, `with_identities()` is what will define the outbound channel type so no chance of errors. This also removes the cfg_if {} around the builder creation in a much more simplified version. Related to #1599 Signed-off-by: David Goulet <[email protected]>