summaryrefslogtreecommitdiff
path: root/crates/arti-client/src
Commit message (Collapse)AuthorAgeFilesLines
* release: Update release date.wesleyac2025-10-021-1/+1
| | | We plan to release on Monday.
* release: Update release date.Wesley Aptekar-Cassels2025-10-021-1/+1
|
* Remove "doc_auto_cfg" incantation from all crates.Nick Mathewson2025-09-291-1/+1
| | | | This feature has been removed from nightly, in favor of doc_cfg.
* opentelemetry: Add some instrument macros.Wesley Aptekar-Cassels2025-09-241-1/+14
| | | | | I've added these in places that are useful for the debugging that I've been doing.
* arti-client: add doc comments to `TorClient::create_onion_service()`Steven Engler2025-09-231-0/+14
|
* tor-dircommon: Implement proposal 330Clara Engler2025-09-161-18/+10
| | | | | | | This commit implements proposal 330 in the context of `tor-dircommon`, by replacing the single `Authority` structure used in a list context by a single structure called `AuthorityContacts` which contains all v3idents, upload, download, and vote endpoints in one central place.
* Move `FallbackDir` into `tor-dircommon`Clara Engler2025-09-111-2/+2
|
* Move `DirTolerance` into `tor-dircommon`Clara Engler2025-09-091-4/+3
| | | | | This commit moves the `DirTolerance` structure from `tor-dirmgr` into `tor-dircommon`.
* Move `DownloadSchedule` into `tor-dircommon`Clara Engler2025-09-081-3/+5
| | | | | This commit moves the `DowenloadSchedule` related types from `tor-dirmgr` into `tor-dircommon`.
* Move `NetworkStatus` to `tor-dircommon`Clara Engler2025-09-081-2/+2
| | | | | | This commit moves `NetworkStatus` from `tor-dirmgr::config` to `tor-dircommon::config` in order to start the work on a common place for configuration options shared by both directory implementations.
* tor-dircommon: Add dirports field to authorityClara Engler2025-09-021-2/+16
|
* tor-dircommon: Initial commitClara Engler2025-09-021-3/+4
| | | | | | | | | | | | | | This commit initializes the `tor-dircommon` crate: A crate serving the purpose to form an umbrella for the lowest common denominator primitives found across crates implementing (parts of) the directory specification. For now, the only such primitive is the found within the `authority` module, which has been refactored from `tor-dirmgr` into this crate, alongside additional getter functions due to the lack of `pub(crate)` in this context. In the future, we may move further primitives away from `tor-dirmgr` into `tor-dircommon`.
* fix documentation for StreamPrefs::connect_to_onion_services to match ↵Aiden McClelland2025-08-281-8/+1
| | | | | | changes in !2506 Signed-off-by: Aiden McClelland <[email protected]>
* Run "update-release-date"Nick Mathewson2025-08-281-1/+1
|
* Merge branch 'smol-add-impl-in-tor-rtcompat' into 'main'opara2025-08-211-1/+1
|\ | | | | | | | | smol: Implement smol in tor-rtcompat See merge request tpo/core/arti!2986
| * smol: Implement smol in tor-rtcompatNiel Duysters2025-08-211-1/+1
| |
* | chanmgr: Add KeyMgr to channel builderDavid Goulet2025-08-201-0/+1
| | | | | | | | | | | | | | This is so a relay can build authenticated channels. Several keys/cert are required for this that are within the key manager. Signed-off-by: David Goulet <[email protected]>
* | Add a few unit tests for create_unbootstrapped_async.Nick Mathewson2025-08-191-0/+49
| | | | | | | | | | | | Closes #2121 Co-Authored-by: thesw4rm
* | proto: Move the `stream` module under `client` (breaking).Gabriela Moldovan2025-08-183-3/+3
|/ | | | | | | | | | | | The `stream` module is client-specific, for the most part, so I am moving it under `client`. Later on, we will factor out the parts that can be shared with the relay implementation. Note: this is a breaking change as the deleted `stream` module was `pub`. We could've kept the module and reexported from it the public types from `tor_proto::client::stream`, but I think it's better to have this `client` namespacing, because it makes the separation between the client and relay parts clearer.
* Resolve a rustdoc warningNick Mathewson2025-08-071-1/+1
| | | | | `Future` is now in the prelude, so we don't have to give it an explicit path.
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-077-27/+40
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* Update code for Edition 2024Nick Mathewson2025-08-071-3/+5
| | | | | | | | | | | | | | | | | | 1. Run cargo fix --edition 2. Selectively revert the "if let"->"match" changes. These changes are meant to protect us from the lifetime changes for "if let" bindings in Rust 2024. But we're not actually relying on the old lifetime rules anywhere, and the match syntax here is quite ugly. 3. Automatically revert `$pat:expr_2021` to `$pat:expr`. (We don't actually want to restrict the expression syntax that our macros accept). Done with `git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'` 4. Run cargo fmt.
* arti-client: Fix test for FlowCtrl=2.Nick Mathewson2025-08-061-3/+3
| | | | | (It is possible for arti-client to have flowctl-cc disabled, but for tor-proto to have it enabled.)
* tor_proto: add FLOWCTRL_CC to supported_client_protocolsNick Mathewson2025-08-061-5/+13
| | | | | Since we now allow it to be turned on, we can include it among our supported protocols.
* arti-client: Resolve XXX to make CI run.Gabriela Moldovan2025-08-051-23/+26
|
* arti-client: Use the new Tunnel interfaceDavid Goulet2025-08-052-26/+34
| | | | Signed-off-by: David Goulet <[email protected]>
* hs: Use the new Tunnel interface for onion serviceDavid Goulet2025-08-051-1/+1
|
* Update the release dateIan Jackson2025-08-051-1/+1
|
* Use new DisplayRedacted/DebugRedacted code for HsId.Nick Mathewson2025-07-312-8/+10
| | | | Closes #2012.
* Merge branch 'configuration-sources-pub' into 'main'Alexander Hansen Færøy2025-07-301-1/+1
|\ | | | | | | | | arti-client: Re-export `ConfigurationSources` See merge request tpo/core/arti!3044
| * arti-client: Re-export `ConfigurationSources`Clara Engler2025-06-111-1/+1
| | | | | | | | | | | | | | This commit re-exports `ConfigurationSources` in `arti_client::config`. The similar `ConfigurationSource` is already publicly exported, but it unfortunately it is pretty useless without a `ConfigurationSources` to which it belongs.
* | arti-client: Update release date.Gabriela Moldovan2025-07-071-1/+1
| |
* | Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | | | | | See #2060.
* | arti: Add keys list and keys list-keystoreshjrgrn2025-06-121-0/+8
|/
* release: Update ARTI_CLIENT_RELEASE_DATE using `maint/update-release-date`.Alexander Hansen Færøy2025-06-051-1/+1
|
* Merge branch 'clean-implement-haskind-for-toraddrerror' into 'main'David Goulet2025-05-052-3/+28
|\ | | | | | | | | TODO: Implement HasKind trait for TorAddrError See merge request tpo/core/arti!2965
| * Fix formatting in test_error_kind functionVijaya Bhaskar2025-04-271-1/+4
| |
| * Implement HasKind trait for TorAddrErrorVijaya Bhaskar2025-04-272-3/+25
| | | | | | | | | | | | | | | | | | This commit implements the HasKind trait for TorAddrError in address.rs, mapping all variants to the InvalidStreamTarget error kind. It also updates the ErrorDetail implementation in err.rs to delegate to TorAddrError's HasKind implementation instead of hardcoding the error kind. Resolves TODOs in address.rs and err.rs.
* | release: Update release date.Wesley Aptekar-Cassels2025-05-011-1/+1
|/ | | | Done via `./maint/update-release-date`.
* arti-client: remove incorrect note about `StateDirectory` usageSteven Engler2025-04-231-1/+0
|
* Rename recommended_protocols to protocol_statuses.Nick Mathewson2025-04-161-3/+3
| | | | | This name reflects its purpose better than the original one, since it includes required protocols as well as recommended ones.
* arti-client: Document spec of checking date on cached protosNick Mathewson2025-04-161-3/+6
| | | | | Also move the comment outside the block it documents, to prevent a too-long line.
* arti-client: On shutdown for missing proto, print to stderrNick Mathewson2025-04-161-1/+17
| | | | Also wait a little so logs can flush.
* protover, *: Add documentation about what "supported" means.Nick Mathewson2025-04-161-1/+1
|
* arti-client: Small test for evaluating protocol status.Nick Mathewson2025-04-161-0/+69
|
* arti,arti-client: Add an option to override required protocolsNick Mathewson2025-04-164-6/+77
| | | | | (This isn't a boolean, because we really don't want people ignoring all possible required protocols.)
* arti-client: Keep a somewhat accurate notion of our release date.Nick Mathewson2025-04-163-3/+39
| | | | | | | | | This doesn't need to be perfect, but we need to use it to see if a consensus is new enough that we should obey its recommendations. This commit also adds a script to update or check our release date, and calls this script from our cargo-publish script.
* Add warnings about removing supported protocols.Nick Mathewson2025-04-161-0/+3
|
* arti-client: Implement the basics of protocol enforcement.Nick Mathewson2025-04-165-2/+266
| | | | This is the major part of #1849.
* New functions to report supported subprotocolsNick Mathewson2025-04-161-0/+98
| | | | | | | | | | | | | | | Part of #1849. Note that these functions are distributed across crates, so that if (in the future) we stop doing API breaks with every release, we will get the right outputs. Note also that these functions build the list of protocols out of specific symbolic features, rather than numbers: this makes it easier to avoid errors about "which feature was Relay=4 again", and easier to avoid accidentally referring to a protocol that doesn't exist, like "Consensus" (should be "Cons") or "HsDir" (case is wrong).