summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | 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]>
| * | | | | chanmgr: Add semver.md for breaking changesDavid Goulet2026-01-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | test: Remove unused importDavid Goulet2026-01-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | build: Fixes for non relay featureDavid Goulet2026-01-131-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Add link_protocol() to VerifiableChannel traitDavid Goulet2026-01-133-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Implement tor_proto::ChannelProvider for ChanMgrDavid Goulet2026-01-132-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Use the new tor-proto channel traits in builderDavid Goulet2026-01-131-170/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove code duplication and simplifies the code by using the new VerifiableChannel and FinalizableChannel traits. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Add traits for public channel viewsDavid Goulet2026-01-138-94/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add traits that will be returned outside tor-proto allowing us to not expose client and relay specific channels. The goal is for the tor-chanmgr to get those objects implementing those traits and can build and run the reactor without knowing the specific underlying type. This allows us to have less code duplication and less client/relay distinction in the chanmgr. Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Add a relay channel connect to ChanBuilderDavid Goulet2026-01-131-9/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, this is not great. Lots of duplicated code but it is a starting point that we can build on top to remove code duplication. Future commit will address this but for now, the client and relay mechanics are implemented. Signed-off-by: David Goulet <[email protected]>
| * | | | | proto: Add clock_skew() helper to relay unverified channelDavid Goulet2026-01-131-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Rename the connect_no_timeout() to be client specificDavid Goulet2026-01-131-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Heavy refactoring coming up for the ChanBuilder. This renames connect_no_timeout() to be client specific and uses the client channel builder directly instead of the generic one. Previous commit added the outbound ChannelType to the ChanBuilder which means that we'll soon have a relay specific function to connect using the relay channel builder. Refactoring will then happen for shared code in those two functions. Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Add RelayIdentities to ChanBuilderDavid Goulet2026-01-132-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Add ChannelType to channel manager configDavid Goulet2026-01-137-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to pass it to the ChanBuilder which will be able to use this type for the outbound channels. For now, we do this trick where if we have relay identities, we always consider that all outbound channels will be RelayInitiator. Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Introduce a ChanMgrConfig structDavid Goulet2026-01-139-15/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This struct is used to pass configuration parameters to the ChanMgr when building it. At the moment, it holds the ChannelConfig and RelayIdentities (feature gated) which will be used in subsequent commits. Note that relays do require RelayIdentities to build channels. Signed-off-by: David Goulet <[email protected]>
| * | | | | chanmgr: Remove KeyMgr from constructorDavid Goulet2026-01-138-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll rely on a RelayIdentities to pass in the right keys to the ChanMgr instead of the entire KeyMgr. Signed-off-by: David Goulet <[email protected]>
* | | | | | Merge branch 'dedupe-handler' into 'main'gabi-2502026-01-136-58/+48
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | proto: Dedupe IncomingStreamRequestHandler See merge request tpo/core/arti!3572
| * | | | | proto: Fix docs post-refactoringGabriela Moldovan2026-01-131-2/+2
| | | | | |
| * | | | | proto: Dedupe IncomingStreamRequestHandlerGabriela Moldovan2026-01-126-62/+47
| | | | | |
| * | | | | proto: Give IncomingStreamRequestHandler a HopNumGabriela Moldovan2026-01-122-1/+6
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This currently duplicates the client `IncomingStreamRequestHandler`. To deduplicate it, we need the `hop_num` to be optional (it will be `None` for relays, and `Some(hopnum)` in the client reactor). The next commit will fix the code duplication.
* | | | | Merge branch 'weak-hash-set' into 'main'opara2026-01-131-0/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | maint: Warn if `retain` method is used from 'weak_table' crate See merge request tpo/core/arti!3574
| * | | | | maint: warn if `retain` method is used from 'weak_table' crateSteven Engler2026-01-121-0/+8
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The retain method is broken on these types. I only tested `WeakValueHashMap` and `WeakHashSet`, but it's likely that the other types are broken as well. We don't use this method currently, but it would be easy to accidentally use it in the future. Let's try to catch this bug early, and if it happens to get fixed, then it's easy to remove this lint.
* | | | | Merge branch 'streammap-docs' into 'main'gabi-2502026-01-131-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | proto: Update outdated reference to rxs in StreamMap docs See merge request tpo/core/arti!3573
| * | | | | proto: Update outdated reference to rxs in StreamMap docsGabriela Moldovan2026-01-121-1/+1
| |/ / / /
* | | | | Merge branch 'authcert-constructor' into 'main'Ian Jackson2026-01-135-5/+183
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | tor-netdoc: constructor derive See merge request tpo/core/arti!3560
| * | | | tor-netdoc: Improve docs for derived constructorsClara Engler2026-01-131-2/+12
| | | | |
| * | | | tor-netdoc: Remove TODO re AuthCert constructionIan Jackson2026-01-131-2/+0
| | | | |
| * | | | tor-netdoc: Deprecate AuthCertBuilderIan Jackson2026-01-133-0/+6
| | | | |
| * | | | tor-netdoc: improve derived Constructor docs with a kind-of exampleIan Jackson2026-01-131-0/+11
| | | | | | | | | | | | | | | | | | | | Let's not ask users to refer to the Constructor derive macro docs.
| * | | | tor-netdoc: Provide AuthCertConstructorIan Jackson2026-01-133-1/+11
| | | | |
| * | | | tor-netdoc: Fix an attribute position in AuthCertIan Jackson2026-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | The compiler doesn't notice this, but it's odd.
| * | | | tor-netdoc: implement Constructor deriveIan Jackson2026-01-131-3/+54
| | | | |
| * | | | tor-netdoc: constructor derive: APIIan Jackson2026-01-131-1/+93
| |/ / / | | | | | | | | | | | | This doesn't actually work of course.
* | | | Merge branch 'relnotes' into 'main'arti-v1.9.0Clara Engler2026-01-131-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | changelog: Update commit hash in URLs to latest main See merge request tpo/core/arti!3583
| * | | | changelog: update commit hash in URLs to latest mainSteven Engler2026-01-131-2/+2
| | |_|/ | |/| | | | | | | | | | This includes the comment fix from 2c26ba553a.
* | | | Merge branch 'futures-copy-bump' into 'main'Clara Engler2026-01-134-4/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cargo: Bump futures-copy See merge request tpo/core/arti!3580
| * | | | cargo: Bump futures-copyClara Engler2026-01-134-4/+4
| |/ / / | | | | | | | | | | | | | | | | The dependencies of futures-copy got bumped in arti!3570, leading to a change in futures-copy, hence why we bump the patch version.
* | | | Merge branch 'equix-hashx-bump' into 'main'Clara Engler2026-01-132-88/+88
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cargo: Update equix and hashx bench See merge request tpo/core/arti!3579
| * | | | cargo: Update equix and hashx benchClara Engler2026-01-132-88/+88
| |/ / / | | | | | | | | | | | | This commit runs `cargo update` on the respective crates.
* | | | Merge branch 'releasedate' into 'main'Clara Engler2026-01-131-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | arti-client: Update release date See merge request tpo/core/arti!3581
| * | | arti-client: Update release dateClara Engler2026-01-131-1/+1
|/ / /
* | | Merge branch 'relnotes' into 'main'Clara Engler2026-01-131-2/+257
|\ \ \ | | | | | | | | | | | | | | | | changelog: Release notes for Arti 1.9.0 See merge request tpo/core/arti!3578